SQL Server 2008 R2 Dev
Выполнение в SSMS:
1)
use AdventureWorksDW;
GO;
sp_cdc_enable_table
'dbo',' FactInternetSales ',
@ role_name = NULL,
@ support_net_changes = 0
успешно.
Почему выполняется
2)
sp_cdc_enable_table 'dbo', 'FactInternetSales' -, @ role_name = NULL, @ support_net_changes = 0
выдает ошибку:
Msg 201, уровень 16, состояние 4, процедура sp_cdc_enable_table, строка 0 Процедура или функция sp_cdc_enable_table ожидает параметр '@role_name', который не был предоставлен.
в то время как Всплывающее окно Intellisense при включенном курсоре мыши в SSMS показывает:
хранимая процедура AdventureWorksDW.sys.sp_cdc_enable_table
@source_schema sysname,
@source_name sysname,
@ capture_instance sysname = null,
@supports_net_changes bit = null ,
@role_name sysname,
@index_name sysname= null,
[продолжение обрезано vgv8]
Не означает ли "= null" значение по умолчанию, которое используется, если параметр не указан?
Почему не пропущено @индекс_имяROR?
Дополнительные вопросы:
Как скопировать текст описания всплывающего окна в буфер (для дальнейшего вставки)?
Не является ли "@role_name bit = null" во всплывающем окне ошибкой (и должно было быть"@role_name bit = 0" вместо этого)?
Обновление:
Я исправил опечатку в сообщении.
Действительно я выполнил
sp_cdc_enable_table 'dbo', 'FactInternetSales' -, @ role_name = NULL, @support_net_changes = 0
т.е. оба варианта являются выполнением одного и того же скрипта
1) без комментариев
2) с комментариями
Update3:
ОК, изначально я неправильно набрал текст всплывающего окна, который я сейчас исправил.Итак, вопрос об ошибке снят, спасибо.
Из контекста моего успешного выполнения 1) вы должны заметить, что мои вопросы касаются всплывающих окон (но не того, как добиться успеха):
- , является ли всплывающее окно (в)правильный?
- " @ capture_instance sysname = null, не следует ли заключать его в квадратные скобки [], показывая, что его можно пропустить?
- " @ support_net_changes bit = null, "- не должно ли быть" = 0 "?
- как скопировать всплывающее окно (например, для сообщения об ошибке в Microsoft Connect)?
Обратите внимание, что во всплывающем окне также есть "@capture_instance = null", который может быть полностью пропущен, но это никак не помечено.
Update4:
Я включилснимок экрана.
Ну, это довольно контекстно-зависимая справка.
Intellisense вообще не работает на sys.sp_ * и всплывающее окно не отображается, если есть синтаксическая ошибка - что бы MS ни делала вид, что добилась такой "помощи"поскольку необходимо вставить полностью правильный оператор, чтобы избежать синтаксических ошибок и иметь контекстно-зависимую «справку» ...
Update5:
Тогда, какой смысл, что параметры со значениями по умолчанию не могут быть отброшены?