Используйте SQL Profiler для захвата целого сеанса запросов. Когда вы закончите, вы можете сохранить результаты профилировщика и запустить все это через помощника по настройке SQL Server. По моему опыту, это дает намного лучшие результаты, чем настройка на основе отдельных запросов, и во многих отношениях проще и реалистичнее, поскольку вы можете использовать профилировщик для захвата запросов от реального использования приложения.
EDIT:
Спасибо, что уделили больше внимания конкретной проблеме, о которой вы спрашиваете. Я не понимал, что вы говорите, что Советник по настройке не понимает sp_executesql
, потому что это просто неправда. Вы можете выполнить столько запросов, сколько захотите, через sp_executesql
и записать их в профиль, а затем запустить этот профиль через Tuning Advisor, и он даст вам рекомендации.
Конечно, я только что сделал это с MS SQL Server 2008 R2. Я создал таблицу без индексов, выполнил несколько запросов через sp_executesql
, захватил их в SQL Profiler, а затем провел трассировку через Tuning Advisor. Советник по настройке дал соответствующие рекомендации для запросов, встроенных в sp_executesql
.
Точная версия помощника по настройке ядра СУБД - 10.50.1600.1, работающая на Microsoft SQL Server 2008 R2 (окончательная первоначальная версия) - 10.50.1617.0 (X64) 22 апреля 2011 г. 19:23:43 Copyright (c) Microsoft Corporation Developer Edition ( 64-разрядная версия) в Windows NT 6.1 (сборка 7601: пакет обновления 1).