База данных owner
- это немного назад, до того, как (SQL) схемы были введены в SQL Sever 2005.
По сути, владельцем базы данных является владелец базы данных по умолчанию dbo
(владелец базы данных), а сама база данных является объектом базы данных .
Из документов SQL Server 2000 ...
Это dbo
пользователь, у которого есть разрешения на выполнение всех действий в базе данных.
В более ранних версиях SQL Server, когда схема не могла «владеть» объектом ( точнее, следует указать, что все объекты, таблицы, представления и т. Д. Принадлежали, dbo
а других схем не было), это было необходимо для «пользователь» должен владеть им… само собой разумеется, почему кому- то нужно владеть базой данных (иначе разрешения вообще будут довольно трудными).
Таким образом, технически в более старых версиях SQL Server (или обновленных базах данных) это была не таблица «Foo», а таблица «dbo.Foo» ... с dbo
владельцем.
С появлением SQL Server 2005 у вас могут быть объекты базы данных, принадлежащие схеме, например, у вас есть схема с именем "bar" и таблица с именем "Foo" ... это становится bar.Foo
как в ...
SELECT * FROM bar.Foo WHERE etc = 'blah`;
Сложность заключается в том, что пользователь, создающий базу данных, автоматически назначается владельцем, что приводит к проблемам с текучестью кадров и т. Д.
Поэтому рекомендуется либо изменить это значение на sa
учетную запись, либо, по моему опыту, на учетную запись домена, которой может управлять команда ops / IT организации.
В этой статье дается различие между старым способом «хозяина» и более новой системой владения «схемой».
Чтобы понять разницу между владельцами и схемой, давайте потратим некоторое время на рассмотрение владения объектом. Когда объект создается в SQL Server 2000 или более ранней версии, он должен иметь владельца. В большинстве случаев владельцем является «dbo», также известный как владелец базы данных.