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”.
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”:
sa-Konto mit neuem Kennwort versehen …
… 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 …
… und dann unter “Serverrollen” die Rolle “sysadmin” zuweisen.
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
Verwandte Beiträge:
- Automatische Backups für SQL Server Express
Die Express-Edition des SQL Server 2005 erfreut sich ähnlich großer Beliebtheit wie ihre Vorgängerin MSDE. Der Grund liegt auf der... - SQL Server 2008: Admins haben keine sysadmin-Rechte
Mit SQL Server 2008 hat Microsoft das Sicherheitsmodell seines Datenbankservers geändert. Anders als zuvor, sind lokale Administratoren des Servers nun... - sa-Konto absichern
Eigentlich ist es seit Jahren bekannt …… aber immer wieder gibt es Probleme damit: Das Passwort des internen SA-Kontos. Dieses... - Wie kann man einen DHCP-Server unter Windows ausfallsicher gestalten?
Der erste Gedanke zielt an dieser Stelle meist in Richtung eines Cluster-Systems. Nachteile: Kosten und Komplexität. Wem das zu aufwändig... - Windows Server Backup verstehen und nutzen
Windows Server Backup ist das Werkzeug, das seit Windows Server 2008 zur Datensicherung mitgeliefert wird. Es unterscheidet sich in vielen...
http://faq-o-matic.net/?p=1771



Kategorie:
Translate EN

