SSMS
 sql >> Base de données >  >> Database Tools >> SSMS

Comment puis-je m'accorder un accès administrateur à une instance locale de SQL Server ?

Ouvrez une fenêtre d'invite de commande. Si vous avez déjà une instance par défaut de SQL Server en cours d'exécution, exécutez la commande suivante à l'invite de commande pour arrêter le service SQL Server :

net stop mssqlserver

Allez maintenant dans le répertoire où le serveur SQL est installé. Le répertoire peut par exemple être l'un de ceux-ci :

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn

Déterminez votre répertoire MSSQL et CD en tant que tel :

CD C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn

Exécutez maintenant la commande suivante pour démarrer SQL Server en mode mono-utilisateur. Comme SQLCMD est spécifié, un seul SQLCMD la connexion peut être établie (à partir d'une autre fenêtre d'invite de commande).

sqlservr -m"SQLCMD"

Maintenant, ouvrez une autre fenêtre d'invite de commande 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 :

sqlcmd

Et appuyez sur entrée. Vous pouvez désormais exécuter des instructions SQL sur l'instance SQL Server exécutée en mode mono-utilisateur :

create login [<<DOMAIN\USERNAME>>] from windows;

-- For older versions of SQL Server:
EXEC sys.sp_addsrvrolemember @loginame = N'<<DOMAIN\USERNAME>>', @rolename = N'sysadmin';

-- For newer versions of SQL Server:
ALTER SERVER ROLE [sysadmin] ADD MEMBER [<<DOMAIN\USERNAME>>];

GO

Source .

MIS À JOUR N'oubliez pas de point-virgule après ALTER SERVER ROLE [sysadmin] ADD MEMBER [<<DOMAIN\USERNAME>>]; et ne pas ajouter de point-virgule supplémentaire après GO ou la commande ne s'exécute jamais.