DBO в SqlServer - PullRequest
       57

DBO в SqlServer

2 голосов
/ 31 марта 2010

Я конвертирую базу данных из Teradata в SqlServer. Я заметил, что все таблицы и процедуры названы префиксом "dbo". (например, "dbo.Table1").

Я хотел бы знать, можно ли и как избавиться от "dbo", потому что это значительно упростит задачу преобразования.

Ответы [ 5 ]

3 голосов
/ 31 марта 2010

dbo - это схема, вы можете указать новую схему, если хотите. dbo по умолчанию является сервером sql.

1 голос
/ 31 марта 2010

Все таблицы должны входить в схему. Как говорит Дурилай, dbo является схемой по умолчанию для SQL Server (она всегда существует). Однако обратите внимание, что разные пользователи могут иметь разные схемы по умолчанию (если их несколько).

Если вы сделаете ссылку на таблицу без указания схемы, то SQL Server будет искать ее в вашей схеме по умолчанию (и то же самое относится и к любым другим объектам).

Итак, , если вашей схемой по умолчанию является dbo, следующие два оператора эквивалентны:

select * from Table1
select * from dbo.Table1
1 голос
/ 31 марта 2010

dbo - это , а не часть имени таблицы. Это имя схемы, к которой прикреплены таблицы и хранимые процедуры. dbo является схемой по умолчанию на сервере SQL, хотя при необходимости вы можете добавить другие.

См. эту MSDN статью о них.

0 голосов
/ 23 мая 2014

Схемы полезны. Например, я использовал для разрешения входа в приложение для каждой хранимой процедуры отдельно. Теперь я даю разрешение на выполнение входа в систему для схемы, содержащей все хранимые процедуры. Это намного проще.

0 голосов
/ 31 марта 2010

dbo является схемой по умолчанию в SQL Server, если схема не была задана пользователем, если вы хотите, вы можете создать новую схему и создать для нее таблицы.

...