Wie kann ich mich zur Windows-Authentifizierung meines lokalen SQL-Servers hinzufügen?

8

IT hat kürzlich meinen Laptop mit 64-Bit-Fenstern neu eingerichtet. Er hat die SQL Server Dev Edition für mich installiert und mit einem Benutzernamen und einem Passwort eingerichtet. Ich habe mich angemeldet und versucht, SQL Server auf Windows-Authentifizierung umzustellen, SQL Server neu gestartet, und jetzt kann ich mich nicht mehr mit meinem Domänenkonto anmelden.

Ich habe versucht, mich zu den Gruppen SQLServerSQLAgentUser und SQLServerMSSQLUser auf meinem lokalen System hinzuzufügen, aber SQL Server sagt immer noch, dass mein Domänenkonto nicht autorisiert ist. Mein Konto ist ein lokaler Systemadministrator.

Wie kann ich SQL Server dazu bringen, mich anzumelden?

KallDrexx
quelle
Sie sollten die genaue Fehlermeldung posten.
Justin Helgerson
Die Fehlermeldung lautet nur "Anmeldung für Benutzer fehlgeschlagen" DOMAIN \ user ""
KallDrexx
Welche Version von SQL Server verwenden Sie?
Justin Helgerson
SQL Server 2008 R2
KallDrexx
1
Ich habe gefragt, weil dem lokalen Administratorkonto vor 2008 standardmäßig Zugriff auf Datenbanken gewährt wurde. Dieses Verhalten hat sich jedoch 2008 geändert ( msdn.microsoft.com/en-us/library/cc280562.aspx ).
Justin Helgerson

Antworten:

2

Leider denke ich, dass Sie entweder:

  1. Lassen Sie Ihren lokalen und geliebten IT-Freund sich bei der Datenbank anmelden und Ihr Konto korrekt einrichten.
  2. Installieren Sie SQL Server unter Ihrem Konto neu, damit Ihnen automatisch Anmeldeberechtigungen erteilt werden.

Wenn Sie keinen Zugriff auf die Datenbank haben, können Sie die Sicherheit nicht aktualisieren, um sich selbst Berechtigungen zu erteilen.

Um sich bei Ihrem SQL Server anzumelden (einzelne Datenbankberechtigungen fehlen möglicherweise noch), muss die Sicherheitsanmeldung mit Windows authenticationausgewählt erstellt werden. Anschließend lautet der Name des Domänenkontos Login name.

Geben Sie hier die Bildbeschreibung ein

Justin Helgerson
quelle
Ich dachte, das wäre der Fall. Ich ging zur IT und ließ den lokalen Administrator, mit dem er den SQL Server eingerichtet hatte, das sa-Passwort zurücksetzen. Ich dachte, da ich ein lokaler Administrator war, könnte ich es einrichten, aber ich denke nicht. Ich kann nicht herausfinden, wie ich mein Domain-Konto für Windows-Authentifizierung erkennen kann.
KallDrexx
Sie sehen die Server- Anmeldungen korrekt und nicht die Datenbank-Anmeldungen? Ich habe ein Bild hinzugefügt, um zu zeigen, wo Sie die Serveranmeldung konfigurieren sollten.
Justin Helgerson
Ah, ich habe mir die Servereigenschaften angesehen, nicht den neuen Anmeldebildschirm! Vielen Dank!
KallDrexx
18

Und auch, da Sie ein lokaler Administrator sind.

Folgen Sie den Anweisungen von Microsoft Schritt für Schritt: http://msdn.microsoft.com/en-us/library/dd207004.aspx oder wie folgt :

Beenden Sie den SQL Server-Dienst.

Öffnen Sie eine Eingabeaufforderung als Administrator und navigieren Sie zum Ordner SQL Server binn (standardmäßig C: \ Programme \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Binn).

Starten Sie den SQL Server im Einzelbenutzermodus über die Konsolenausgabe

sqlservr.exe -c -m

Starten Sie dann SSMS oder SQLCMD als Administrator, stellen Sie eine Verbindung her und führen Sie die folgende Abfrage aus:

LOGIN [DOMAIN \ USER] AUS FENSTERN ERSTELLEN

GEHEN

EXEC master..sp_addsrvrolemember @loginame = N'DOMAIN \ USER ', @rolename = N'sysadmin'

GEHEN

Spörri
quelle
1
Shawns Antwort hat bei mir nicht funktioniert. Dieser tat es. +1
Antony Koch
1
Richtige Antwort !
AnujKu
8

Da Sie ein lokaler Administrator sind, können Sie die Backdoor zur SQL Server-Instanz verwenden, um Zugriff zu erhalten.

Laden Sie psexec.exe herunter (PSTools von TechNet hier ).

Gehen Sie zu einer Eingabeaufforderung und zu dem Verzeichnis, in das Sie die Datei extrahiert haben (psexec.exe). Führen Sie den Befehl psexec.exe -i -s ssms.exeoder psexec.exe -i -s sqlwb.exefür SQL 2005 aus.

Dadurch wird SSMS als NT AUTHORITY \ SYSTEM-Konto geöffnet, dem standardmäßig SYSADMIN-Rechte für die Instanz erteilt werden. Sie sollten dann in der Lage sein, Ihr Login zur Instanz hinzuzufügen. Wenn dies nicht funktioniert, wurde wahrscheinlich die Berechtigung für das Systemkonto entfernt.

HINWEIS: Wenn Sie unter Vista oder Windows 7 arbeiten, müssen Sie wahrscheinlich die Eingabeaufforderung als Administrator ausführen (klicken Sie mit der rechten Maustaste auf "Als Administrator ausführen").

Zweiter Hinweis: Dies funktioniert unter SQL Server 2012 oder höher nicht, da die integrierte Administratorgruppe standardmäßig nicht mehr als Systemadministrator hinzugefügt wird. Die Ausnahme könnte sein, wenn Sie mit einem direkten Upgrade essen.


quelle
2
Das ist böser Arsch! Wie hat dich noch niemand gewählt?! @KallDrexx du solltest das wirklich als Antwort markieren.
Chris
@ Chris ist richtig, das funktioniert wirklich gut!
CLJ
NT AUTHORITY \ SYSTEM funktioniert gut, wenn Sie 2008R2 oder niedriger verwenden. Bei der Standardinstallation ab 2012 erhält das Systemkonto keinen Zugriff auf das Datenbankmodul.
Spörri
0

Sollten Sie sichergestellt haben, dass Ihr Windows-Konto über ausreichende Berechtigungen zum Anmelden verfügt, bevor Sie es in Windows Auth geändert haben?

Kafka
quelle
Ja, ich hätte es tun sollen , aber ich dachte, dass alle lokalen Administratoren Zugang haben würden, also habe ich nicht darüber nachgedacht.
KallDrexx