Ich verwende SQL Server 2008 Management Studio. Das aktuelle Anmeldekonto gehört zur lokalen Administratorgruppe des Computers. Ich verwende den integrierten Windows-Sicherheitsmodus in SQL Server 2008.
Mein Problem ist, dass ich nach der Anmeldung bei SQL Server Management Studio meinen Anmeldenamen unter Sicherheit / Anmeldungen auswähle, dann die Registerkarte Serverrollen auswähle und dann das letzte Element auswähle - sysadmin, um mich zu dieser Gruppe / Rolle zu machen, aber es heißt ich habe nicht genug Erlaubnis. Irgendwelche Ideen, was ist falsch? Ich denke, der lokale Administrator sollte in der Lage sein, alles zu tun. :-)
sql-server
security
sql-server-2008
George2
quelle
quelle
Antworten:
Die Anmeldung der Sitzung, in der Sie Berechtigungen festlegen möchten, muss über Berechtigungen verfügen.
Das von Ihnen verwendete Login ist also ein lokaler Administrator? Dies bedeutet, dass die lokale Administratorgruppe nicht über genügend Rechte verfügt.
Die GUI führt auch dieses sp_addsrvrolemember aus . Obwohl dies sagt
Die lokale Administratorgruppe ist also kein Mitglied von sysadmin.
Bearbeiten:
So lösen Sie: Verwenden Sie ein Login mit Rechten. Sie können eine mit sp_helpsrvrolemember finden
quelle
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
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 :
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.
quelle
Das stimmt, ABER in diesem Fall können Sie sich von dieser Situation erholen, indem Sie den SQL Server-Dienst im Einzelbenutzermodus (Notfallmodus) starten, und jeder lokale Administrator kann sich anmelden.
Siehe MSDN .
quelle
Standardmäßig fügt SQL der Sysadmin-Rolle die Gruppe BUILTIN \ Administrators hinzu. Dies bedeutet, dass jeder lokale NT-Administrator automatisch ein SQL-Sysadmin ist. Unter Vista müssen Sie aufgrund der Benutzerkontensteuerung im Administratormodus ausgeführt werden, um von dieser Berechtigung zu profitieren.
quelle
Standardmäßig fügt SQL Server 2008 BUILTIN \ Administrators nicht mehr als Mitglieder der festen Serverrolle sysadmin hinzu. Wenn Sie das Installationsprogramm durchlaufen, werden Sie gefragt, welches Konto oder welche Konten über Systemadministratorrechte verfügen sollen. Es gibt eine Schaltfläche mit der Aufschrift "Mach mich zu einem Systemadministrator", mit der das Konto des Benutzers, der die Installation durchführt, als Systemadministrator hinzugefügt wird.
Wenn sie keine anderen Benutzer als Sysadmins hinzugefügt haben, ist derzeit nur dieser Benutzer ein Sysamdin. Diese Person muss sich beim SQL Server anmelden und den DBA-Systemadministratorrechten gewähren.
quelle
Nach einer Neuinstallation habe ich über dasselbe Problem nachgedacht, bis ich den Server unter SQL Server 2008 registriert habe. Dann lief alles so, wie es sollte
quelle