Ich habe SQL Server 2008 R2 auf meinem lokalen Computer installiert. Ich kann jedoch aufgrund von Rechten (oder fehlenden Rechten) keine neue Datenbank erstellen.
"ERSTELLUNG DER DATENBANKERLAUBNIS VERWEIGERT"
Daher habe ich versucht, meinem aktuellen Login die Administratorrechte zuzuweisen
"Der Benutzer hat keine Berechtigung zum Ausführen dieser Aktion."
Ich habe auch versucht, ein neues Login zu erstellen, das Administratorrechte hat, aber ohne Glück. Wie erteile ich mir Administratorrechte, damit ich eine Datenbank erstellen kann? Ich kann neu installieren, aber ich bevorzuge es nicht.
sql
sql-server
sql-server-2008
ssms
sqlcmd
SkonJeet
quelle
quelle
Antworten:
Ja, anscheinend haben Sie vergessen, sich bei der Installation von SQL Server der Sysadmin-Rolle hinzuzufügen. Wenn Sie ein lokaler Administrator auf Ihrem Computer sind, können Sie mit diesem Blogbeitrag mithilfe von SQLCMD Ihr Konto in die SQL Server-Systemadministratorgruppe aufnehmen, ohne es neu installieren zu müssen. Wenn Sie mich fragen, ist dies eine Sicherheitslücke in SQL Server, aber in diesem Fall hilft es Ihnen weiter.
quelle
Öffnen Sie ein Eingabeaufforderungsfenster. Wenn bereits eine Standardinstanz von SQL Server ausgeführt wird, führen Sie den folgenden Befehl an der Eingabeaufforderung aus, um den SQL Server-Dienst zu beenden:
Wechseln Sie nun in das Verzeichnis, in dem der SQL Server installiert ist. Das Verzeichnis kann beispielsweise eines der folgenden sein:
Finden Sie Ihr MSSQL-Verzeichnis heraus und legen Sie
CD
es als solches ab:Führen Sie nun den folgenden Befehl aus, um SQL Server im Einzelbenutzermodus zu starten. Wie
SQLCMD
angegeben, kann nur eineSQLCMD
Verbindung hergestellt werden (über ein anderes Eingabeaufforderungsfenster).Öffnen Sie nun ein anderes Eingabeaufforderungsfenster als denselben Benutzer wie den, der SQL Server im Einzelbenutzermodus oben gestartet hat, und führen Sie darin Folgendes aus:
Und drücken Sie die Eingabetaste. Jetzt können Sie SQL-Anweisungen für die SQL Server-Instanz ausführen, die im Einzelbenutzermodus ausgeführt wird:
Quelle .
AKTUALISIERT Vergessen Sie kein Semikolon nach
ALTER SERVER ROLE [sysadmin] ADD MEMBER [<<DOMAIN\USERNAME>>];
und fügen Sie kein zusätzliches Semikolon nach hinzu, daGO
der Befehl sonst nie ausgeführt wird.quelle
ALTER SERVER ROLE
. zBALTER SERVER ROLE [sysadmin] ADD MEMBER [domain\username]
GO;
am Ende hinzuzufügenIch habe eine SQL 2012-Datenbank übernommen, in der ich kein Systemadministrator, sondern Administrator auf dem Computer war. Ich habe SSMS mit "Als Administrator ausführen" verwendet, mein NT-Konto als SQL-Anmeldung hinzugefügt und die Serverrolle auf "sysadmin" gesetzt. Kein Problem.
quelle
Hier ist ein Skript, das behauptet, dies beheben zu können.
Mit diesem einfachen Skript erhalten Sie Administratorrechte für Ihren lokalen SQL Server Express
Download-Link zum Skript
Hinweis: Sie müssen der BAT-Datei einen 'Instanznamen' geben (wahrscheinlich 'MSSQLSERVER' - aber möglicherweise nicht): Sie können den Wert erhalten, indem Sie zuerst Folgendes in der "Microsoft SQL Server-Verwaltungskonsole" ausführen ":
Kopieren Sie dann das Ergebnis, das verwendet werden soll, wenn die BAT-Datei zur Eingabe des Namens der SQL-Instanz auffordert.
quelle
Microsoft ® Windows Based Script Host
sonst funktioniert dieser Voodoo nicht (ich hatte meine auf notepad.exe zugeordnet).Microsoft hat einen Artikel zu diesem Problem. Es geht alles Schritt für Schritt durch.
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/connect-to-sql-server-when-system-administrators-are-locked-out
Kurz gesagt, es geht darum, die Instanz von sqlserver mit
-m
allen anderen Antworten zu starten . Microsoft bietet jedoch etwas detailliertere Anweisungen.quelle
Es reicht tatsächlich aus, -m zu den Startparametern in SQL Server Configuration Manager hinzuzufügen, den Dienst neu zu starten, zu ssms ein Kontrollkästchen sysadmin in Ihrem Konto hinzuzufügen, dann -m Neustart erneut zu entfernen und wie gewohnt zu verwenden.
Startoptionen für den Database Engine Service
quelle