Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 MSSQL 2008 R2 обрезает запросы в dm_exec_sql_text  [new]
Дмитрий Z
Member

Откуда:
Сообщений: 2
Добрый день.

При анализе плана выполнения запроса и выборе пункта "Изменить текст запроса..." в новом окне открывается урезанный код. Выборка табличной функции показывает, что содержимое поля text тоже обрезанное.
Определить условия, по которым он обрезается не получилось. Например есть не полный запрос размер которого 5991 символов, а есть и такой, который при 327 символах обрезан.
Проблема наблюдается на нескольких серверах. В сети не удалось ничего найти.
Кто нибудь сталкивался с похожей проблемой? Какие есть варианты получить полный текст запроса? (без использования профилировщика)

SELECT TOP 10 query_plan, text,total_worker_time
FROM sys.dm_exec_query_stats
	OUTER APPLY sys.dm_exec_query_plan([plan_handle])
	OUTER APPLY sys.dm_exec_sql_text([sql_handle])
ORDER BY total_worker_time  DESC



server1
select @@VERSION
Microsoft SQL Server 2008 R2 (SP3) - 10.50.6220.0 (X64) Mar 19 2015 12:32:14 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)

server2
select @@VERSION
Microsoft SQL Server 2008 R2 (SP3) - 10.50.6220.0 (X64) Mar 19 2015 12:32:14 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
17 фев 16, 13:14    [18829157]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 2008 R2 обрезает запросы в dm_exec_sql_text  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8826
Дмитрий Z,

автор
Какие есть варианты получить полный текст запроса

пкм по процедуре, -> изменить.
17 фев 16, 13:26    [18829289]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 2008 R2 обрезает запросы в dm_exec_sql_text  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Дмитрий Z
При анализе плана выполнения запроса и выборе пункта "Изменить текст запроса..." в новом окне открывается урезанный код
Это нормально. В XML-плане текст запроса может быть усечен.
Дмитрий Z
Выборка табличной функции показывает, что содержимое поля text тоже обрезанное.
Нет. Это ограничение студии на максимальную длину отображаемых данных.
Дмитрий Z
Какие есть варианты получить полный текст запроса?
Например, приводить текст запроса к xml и снять ограничение в студии на отображаемый размер xml-данных:
SELECT TOP 10 query_plan, cast('' as xml).query('sql:column("text")'), total_worker_time
FROM sys.dm_exec_query_stats
	OUTER APPLY sys.dm_exec_query_plan([plan_handle])
	OUTER APPLY sys.dm_exec_sql_text([sql_handle])
ORDER BY total_worker_time  DESC
17 фев 16, 13:57    [18829521]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 2008 R2 обрезает запросы в dm_exec_sql_text  [new]
Дмитрий Z
Member

Откуда:
Сообщений: 2
invm спасибо, помогло.
На всякий случай снял ограничение на xml, но при попытке открыть некоторые планы вываливается ошибка: Не удается отобразить XML.
Буду по ней дальше разбираться.

К сообщению приложен файл. Размер - 8Kb
17 фев 16, 14:33    [18829812]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL 2008 R2 обрезает запросы в dm_exec_sql_text  [new]
poiuy
Guest
bcp.exe queryout в помощь. у неё нет ограничений на длину поля, в отличие от SSMS
19 фев 16, 12:24    [18840302]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить