2010-03-31 6 views
2

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

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

ответ

1

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

См. this Статья MSDN о них.

3

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

0

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

1

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

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

Так, если ваша схема по умолчанию ДБО, следующие два утверждения эквивалентны:

select * from Table1 
select * from dbo.Table1 
0

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