Ich ordne Benutzer einer neuen Datenbank zu. Was ist der Unterschied zwischen dem Benutzer als Standard-Dbo-Benutzer und der Anmeldung als db_owner-Rollenmitglied?
Ich ordne Benutzer einer neuen Datenbank zu. Was ist der Unterschied zwischen dem Benutzer als Standard-Dbo-Benutzer und der Anmeldung als db_owner-Rollenmitglied?
Jede Datenbank sollte einen dbo-Benutzer haben, der standardmäßig der Datenbankrolle db_owner zugewiesen ist. Es gibt auch ein Dbo-Schema, das teilweise ein Überbleibsel von SQL Server 2000 und früheren Versionen ist, bei dem Benutzer und Schemas ein und dasselbe waren. Es ist auch etwas Besonderes, dass Abfragen nach Objekten im dbo-Schema suchen, wenn sie nicht im Standardschema des Benutzers gefunden werden (vorausgesetzt, der Objektname wurde nicht mit einem Schemanamen qualifiziert).
Sie können dem dbo-Benutzer in einer Datenbank nur eine einzige Anmeldung zuordnen (wie dies bei jedem Datenbankbenutzer der Fall ist), aber Sie können der Rolle db_owner so viele Benutzer zuweisen, wie Sie möchten, sodass diese im Wesentlichen die vollständige Kontrolle über die Datenbank haben.
Wenn Sie ein Standardschema für einen Datenbankbenutzer festlegen, hat dies keine Auswirkungen auf die Sicherheit. Es steuert einfach, welches Schema standardmäßig zum Erstellen und Referenzieren von Objekten verwendet wird, wenn ein bestimmter Schemaname nicht mit dem Objektnamen versehen ist. In SQL Server 2000 und früheren Versionen war das Standardschema eines Benutzers immer das Standardschema eines Benutzers, sofern nicht ausdrücklich anders angegeben, z. B. "CREATE TABLE dbo.test_table ..." vs "CREATE TABLE test_table ...". . (Beachten Sie, dass das dbo-Schema weiterhin für Objekte verwendet wurde, die nicht im Standardschema eines Benutzers gefunden wurden.)
Der Standardbenutzer dbo kann keine Datenbankobjekte anzeigen. DB_owner kann alle Konfigurations- und Wartungsaktivitäten für die Datenbank ausführen