Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вопрос к Гуру - exec %%xxxxxxxxxx - что это?  [new]
SFlash
Member

Откуда:
Сообщений: 143
Доброго времени суток.

Я иногда ковыряюсь в хранимках MS SQL и иногда находятся очень интересные решения, недокументированные команды и т.д.

Вот накопал в процедуре sp_create_plan_guide такой код:
	set @module = convert(nvarchar(4000), @module_or_batch)
	EXEC %%PlanGuide(Name = @name).CreateAndFireTrigger(Value = @name, Value = @stmt, Value = @type, 
		Value = @module, Value = @params, Value = @hints)

Очень похоже на C# подобный вызов метода CreateAndFireTrigger класса PlanGuide.
Но описания такого метода в этом классе нет [url=]http://technet.microsoft.com/ru-ru/library/microsoft.sqlserver.management.smo.planguide.aspx[/url]

Может кто просветить, что это вообще за вызов, и что еще можно вызывать таким образом?
24 янв 14, 14:00    [15462798]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос к Гуру - exec %%xxxxxxxxxx - что это?  [new]
SFlash
Member

Откуда:
Сообщений: 143
Сорри забыл указать версию
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
24 янв 14, 14:02    [15462812]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос к Гуру - exec %%xxxxxxxxxx - что это?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
Это - недокументированные вызовы внутренних функций движка.
24 янв 14, 14:07    [15462851]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос к Гуру - exec %%xxxxxxxxxx - что это?  [new]
SFlash
Member

Откуда:
Сообщений: 143
Гавриленко Сергей Алексеевич,

Это то понятно, а есть ресурс где почитать про эти вызовы и что ими можно вызывать, как вызывать и т.д.?
Думаю там много чего интересного можно подсмотреть )
24 янв 14, 14:47    [15463151]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос к Гуру - exec %%xxxxxxxxxx - что это?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
SFlash
Гавриленко Сергей Алексеевич,

Это то понятно, а есть ресурс где почитать про эти вызовы и что ими можно вызывать, как вызывать и т.д.?
Думаю там много чего интересного можно подсмотреть )
Может где-то и есть, но мелкомягкие никогда не раскрывали подробностей.

Посмотреть можно, но такой синтаксис просто так не запустить. Вроде, сервер начинал компилить такие вызовы, если они делались в контексте базы mssqlsystemresource, на которую можно таки переключиться, если запустить сервер в однопользовательском режиме.
24 янв 14, 15:15    [15463349]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить