Die Datenbank owner
ist ein kleiner Rückblick auf eine Zeit, bevor (richtige) Schemas in SQL Server 2005 eingeführt wurden.
Im Grunde eine Datenbank Eigentümer ist die Standardeinstellung dbo
(Datenbank - Besitzer) der Datenbank, mit der Datenbank selbst eine Wesen Objektdatenbank .
In den SQL Server 2000- Dokumenten ...
Dies dbo
ist ein Benutzer, der Berechtigungen zum Ausführen aller Aktivitäten in der Datenbank impliziert hat.
Wenn ein Schema in früheren Versionen von SQL Server kein Objekt "besitzen" konnte ( oder es sollte angegeben werden, dass alle Objekte, Tabellen, Ansichten usw. Eigentum von waren dbo
und es keine anderen Schemata gab ), war dies für a erforderlich "user", um es zu besitzen ... es sollte selbstverständlich sein, warum etwas die Datenbank besitzen muss (andernfalls wären Berechtigungen im Allgemeinen ziemlich schwierig.)
Technisch gesehen war es in älteren Versionen von SQL Server (oder aktualisierten Datenbanken) nicht die "Foo" -Tabelle, sondern die "dbo.Foo" -Tabelle ... mit dbo
dem Eigentümer.
Mit dem Aufkommen von SQL Server 2005 konnten Sie Datenbankobjekte im Schemabesitz haben, beispielsweise ein Schema mit dem Namen "bar" und eine Tabelle mit dem Namen "Foo" ... dies wird bar.Foo
wie in ...
SELECT * FROM bar.Foo WHERE etc = 'blah`;
Das Knifflige dabei ist, dass der Benutzer , der die Datenbank erstellt, automatisch als Eigentümer festgelegt wird, was zu Problemen mit der Mitarbeiterumsetzung usw. führt.
Daher ist es empfehlenswert, dies entweder in das sa
Konto oder (meiner Erfahrung nach) in ein Domänenkonto zu ändern, das vom Operations- / IT-Team einer Organisation verwaltet werden kann.
In diesem Artikel wird der Unterschied zwischen der älteren "Eigentümer" -Methode und dem neueren "Schema" -basierten Eigentümersystem erläutert.
Um den Unterschied zwischen Eigentümern und Schema zu verstehen, nehmen wir uns etwas Zeit, um die Eigentümerschaft des Objekts zu überprüfen. Wenn ein Objekt in SQL Server 2000 oder früher erstellt wird, muss das Objekt einen Besitzer haben. Meistens ist der Eigentümer "dbo", auch als Datenbankeigentümer bekannt.