Fügen Sie den aktuellen Administratorbenutzer zu SQL Server Express 2008 hinzu

Fügen Sie den aktuellen Administratorbenutzer zu SQL Server Express 2008 hinzu

Ich habe es geschafft (in 'experimenten'), meine beiden Windows-Benutzer aus meiner SQL Express-Instanz zu entfernen. Ich bin jetzt als Windows-Administrator angemeldet und habe den entsprechenden SQL-Login neu erstellt, kann aber keine Sysadmin-Rechte zuweisen. Ich erhalte die Fehlermeldung:

Der Benutzer ist nicht berechtigt, diese Aktion auszuführen. (Microsoft SQL Server, Fehler: 15247)

Wenn der Administrator dazu nicht in der Lage ist, sollte ich dann nach einem kleinen Tier suchen, das ich opfern kann?

Antwort1

Möglicherweise verfügt Ihr Windows-Administratorkonto nicht über Administratorrechte. Dies hängt von Ihren Einstellungen ab. Sie müssen sich mit einem Konto anmelden, das über die entsprechenden Rechte verfügt, oder sich als SA-Benutzer anmelden.

Wenn Sie die SQL-Authentifizierung nicht aktiviert haben, können Sie sie mit einer Registrierungsanpassung aktivieren. Ich denke, dies ist der richtige Schlüssel:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<<instance name>>\MSSQLServer\Loginmode

Es sollte auf den gemischten Modus (2) eingestellt sein, aber Sie müssen natürlich trotzdem wissen, wie das SA-Passwort lautete, als Sie die Instanz installiert haben.

Antwort2

Auf CodePlex gibt es ein Skript, das die Wiederherstellung nach dem Verlust der Sysadmin-Rechte für Ihre lokale SQL Server-Instanz automatisiert, vorausgesetzt, Sie haben Zugriff auf ein Windows-Administratorkonto:

http://code.msdn.microsoft.com/addselftosqlsysadmin/

Antwort3

Aktualisieren Sie die Startberechtigungen des Dienstes der SQL Server-Instanz, sodass sie „-m“ oder „-m"Microsoft SQL Server Management Studio – Query" einschließen, wenn Sie SSMS lieber als sqlcmd/osql verwenden möchten.

Verwenden Sie dann diesen Befehl, um eine Verbindung über eine Befehlszeile herzustellen:

sqlcmd -E -S HOSTNAME\INSTANCENAME

Oder stellen Sie eine Verbindung über SSMS her mit:

\\.\pipe\hostname\instancename\sql\query

Und verwenden Sie dies, um Ihren Login und Ihre Rolle hinzuzufügen:

CREATE LOGIN [domain\username] FROM WINDOWS;
GO
EXEC sp_addsrvrolemember 'domain\username', 'sysadmin';
GO

Anschließend können Sie die Option „-m“ für den Dienst entfernen und ihn normal starten.

Sehenhttp://msdn.microsoft.com/en-us/library/ms188236.aspxfür Details.

verwandte Informationen