Meine Frage ist, wenn Sie ein neues Domänenbenutzerkonto für jeden der SQL Server-Prozesse erstellen, welche Berechtigungen sollten für jedes Konto festgelegt werden? Oder kümmert sich der SQL-Konfigurationsmanager tatsächlich darum, und ich hatte gerade ein unvorhergesehenes Problem?
Ich muss häufig Microsoft SQL Server einrichten und habe mich gefragt, ob jemand Ratschläge zur Konfiguration der Konten geben kann, unter denen die Dienste ausgeführt werden sollen. IMO dies wurde vage von Microsoft dokumentiert, während sie Sie in die richtige Richtung weisen Ich habe nie in der Lage, konkrete Beispiele zu finden.
Um zusammenzufassen, was ich bisher gesehen habe:
Für einfache Bereitstellungen \ Entwicklungsumgebungen ist es in Ordnung, die vom Installationsprogramm verwendeten Standardeinstellungen für virtuelle Konten zu verwenden: z NT SERVICE\MSSQLSERVER
Vermeiden Sie die Verwendung des SYSTEM
Kontos, dies ist nicht sicher.
Für die Produktion und in Domänenumgebungen wird empfohlen, entweder ein verwaltetes Dienstkonto zu verwenden oder für jeden Dienst ein Domänenbenutzerkonto (kein Administrator) zu erstellen. Wenn Sie zum Zeitpunkt der Installation ein Domänenkonto verwenden, wird das Installationsprogramm angeblich die erforderlichen Berechtigungen für Sie festlegen.
Wenn Sie das Dienstkonto einer vorhandenen Installation von einem virtuellen Konto in ein Domänenkonto ändern, wird empfohlen, die neuen Dienstkonten mit dem SQL Server-Konfigurationsmanager festzulegen. Angeblich werden dadurch alle erforderlichen Berechtigungen für Sie festgelegt.
Ich habe gerade versucht, das Dienstkonto in einer vorhandenen Installation in ein Domänenkonto zu ändern, und es führte zu einem Anmeldefehler, bis ich die Kontoberechtigung log on as service
erteilte. Dies widerspricht dem Teil, in dem der SQL Server-Konfigurationsmanager die erforderlichen Berechtigungen festlegt. (Obwohl ich nicht sicher bin, ob ein Gruppenrichtlinienobjekt möglicherweise das Festlegen dieser lokalen Sicherheitsrichtlinie beeinträchtigt hat)
Microsoft stellt eine Liste der Berechtigungen bereit, die das SQL Server-Setup auf dieser Seite gewährt .
Mir ist jedoch nicht klar, ob ich dies manuell für den Benutzer tun soll, unter dem ich den Dienst erstelle, oder ob die Verwendung des SQL-Konfigurationsmanagers diese Berechtigungen automatisch festlegen soll.
SQL Server 2014, Domänencontroller ist auf Windows Server 2008 R2.
quelle
Antworten:
Es ist tatsächlich ziemlich ausführlich dokumentiert: http://msdn.microsoft.com/en-us/library/ms143504.aspx
Gibt es einen Teil, bei dem Sie sich nicht sicher sind?
Dies wird von der Umgebung abhängen. Ich persönlich hasse es, einen Server zu finden, der über ein lokales Konto eingerichtet wurde, und unter anderem zu einem späteren Zeitpunkt den Zugriff auf Netzwerkressourcen zu beantragen.
Auch dies hängt davon ab, aber im Allgemeinen würde ich dem zustimmen (ein Gegenbeispiel wären Verfügbarkeitsgruppen, bei denen es sinnvoll ist, ein einziges Domänenkonto für alle Instanzen zu verwenden).
Es sei denn, es liegt ein Fehler usw. vor. Ich bin mir nicht sicher, warum der Teil "Angeblich".
Verwenden Sie immer SSCM, wenn Sie Dienste für SQL Server ändern. Immer. Zeitraum. Hiermit werden die Berechtigungen für das neue Konto auf die Grundeinstellungen festgelegt. Wenn vor der Verwendung des lokalen Systemkontos eine uneingeschränkte Berechtigung für alles auf dem System vorhanden war, würde ich erwarten, dass die Berechtigungen nach der Änderung aufgrund strenger kontrollierter Sicherheit fehlschlagen. Dies ist kein SQL Server SSCM-Fehler, sondern ein Administratorfehler, da keine ordnungsgemäßen EXTRA-Berechtigungen erteilt wurden (z. B. Zugriff auf eine Netzwerkfreigabe, eingeschränkte Ordner, Elemente außerhalb des SQL Server-Installationsbereichs usw.).
Klingt so, als ob ein Gruppenrichtlinienobjekt ein Problem verursacht (IMHO). Wäre nicht das erste mal :)
Ich würde explizit alle Berechtigungen festlegen, die nicht in dem oben angegebenen msdn-Link enthalten sind (auch von @joeqwerty und in Ihrem OP angegeben). Zum Beispiel in einem "Backup" -Ordner auf einer Netzwerkfreigabe, auf einem neuen Laufwerk, das hinzugefügt wurde, um neue Datenbanken aufzunehmen (wo Setup bereits ausgeführt wurde, das Laufwerk jedoch nicht vorhanden war) usw.
Sofern mit dem Server nichts extrem kaputt geht, sollten diese nicht manuell angegeben werden müssen.
quelle