что делает EXEC master? - PullRequest
       6

что делает EXEC master?

6 голосов
/ 07 марта 2011

Я видел это как:

EXEC master.dbo.xp_cmdshell

Что означает master? 1005 *

Обновление
И почему иногда следуют два пункта:

 master..

Как правило, мы будем использовать master.dbo. Я прав, так почему некоторые люди пишут master..?

Ответы [ 4 ]

7 голосов
/ 07 марта 2011

master является одной из стандартных системных баз данных SQL Server . Вы можете сказать, потому что вы отправили:

EXEC master.dbo.xp_cmdshell

... использует обозначение трех имен. «master» находится в позиции базы данных, «dbo» - схема, а «xp_cmdshell» - функция / хранимая процедура в этом случае Вы используете эту нотацию для ссылки на таблицы и представления в разных контекстах.

Это:

EXEC master..xp_cmdshell

... просто опускает схему, но не очень хорошая идея, если в базе данных используется более одной схемы.

3 голосов
/ 07 марта 2011

В Transact SQL полный путь к любому объекту:

<code>server_name.db_name.owner.object parm1, ...
  • Точки разделяют четыре компонента
  • первые три компонента имеют значения по умолчанию:
    • текущий сервер
    • текущая база данных
    • dbo (владелец базы данных) (который должен быть владельцем общих таблиц)

master - это системная база данных, которая определяет сервер.

Для MS, поскольку хранимые в системе проки все еще находятся в master, следующее полностью избыточно:

<code>EXEC master.dbo.stored_proc_name parm1, ...
и может быть заменено на:
<code>EXEC stored_proc_name parm1, ...
и поскольку EXEC является командой по умолчанию:
<code>stored_proc_name parm1, ...

Нет никакой разницы между master.. и master.dbo.. Они оба не нужны при обращении к системным хранимым процессам.

3 голосов
/ 07 марта 2011

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

Имя мастера относится к базе данных, которая содержит другую схему экземпляра вашего сервера.

0 голосов
/ 07 марта 2011

master относится к базе данных master (это системная база данных).

В SSMS: Базы данных -> Системные базы данных -> master

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...