J'ai installé SQL Server 2008 R2 sur ma machine locale. Mais, je ne peux pas créer une nouvelle base de données en raison de droits (ou de l'absence de).
"CRÉER UNE PERMISSION DE BASE DE DONNÉES REFUSÉE"
J'ai donc essayé d'attribuer les privilèges d'administrateur à ma connexion actuelle
"L'utilisateur n'est pas autorisé à effectuer cette action."
J'ai également essayé de créer une nouvelle connexion qui aurait des privilèges d'administrateur mais sans chance. Comment m'octroyer des droits d'administrateur afin de pouvoir créer une base de données? Je peux réinstaller, mais je préfère ne pas le faire.
sql
sql-server
sql-server-2008
ssms
sqlcmd
SkonJeet
la source
la source
Réponses:
Oui - il semble que vous ayez oublié de vous ajouter au rôle sysadmin lors de l'installation de SQL Server. Si vous êtes un administrateur local sur votre ordinateur , ce billet de blog peut vous aider à utiliser SQLCMD pour intégrer votre compte dans le groupe sysadmin de SQL Server sans avoir à réinstaller. C'est un peu une faille de sécurité dans SQL Server, si vous me le demandez, mais cela vous aidera dans ce cas.
la source
Ouvrez une fenêtre d'invite de commandes. Si vous disposez déjà d'une instance par défaut de SQL Server, exécutez la commande suivante à l'invite de commandes pour arrêter le service SQL Server:
Allez maintenant dans le répertoire où le serveur SQL est installé. Le répertoire peut par exemple être l'un de ceux-ci:
Identifiez votre répertoire MSSQL et entrez-y
CD
en tant que tel:Exécutez maintenant la commande suivante pour démarrer SQL Server en mode mono-utilisateur. Comme cela
SQLCMD
est spécifié, une seuleSQLCMD
connexion peut être établie (à partir d'une autre fenêtre d'invite de commandes).Maintenant, ouvrez une autre fenêtre d'invite de commandes avec le même utilisateur que celui qui a démarré SQL Server en mode mono-utilisateur ci-dessus, et dans celle-ci, exécutez:
Et appuyez sur Entrée. Vous pouvez maintenant exécuter des instructions SQL sur l'instance SQL Server exécutée en mode mono-utilisateur:
Source .
MISE À JOUR N'oubliez pas de point-virgule après
ALTER SERVER ROLE [sysadmin] ADD MEMBER [<<DOMAIN\USERNAME>>];
et n'ajoutez pas de point-virgule supplémentaire aprèsGO
ou la commande ne s'exécute jamais.la source
ALTER SERVER ROLE
. par exempleALTER SERVER ROLE [sysadmin] ADD MEMBER [domain\username]
GO;
à la finJ'ai adopté une base de données SQL 2012 où je n'étais pas administrateur système mais administrateur de la machine. J'ai utilisé SSMS avec "Exécuter en tant qu'administrateur", ajouté mon compte NT comme connexion SQL et défini le rôle serveur sur sysadmin. Aucun problème.
la source
Voici un script qui prétend pouvoir résoudre ce problème.
Obtenez des droits d'administrateur sur votre SQL Server Express local avec ce script simple
Télécharger le lien vers le script
Remarque: Vous devrez fournir le fichier BAT avec un 'Nom d'instance' (probablement 'MSSQLSERVER' - mais ce n'est peut-être pas le cas): vous pouvez obtenir la valeur en exécutant d'abord ce qui suit dans la "Microsoft SQL Server Management Console ":
Copiez ensuite le résultat à utiliser lorsque le fichier BAT demande «Nom de l'instance SQL».
la source
Microsoft ® Windows Based Script Host
sinon ce vaudou ne fonctionnera pas (j'avais mappé le mien à notepad.exe).Microsoft a un article sur ce problème. Il parcourt tout cela étape par étape.
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/connect-to-sql-server-when-system-administrators-are-locked-out
En bref, il s'agit de démarrer l'instance de sqlserver avec
-m
comme toutes les autres réponses le suggèrent. Cependant, Microsoft fournit des instructions un peu plus détaillées.la source
Il suffit en fait d'ajouter -m aux paramètres de démarrage sur Sql Server Configuration Manager, de redémarrer le service, d'accéder à ssms et d'ajouter une case à cocher sysadmin sur votre compte, puis de supprimer -m restart et de l'utiliser comme d'habitude.
Options de démarrage du service du moteur de base de données
la source