logo search
SQL2008_Administration

Решение:

  1. Запустите Database Tuning Advisor (меню Пуск Программы Microsoft SQL Server 2008 Performance Tools) и подключитесь к своему локальному серверу SQL Server 2008.

  2. На вкладке General выберите созданный вами файл C:\AdventureWorksTrace.trc, а в списке баз данных — базу данных AdventureWorks.

  3. На вкладке Tuning Options снимите флажок Limit Tuning Time и установите переключатели в положение Indexes and indexed views, Full partitioning, Do not keep any existing PDS. Нажмите на кнопку Start Analysis на панели инструментов.

  4. Дождитесь окончания анализа, затем перейдите на вкладку Reports и просмотрите созданные отчеты.

  5. В меню Actions выберите команду Save Recommendations и сохраните сгенерированные команды SQL по выполнению рекомендаций в файле C:\IndexTuning.sql.

Задание для самостоятельной работы 8.4 Дефрагментация таблиц и индексов

Задание:

  1. Произведите анализ степени фрагментации индекса PK_Address_AddressID для таблицы Person.Address в базе данных AdventureWorks на вашем сервере SQL Server 2008.

  2. Произведите перестроение всех индексов и обновление статистики в базе данных Foodmart средствами SQL-DMO. Убедитесь, что обновление статистики произведено.

Решение:

К пункту 1 — анализ степени фрагментации:

Соответствующая команда может выглядеть так:

USE AdventureWorks

GO

DBCC SHOWCONTIG ('Person.Address', 'PK_Address_AddressID')

К пункту 2 — перестроение индексов в базе данных:

Соответствующий код на языке VBScript может выглядеть так:

Dim oServer, oDB, oTable

Set oServer = CreateObject("SQLDmo.SqlServer2")

oServer.LoginSecure = True

oServer.Connect

Set oDB = oServer.Databases("AdventureWorks")

For Each oTable In oDB.Tables

If oTable.SystemObject = False Then

oTable.RebuildIndexes

oTable.UpdateStatistics

End if

Next

Для того, чтобы убедиться, что обновление статистики произошло, можно открыть свойства статистики (например, для индекса PK_Address_AddressID), нужно:

  1. В SQL Server Management Studio открыть контейнер Statistics - имя_сервера Databases имя_базы данных Tables имя_таблицы Statistics,

  2. Открыть свойства нужной статистики и на вкладке General и просмотреть информацию о дате создания статистики.