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

Откуда:
Сообщений: 37
Здравствуйте!
В результате работы средства database engine tuning adviser получаем сообщение о том, что более 40% обрабатываемой рабочей нагрузки содержит синтаксические ошибки. При этом запросы на которые он ругается успешно выполняются.
Вот пример ошибки:

SELECT COUNT(DISTINCT dbo.tab1.id) as cnt, SUM(CONVERT(float, dbo.tab2.summa)) as sum
FROM dbo.tab2
INNER JOIN dbo.tab1 ON dbo.tab2.id = dbo.tab1.id
INNER JOIN dbo.tab3 ON dbo.tab3.id = dbo.tab1.id
INNER JOIN dbo.tab4 ON dbo.tab3.name1 = dbo.tab4.name3
INNER JOIN dbo.tab5 ON tab1.id = dbo.tab5.id
WHERE (dbo.tab3.name2 = 1 OR (dbo.tab3.name2 = 0 AND (SELECT COUNT(dbo.tab3.id)
FROM dbo.tab3
WHERE dbo.tab3.id = dbo.tab1.id) = 1))
AND dbo.tab1.name4 != '2'
AND dbo.tab1.name4 != '9'
AND dbo.tab1.data1 <= GETDATE()
AND dbo.tab1.data2 >= GETDATE()
AND dbo.tab5.name2 not like '%!%'

Не удалось привязать составной идентификатор "tab1.id"
24 ноя 09, 11:35    [7968929]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
Mr. Gordon_Freeman
Member

Откуда: Rostov-on-Don
Сообщений: 14
Anatoliy_root,

А ты в какую базу запрос делал?
24 ноя 09, 12:03    [7969231]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
Anatoliy_root
Member

Откуда:
Сообщений: 37
Еще мысли приветствуются!
25 ноя 09, 09:02    [7974111]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
Anatoliy_root
Member

Откуда:
Сообщений: 37
Mr. Gordon_Freeman,
В свою
25 ноя 09, 09:26    [7974202]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Anatoliy_root,

Откройте для себя алиасы и уберите схему там, где указываете поле.
25 ноя 09, 09:37    [7974275]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
Mr. Gordon_Freeman
Member

Откуда: Rostov-on-Don
Сообщений: 14
pkarklin
Anatoliy_root,

Откройте для себя алиасы и уберите схему там, где указываете поле.


А нельзя ли поподробнее? Где именно в запросе ошибка?
25 ноя 09, 09:51    [7974330]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Mr. Gordon_Freeman
А нельзя ли поподробнее? Где именно в запросе ошибка?


SELECT COUNT(DISTINCT t1.id) as cnt, SUM(CONVERT(float, t2.summa)) as sum
FROM dbo.tab2 t2 
INNER JOIN dbo.tab1 t1 ON t2.id = t1.id 
INNER JOIN dbo.tab3 t3 ON t3.id = t1.id 
INNER JOIN dbo.tab4 t4 ON t3.name1 = t4.name3 
INNER JOIN dbo.tab5 t5 ON t1.id = t5.id 
WHERE (t3.name2 = 1 OR (t3.name2 = 0 AND (SELECT COUNT(id) 
FROM dbo.tab3 
WHERE id = t1.id) = 1)) 
AND t1.name4 != '2' 
AND t1.name4 != '9' 
AND t1.data1 <= GETDATE() 
AND t1.data2 >= GETDATE() 
AND t5.name2 not like '%!%' 
25 ноя 09, 09:59    [7974372]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
Gueccct
Member [заблокирован]

Откуда: Киев, Норвегия
Сообщений: 2965
Дык а если нагрузку я собирал трое суток профилером на сто гектар размером, то мне потом что - вручную скрипты редактировать лет 15, чтоб дта нормально его сьел??
25 ноя 09, 10:16    [7974483]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
Mr. Gordon_Freeman
Member

Откуда: Rostov-on-Don
Сообщений: 14
Gueccct
Дык а если нагрузку я собирал трое суток профилером на сто гектар размером, то мне потом что - вручную скрипты редактировать лет 15, чтоб дта нормально его сьел??

Есть смутное ощущение что да.
25 ноя 09, 10:23    [7974544]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Gueccct,

Вы полагаете, что 3е суток - это тот минимум, который необходимо стравливать?! 8-/
25 ноя 09, 10:33    [7974625]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
Mr. Gordon_Freeman
Member

Откуда: Rostov-on-Don
Сообщений: 14
Anatoliy_root

Может проблема связана с параметрами безопасности??? У кого ни будь есть мнение на этот счёт?
25 ноя 09, 10:38    [7974661]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
Anatoliy_root
Member

Откуда:
Сообщений: 37
Mr. Gordon_Freeman, кстати!
Когда я создавал трассировку я к серверу подключался локально с использованием аутентификации windows. Может надо было под "sa", или это не имеет значения?
25 ноя 09, 12:48    [7975857]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
Mr. Gordon_Freeman
Member

Откуда: Rostov-on-Don
Сообщений: 14
Anatoliy_root
Mr. Gordon_Freeman, кстати!
Когда я создавал трассировку я к серверу подключался локально с использованием аутентификации windows. Может надо было под "sa", или это не имеет значения?

Зная маниакальный уровень безопасности MSSQL могу предположить, что, проблема может быть в этом.
25 ноя 09, 12:50    [7975884]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
Anatoliy_root
Member

Откуда:
Сообщений: 37
pkarklin,

Я пробовал трассировку в 5Мб (это где-то пара минут запросов) - результат теже 40% синтаксических ошибок. Правда насчитал прирост производительности в 92% :)
25 ноя 09, 12:51    [7975893]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Anatoliy_root
Правда насчитал прирост производительности в 92% :)


Не верь глазам своим! ((с) Козьма Прудков)
25 ноя 09, 12:59    [7975967]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по database engine tuning adviser  [new]
Anatoliy_root
Member

Откуда:
Сообщений: 37
Насчет аутентификации в Профайлере для записи трассировки. Сегодня создал свежую трассировку зайдя в Profiler под sa, она анализируется значительно дольше, чем там что была создана под аутентификацией windows. Но главное, она содержит всего 1% синтаксических ошибок, вместо прежних 40.
25 ноя 09, 15:29    [7977277]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить