В 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.
. Они оба не нужны при обращении к системным хранимым процессам.