Ich habe eine SQL Server 2012-Instanz, die als Dienst auf meinem Computer ausgeführt wird, und gemäß der Dienstseite meldet sie sich als Konto "NT Service \ MSSQLSERVER" an. Ich kann diesen Kontonamen jedoch nirgendwo anders sehen, auch nicht im Bereich "Lokale Benutzer und Gruppen" auf dem Computerverwaltungsbildschirm, da es sich, wie ein Link unten sagt, nicht um ein Benutzerkonto handelt, sondern um einen Dienstnamen in diesem Feld Microsoft hat so hilfreich "Konto" beschriftet. An diesem Punkt kann ich viele Leute sehen, die verwirrt sind.
Die Aufgabe, die ich ausführen möchte, besteht darin, Dateien mithilfe des SSMS-Dialogfelds "Sicherungsdatei suchen" wiederherzustellen, in dem ein Dialogfeld verwendet wird, das sich von den Standarddialogfeldern zum Öffnen von Windows-Dateien völlig unterscheidet, wahrscheinlich weil es einen "Remote" -Job ausführt und über das Sicherheitskontext des SQL-Servers, eine weitere Quelle der Verwirrung der Endbenutzer, von der ich hoffe, dass diese Frage zur Klärung beiträgt.
Wenn ich eine .mdf / .bak-Sicherungsdatei wiederherstellen möchte, die sich in einem meiner Ordner befindet, muss ich diesen Ordner so einstellen, dass er für alle lesbar ist. Andernfalls kann ich mit dem SQL Server "Backup suchen" nicht dorthin gelangen Datei "Fenster. Ich finde diese Idee, dass Sie eine grafische Benutzeroberfläche verwenden, die mit einem Dienst kommuniziert, der andere Benutzerkonten und Rechte als Sie hat, die niemand bei Microsoft Ihnen klar machen wollte, sehr verwirrend, selbst wenn ich jahrelange Erfahrung mit der Windows-Systemadministration habe .
Ich hoffe, ich habe einige Dokumentationsseiten für SQL Server verpasst, auf denen Sie nach der Installation einer neuen SQL Server-Instanz erfahren, wie Sie die Sicherheit einrichten können.
In Forenbeiträgen wie diesem haben sogar Microsoft-Mitarbeiter gesagt, "das ist kompliziert" und dass es sich in Denali "wieder geändert" hat. Wie funktioniert dies jetzt in SQL Server 2012 und wie kann ich der Sicherheit des SQL-Datenbankmoduls die Berechtigung zum Lesen von Dateien hinzufügen, die Benutzern gehören SID
.
quelle
Antworten:
Als Referenz ist "Denali" SQL Server 2012. In Bezug auf "Verwirrung der Endbenutzer" geht es mir nicht nur darum, ob ein Endbenutzer in Bezug auf SSMS verwirrt ist oder nicht. Microsoft hat dieses Tool nicht für den normalen Endbenutzer entwickelt, sondern für den Datenbankadministrator und / oder einen Benutzer, der eine Datenbank verwalten musste. Daher wird es eine Lernkurve mit den bereitgestellten Tools und deren Funktionsweise geben. Das Dateidialogfeld ist in SSMS seit der Veröffentlichung von SSMS mit SQL Server 2005 so. Aus diesem Grund werden die meisten T-SQL-Anweisungen zum Sichern, Wiederherstellen oder Anhängen einer Datenbank verwendet, die sie seitdem verwendet .
Um Dateisystemberechtigungen mit SQL Server zu konfigurieren, können Sie den Anweisungen von MSDN hier folgen .
Die Art und Weise, wie Dienstkonten behandelt werden, war nicht mit oder aufgrund von SQL Server verbunden, sondern aufgrund der Änderung auf Betriebssystemebene. Mit Windows Server 2008 R2 werden Dienstkonten etwas sicherer. Der Vorteil, den Sie haben, besteht darin, dass das Dienstkonto einfacher auf Ressourcen in einer Domäne zugreifen kann, selbst wenn es mit den Standardeinstellungen installiert ist. Dieser Link bietet einen ziemlich detaillierten Überblick darüber, wie Dienstkontoberechtigungen mit SQL Server 2012 behandelt werden. Ein Auszug aus dem Link finden Sie unten in den virtuellen Konten, die standardmäßig in SQL Server 2012 verwendet werden. Der Artikel enthält auch einen Link, der auf weitere Informationen eingeht Diskussion über das Service Account-Konzept mit Windows hier. Es ist von Windows Server 2008 R2, aber ich glaube, es gilt immer noch für Windows Server 2012 und wahrscheinlich für Windows Server 2012 R2.
quelle
Um die Dateien in einem anderen Ordner anzuzeigen / darauf zuzugreifen, erteilen Sie
NT SERVICE\MSSQLSERVER
Berechtigungen für den Ordner. Screenshots und die damit verbundenen Schritte finden Sie in meiner Antwort in der .bak-Datei, die in keinem Verzeichnis in SSMS sichtbar ist . (Unterscheidet sich geringfügig vom Hinzufügen normaler Benutzer- / Gruppenberechtigungen zu einem Ordner.)Ich hoffe, das hilft!
quelle
Wenn Sie versuchen, eine Wiederherstellung über SSMS durchzuführen, und über die Windows-Authentifizierung (!) Angemeldet sind, benötigt IHR Windows-Konto (und nicht "jeder") die entsprechenden Berechtigungen - NICHT den SQL Server-Dienst Konto. Hoffe, dass die Verwirrung beseitigt wird. Das Dienstkonto hat andere Anforderungen. Wenn Sie beispielsweise über ein SQL-authentifiziertes Konto angemeldet waren - welche Berechtigungen sollte das Betriebssystem dann anfordern? - Dies ist das Dienstkonto von SQL Server Nur Fall! Dies hat sich seit SQL Server 7.0 nicht geändert und wahrscheinlich auch nicht vorher :)
quelle
.bak
Datei zu öffnen (die es normalerweise nicht hat, wenn sie sich in Ihrem Benutzerverzeichnis befindet, sofern dies nicht ausdrücklich gewährt wird).