Logo faq-o-matic.net
Logo faq-o-matic.net

SQL Server Express: Authentisierungsmodus umschalten

von veröffentlicht am10. September 2009, 10:24 Uhr Kurzlink und Zitatlink einblenden
Kategorie Kategorie: Sicherheit, SQL Server   Translate with Google Translate Translate EN   Die angezeigte Seite drucken

SQL Server kennt seit jeher zwei Authentisierungsmodi: “Windows-Authentifizierungsmodus” und “SQL Server- und Windows-Authentifizierungsmodus”. Während der erste nur Verbindungen mit bestehenden Windows-Logins zulässt (also nur Windows-Domänenkonten oder lokale Windows-Benutzer des Servers selbst), ist es im anderen Modus zusätzlich möglich, sich mit Konten anzumelden, die nur innerhalb des SQL Server existieren.

Da SQL-interne Konten weniger gut geschützt sind als Windows-Konten, richtet das Setup-Programm des SQL Server (auch SQL Server Express) den Authentisierungsmodus standardmäßig nur für Windows-Konten ein. Leider ist es aber so, dass viele Applikationen partout nur mit der SQL-Authentisierung arbeiten wollen (auch wenn es meist technisch keinen Grund dafür gibt). Hat man hier bei der Installation nicht aufgepasst (oder ist die SQL-Installation automatisiert durchgelaufen), so muss man den Modus nachträglich umstellen.

Die grafische Methode

Am einfachsten geht das natürlich per GUI. Je nach Situation ist das grafische Verwaltungsprogramm allerdings gar nicht installiert. Wer den SQL Server Express intensiver nutzen möchte, sollte sich daher durchaus das Express-GUI installieren.

[SQL 2005: Microsoft SQL Server Management Studio Express]
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796

[Microsoft SQL Server 2008 Management Studio Express]
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=08e52ac2-1d62-45f6-9a4a-4b76a8564a2b

Dort ruft man per Rechtsklick auf den Server dessen Eigenschaften auf.Sodann befindet sich die gesuchte Einstellung unter “Sicherheit”.

image

Wichtig: Nach dem Umstellen muss man den Dienst “SQL Server” neu starten!

Außerdem ist es nötig, das sa-Konto zu aktivieren und mit einem Kennwort zu versehen. Alternativ kann man auch ein neues Konto erzeugen.

sa-Konto aktivieren

Das geht im GUI über den Eintrag “Sicherheit/Anmeldungen”:

image

sa-Konto mit neuem Kennwort versehen …

image

… und aktivieren.

Neues SQL-Adminkonto einrichten

Auch hierzu im GUI nach “Sicherheit/Anmeldungen” navigieren und per Rechtsklick eine “Neue Anmeldung” erzeugen. Dort zunächst Name, SQL-Anmeldemodus und Kennwort wählen …

image

… und dann unter “Serverrollen” die Rolle “sysadmin” zuweisen.

image

Die nichtgrafische Methode

Wer sich die Installation des Management Studio für diesen Zweck ersparen will, hat aber auch eine Möglichkeit. Die Anleitung gilt für SQL 2005 und SQL 2008 Express.

  • Registry-Editor starten.
  • Navigieren zu: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server
  • Dort den Unterschlüssel für die gewünschte Instanz heraussuchen (in meinem Fall: MSSQL10.SQLEXPRESS).
  • darunter in den Schlüssel MSSQLServer wechseln. In den Details steht der Eintrag “LoginMode”.
  • Der Modus steht standardmäßig auf 1 (Windows-Authentisierung). Diesen ändern auf 2 (SQL- und Windows-Authrntisierung).
  • Registry-Editor beenden.
  • Dienst SQL Server neu starten.

Damit ist man aber leider noch nicht fertig. Nun muss das sa-Konto noch aktiviert und mit einem Kennwort versehen werden. Je nach Applikation kann man das sa-Konto ggf. auch inaktiv lassen und stattdessen ein neues Konto erzeugen.

sa-Konto aktivieren

Das sa-Konto kann man in SQL 2005 und SQL 2008 mit dem Kommandozeilenprogramm osql bearbeiten. Vorsicht, das ist etwas eigen.

Lautet der Name der SQL-Server-Instanz “SQLEXPRESS” (das ist Standard), so startet man osql mit folgender Kommandozeile:

osql –E –S .\SQLEXPRESS

Dann führt man dort folgende Kommandofolge aus (nur die roten Teile eintippen!):

1> ALTER LOGIN sa ENABLE
2> GO
1>
ALTER LOGIN sa WITH PASSWORD = ‚Mein geheimes Kennwort!‘
2> GO
1> quit

Nun sollte der Login als sa mit dem vergebenen Kennwort (bitte ein starkes Kennwort wählen!) möglich sein.

Neues SQL-Adminkonto einrichten

Statt den sa-Account zu nutzen, kann man auch ein neues Adminkonto erzeugen. Das geht so:

Lautet der Name der SQL-Server-Instanz “SQLEXPRESS” (das ist Standard), so startet man osql mit folgender Kommandozeile:

osql –E –S .\SQLEXPRESS

Dann führt man dort folgende Kommandofolge aus (nur die roten Teile eintippen!):

1> EXEC sp_addlogin ‚MeinAdmin‘, ‚Mein supergeheimes Kennwort!‘
2> GO
1>
EXEC sp_addsrvrolemember ‚MeinAdmin‘, ’sysadmin‘
2> GO
1> quit

Jetzt sollte man sich mit diesem neuen Konto auf SQL-Ebene anmelden können.

Referenz

[HOWTO: Configure Microsoft SQL Server for Mixed Mode Authentication – Eduzine©]
http://eduzine.edujini-labs.com/archives/24-HOWTO-Configure-Microsoft-SQL-Server-for-Mixed-Mode-Authentication.html

© 2005-2017 bei faq-o-matic.net. Alle Rechte an den Texten liegen bei deren Autorinnen und Autoren.

Jede Wiederveröffentlichung der Texte oder von Auszügen daraus - egal ob kommerziell oder nicht - bedarf der ausdrücklichen Genehmigung durch die jeweiligen Urheberinnen oder Urheber.

Das Impressum findet sich unter: http://www.faq-o-matic.net/impressum/

Danke, dass du faq-o-matic.net nutzt. Du hast ein einfaches Blog sehr glücklich gemacht!