Weil ich ein Datenbank-Tutorial habe, das auf SQL Server 2005 basiert, und die darin verwendete Beispieldatenbank AdventureWorks für SQL Server 2005 ist. Auf meinem Computer ist jedoch SQL Server 2008 installiert, und die Beispieldatenbank ist AdventureWorks für SQL Server 2008. Zuerst dachte ich, dass die Datenbankstrukturen der Beispieldatenbanken AdventureWorks für SQL Server 2005 und AdventureWorks für SQL Server 2008 ähnlich sein sollten, aber während der Praxis stellte ich fest, dass die Strukturen vieler Tabellen in den beiden Datenbanken immer noch sehr unterschiedlich sind. Daher habe ich beschlossen, die Beispieldatenbank AdventureWorks für SQL Server 2005 aus dem Microsoft Download Center herunterzuladen und an SQL Server 2008 anzuhängen, damit ich die Übung reibungslos durchführen konnte. Ich melde mich bei der SQLSERVER2008-Instanz mit dem SQL Server 2008-Superadministratorkonto „sa“ an: Beim Anhängen der Beispieldatenbank AdventureWorks für SQL Server 2005 wird der folgende Fehler angezeigt: Nach sorgfältiger Betrachtung der Hauptinformation „Beim Versuch, eine physische Datei zu öffnen oder zu erstellen, ist bei CREATE FILE der Betriebssystemfehler 5 (Zugriff verweigert) aufgetreten …“ wusste ich auf den ersten Blick, dass die Betriebsberechtigungen für die anzuhängende Datendatei nicht ausreichten. Gemäß der allgemeinen Denkweise erteilen wir Dateien, die nicht über ausreichende Betriebsberechtigungen verfügen, ausreichende Betriebsberechtigungen. Einige Internetnutzer sagten beispielsweise: „Geben Sie jedem die Berechtigung für die anzuhängenden Datendateien und die entsprechenden Protokolldateien.“ Der Autorisierungsprozess wird in den folgenden drei Screenshots gezeigt (beachten Sie, dass sowohl Datendateien als auch Protokolldateien autorisiert werden müssen):
(Abbildung 2: Datendatei nach der Autorisierung) (Abbildung 3: Protokolldatei nach der Autorisierung) Nachdem ich jedem die Berechtigungen [Lesen und Ausführen] und [Lesen] für die anzuhängenden Datendateien und Protokolldateien erteilt hatte, versuchte ich, die Datenbank in SQL Server 2008 erneut anzuhängen und stellte fest, dass die Anbindung erfolgreich war! Wird das Problem so gelöst? Ist das die richtige Vorgehensweise? Wenn wir im eigentlichen Datenbankverwaltungsprozess die Berechtigungen für Datendateien und Protokolldateien auf „Jeder“ erweitern, ist das definitiv der falsche Ansatz. Denn die Sicherheit der Datenbank wird stark beeinträchtigt, obwohl jedem Benutzer nur die Berechtigungen [Lesen und Ausführen] und [Lesen] gewährt werden, besteht immer noch die Gefahr eines Datenverlusts. Wir sollten sicherstellen, dass Datendateien über minimale Zugriffsrechte verfügen und gleichzeitig normal auf sie zugegriffen werden kann. Wir haben zuvor „Jeder“ autorisiert, sodass alle Benutzer oder Konten die entsprechenden Dateien bedienen können, was definitiv nicht sicher ist. Wie können wir also minimale Zugriffsrechte gewähren? Denken Sie darüber nach: Wir verwenden SQL Server 2008, um die entsprechenden Datendateien anzuhängen, und melden den Fehler „Zugriff verweigert“, was bedeutet, dass die Berechtigungen nicht ausreichen. Mit anderen Worten: Der aktuelle SQL Server 2008 verfügt nicht über die Berechtigung, auf diese Dateien zuzugreifen. Wir klicken mit der rechten Maustaste auf die Datei und gehen zu den Dateieigenschaften, um die Dateiberechtigungen zu überprüfen, wie unten gezeigt: (Ursprüngliche Berechtigungen der entsprechenden Datendatei) Wir haben festgestellt, dass nur die Gruppen bzw. Benutzer SYSTEM und xrm die Berechtigung haben, diese Datendatei zu bearbeiten. SYSTEM ist eine Benutzergruppe, nämlich die Gruppe [Lokales System], und xrm ist ein Administratorbenutzer, wie in der Abbildung dargestellt: (Informationen des xrm-Benutzers) Sowohl die SYSTEM-Benutzergruppe als auch der Administratorbenutzer xrm sind berechtigt, diese Datendatei und Protokolldatei zu bedienen. Nach der Anmeldung bei der Instanz als Superadministrator SA von SQL Server 2008 hat SQL Server jedoch nicht die Berechtigung, auf diese Datendatei zuzugreifen. Mit anderen Worten: Nach der Anmeldung bei der Instanz als Superadministrator SA von SQL Server 2008 befindet sich die angemeldete Identität weder in der Benutzergruppe SYSTEM, noch ist sie der Administrator xrm. Was wäre das? Dies können wir herausfinden, indem wir die relevanten Informationen des aktuellen SQL Server 2008-Instanzdienstes überprüfen. Öffnen Sie den SQL Server-Konfigurations-Manager (d. h. SQL Server-Konfigurations-Manager), um die relevanten Informationen des aktuell verbundenen Instanzdienstes zu überprüfen, wie in der folgenden Abbildung gezeigt: (Zugehörige Informationen zum aktuellen Instanzdienst) Es wurde festgestellt, dass die Anmeldeidentität der aktuellen Instanz SQLSERVER2008 „NT AUTHORITY\LocalService“ ist, was der vom Betriebssystem autorisierte [lokale Dienst] ist. Der lokale Dienst ist auch eine Benutzergruppe. Mit anderen Worten: Wenn wir nur der Benutzergruppe [Lokaler Dienst] (anstatt „Jeder“) Berechtigungen erteilen, sollten wir in der Lage sein, eine Datenbank mit dem SA-Konto in SQL Server 2008 anzuhängen. Löschen Sie dazu die Berechtigungen, die gerade „Jeder“ für die entsprechenden Datendateien und Protokolldateien erteilt wurden, erteilen Sie dann der Benutzergruppe „LocalService“ Berechtigungen für die entsprechenden Datendateien und Protokolldateien und versuchen Sie erneut, die entsprechende Datenbank anzuhängen. Sie werden feststellen, dass sie tatsächlich erfolgreich angehängt werden kann! Es versteht sich von selbst, dass es definitiv viel sicherer ist, der Benutzergruppe [Lokaler Dienst] die Betriebssystemberechtigung zu erteilen, als sie jedem zu erteilen. Bei den oben genannten Methoden haben wir den ursprünglichen Berechtigungsumfang der Datendatei geändert (der ursprüngliche Berechtigungsumfang umfasst nur SYSTEM, die Benutzergruppe [lokales System] und xrm, den Systemadministrator). Besser ist es, den Berechtigungsumfang der Datendatei nicht zu ändern. Sie können sich weiterhin als SA bei der SQL Server 2008-Instanz anmelden, um auf die entsprechenden Datendateien zuzugreifen. Um dieses Ziel zu erreichen, müssen wir nur die Anmeldeidentität der entsprechenden Instanz in die Benutzergruppe SYSTEM [lokales System] ändern. SYSTEM ist auch eine Benutzergruppe innerhalb des Berechtigungsbereichs der entsprechenden Datendatei, und die SQL Server-Instanz wird als lokales System ausgeführt, was eine höhere Sicherheit bietet. Wir können die Anmeldeidentität der entsprechenden SQL Server-Instanz im SQL Server-Konfigurations-Manager in [Lokales System] ändern, wie in der folgenden Abbildung gezeigt: (Ändern Sie die Anmeldeidentität der Instanz) (Die Anmeldeidentität der Instanz wird „LocalSystem“) Starten Sie dann den entsprechenden Instanzdienst neu, stellen Sie die Verbindung wieder her, melden Sie sich als SA bei der entsprechenden Instanz von SQL Server 2008 an und versuchen Sie, die Datenbank anzuhängen. Die Datenbank kann auch erfolgreich angehängt werden! ! ! Wenn Sie sich nicht als SA mit der entsprechenden Instanz von SQL Server 2008 verbinden müssen, um die entsprechende Datenbank anzuhängen, wählen Sie beim Verbinden mit der entsprechenden Instanz von SQL Server 2008 [Windows-Authentifizierung] zur Authentifizierung aus, und Sie können die Datenbank anhängen, ohne weitere Änderungen vorzunehmen, wie im vorherigen Artikel beschrieben. Der Grund dafür ist, dass [Windows-Authentifizierung] die Berechtigungen des Benutzers des aktuellen Betriebssystems verwendet und die Berechtigungen im Allgemeinen groß genug sind. Darüber hinaus können die Vorgänge, die am Instanzdienst im [SQL Server-Konfigurations-Manager] ausgeführt werden können, auch am [Dienst] in Windows ausgeführt werden. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: SVN-Installation und grundlegende Bedienung (grafisches Tutorial)
>>: Zusammenfassung der Lösung für den Webpack -v-Fehler von Vue
Inhaltsverzeichnis Einführung Nachfolgend sehen S...
Hier stellen wir das Wissen über Formularelemente...
Inhaltsverzeichnis Vorwort wissen Übung macht den...
Inhaltsverzeichnis Vorwort 1. Null-Koaleszenzoper...
Vorwort Wie wir alle wissen, ist „Wie zentriert m...
Inhaltsverzeichnis Vorwort Erster Schritt: Schrit...
1. MySQL 8.0.20 herunterladen und dekomprimieren ...
Virtuelle Maschinen sind eine sehr praktische Tes...
Bei der Installation von MySQL 8.0 auf einem Win1...
1. Flex ist die Abkürzung für Flexible Box, was „...
Dieser Artikel stellt hauptsächlich die Implement...
1. Übersicht mysql-monitor MySQL-Überwachungstool...
1. Drücken Sie Win + R und geben Sie cmd ein, um ...
Dieser Artikel stellt hauptsächlich vor, wie Deskt...
In diesem Artikel wird der spezifische JavaScript...