In einem ansonsten guten Artikel Fehlerbehebung: Herstellen einer Verbindung zu SQL Server Wenn Systemadministratoren gesperrt sind , teilt uns der Autor mit, dass wir nur noch die Kontrolle über unseren SQL Server erlangen müssen
"Starten Sie die Instanz von SQL Server im Einzelbenutzermodus mit den Optionen -m oder -f. Jedes Mitglied der lokalen Administratorgruppe des Computers kann dann als Mitglied der festen Serverrolle sysadmin eine Verbindung zur Instanz von SQL Server herstellen. ""
Leider ist es nicht intuitiv, im Einzelbenutzermodus zu starten. Zumindest meiner Erfahrung nach hat die Mitgliedschaft in der lokalen Administratorgruppe meines Computers meinem "Benutzer" -Konto keinen Systemadministratorstatus verliehen.
Diese Geschichte hatte begonnen, als ich ein Problem der Mitgliedschaft in meiner Domain durch einen Nicht-DC-Server (eine Folge des ISP-Wechsels) ansprach. Ich baute den DC ab 2008 in Windows Server 2008 R2 um. Dies löste einige kleinere Probleme, ging aber nicht auf die Frage der Mitgliedschaft durch den fehlerhaften Server. Um dies zu erreichen, war eine in ServerFault vorgeschlagene Korrektur erforderlich (in meinem Fall mussten Winsock und TCPIP zurückgesetzt werden).
SQL Server 2008 befindet sich auf diesem zweiten Server, der jetzt Mitglied der Domäne ist. Hier ist das Problem. Wie jemand in ServerFault betont, ist es üblich, bei der Installation von Server 2008 die Option "Lassen Sie den aktuellen Benutzer als Systemadministrator werden" zu drücken. Häufig wird auch niemand anderes berücksichtigt. Da diese Einzelbenutzeridentität ein Domänenmitglied einer Domäne war, die nicht mehr vorhanden war, hatte niemand die Berechtigung, SQL Server zu verwalten.
Ich habe mich als lokaler Serveradministrator angemeldet, der bei der Installation von SQL Server vorhanden war. Obwohl dies mir den Zugriff auf das Management Studio ermöglichte, stellte ich schnell fest, dass BUILTIN \ Administrators nur die "öffentliche" Serverrolle hatte.
Nach vielen Recherchen und Experimenten stieß ich auf einen Artikel, in dem die Besonderheiten der Einzelbenutzeranmeldung angegeben wurden : http://technet.microsoft.com/en-us/library/ms180965.aspx :
C:\>cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn
C:\...>sqlservr.exe -m
Um sich auf diesen Schritt vorzubereiten, müssen Sie SQL Server herunterfahren (der in den meisten Fällen standardmäßig ausgeführt wird). Verwenden Sie SQL Configuration Manager, um "SQL Server" zu stoppen.
Navigieren Sie dann an einer Eingabeaufforderung zu diesem Speicherort der Programmdatei (oder einem entsprechenden Speicherort auf Ihrem Computer) und geben Sie den Befehl "sqlservr.exe -m" aus. Wenn an Ihrer Eingabeaufforderung ein Aktivitätsstrom protokolliert wird, sind Sie erfolgreich. Wenn es nicht gestartet werden kann, wird SQL Server wahrscheinlich bereits ausgeführt. Schalten Sie ihn aus.
Ermöglichen Sie der Einzelbenutzerinstanz, ihre Datenbanken anzuhängen. Wenn die Protokollaktivität beendet ist, öffnen Sie Management Studio. Sie befinden sich automatisch im Einzelbenutzermodus, und daher ist jedes Konto, das Sie vertreten, ein Systemadministrator. Verwenden Sie diese Funktion, um Sicherheitsanmeldungen und Serverrollen anzupassen.
In meinem Fall musste ich die Domänenkonten in der neuen Domäne neu erstellen, dann ihre Namensvetter in SQL Server löschen und sie (aufgrund der SID / GUID-Situation) rekonstruieren und die Berechtigungen nach Bedarf bestimmten Datenbanken neu zuweisen.