База даних owner
трохи відвертається до часу, перш ніж були введені (належні) схеми в SQL Sever 2005.
В основному власник бази даних є типовим dbo
(власником) бази даних, при цьому сама база даних є об'єктом бази даних .
З документів SQL Server 2000 ...
Це dbo
користувач, який мав на увазі дозволи на виконання всіх дій у базі даних.
У більш ранніх версіях SQL Server, коли схема не могла "володіти" об'єктом ( вірніше, слід зазначити, що всіма об'єктами, таблицями, представленнями тощо належать dbo
і інші схеми не було), це було необхідно для "користувач", щоб володіти ним ... це не повинно говорити, чому щось потрібно володіти базою даних (інакше дозволи взагалі були б досить важкими.)
Так, технічно для старих версій SQL Server (або оновлених баз даних) це була не таблиця "Foo", а таблиця "dbo.Foo" ... з тим, dbo
що є власником.
З появою SQL Server 2005 у вас могли виникнути об'єкти бази даних, що належать схемі, наприклад, у вас є схема з назвою "бар" та таблиця з назвою "Foo" ... це стає bar.Foo
як у ...
SELECT * FROM bar.Foo WHERE etc = 'blah`;
Складна частина полягає в тому, що користувач, який створює базу даних, автоматично встановлюється як власник, що призводить до проблем із перекиданням співробітників тощо.
Тому найкращою практикою є або змінити це в sa
обліковому записі, або, можливо, (на мій досвід), на доменний рахунок, яким може керувати операційна / ІТ-команда організації.
Ця стаття надає розрив різниці між старішим "власницьким" способом роботи та новою системою власності на основі "схеми".
Щоб зрозуміти різницю між власниками та схемою, приділімо деякий час перегляду власності на об’єкт. Коли об’єкт створюється в SQL Server 2000 або новіших версіях, об'єкт повинен мати власника. Більшість часу власником є "dbo", також відомий як власник бази даних.