Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL2008_Administration.doc
Скачиваний:
91
Добавлен:
08.11.2018
Размер:
3.38 Mб
Скачать

Задание для самостоятельной работы 7.1 Применение объектной модели smo Задание:

Напишите консольную программу на языке VB.NET с применением объектной модели SMO. Эта программа должна:

  1. произвести перестроение индексов для всех таблиц базы данных AdventureWorks на сервере имя_вашего_сервера\SQL2008;

  2. вывести на консоль имя каждой таблицы, для которой производится перестроение.

Решение:

  1. Откройте Visual Studio.NET 2008 и в меню File выберите New  Project.

  2. В окне New Project в списке Project Types выберите Visual Basic  Windows и в списке Templates справа выберите шаблон Console Application.

  3. В поле Name введите имя для создаваемого проекта (например, AdventureWorksIndexRebuild) и нажмите на кнопку OK. Будет создан новый проект, программный модуль для которого Module1.vb откроется в окне редактора кода.

  4. В меню Project (Проект) выберите команду Add Reference (Добавить ссылку) и добавьте в проект ссылки на следующие сборки .NET:

Microsoft.SQLServer.ConnectionInfo

Microsoft.SQLServer.SMO

Microsoft.SQLServer.SMOEnum

Microsoft.SQLServer.SQLEnum

  1. Добавьте в раздел Declarations программного модуля Module1 следующие команды:

Imports Microsoft.SqlServer.Management.Smo

Imports Microsoft.SqlServer.Management.Common

  1. Добавьте в процедуру Main() программного модуля необходимый программный код. Программный код для всего модуля может быть таким:

Module Module1

Sub Main()

'Подключаемся к серверу средствами аутентификации Windows

Dim oSrv As New Server("LONDON2\SQL2008")

'Получаем ссылку на объект базы данных AdventureWorks

Dim oDb As Database

oDb = oSrv.Databases("AdventureWorks")

'Проходим циклом по всем таблицам в коллекции Tables

Dim oTable As Table

For Each oTable In oDb.Tables

' (0) — это значение FillFactor, обязательный параметр

oTable.RebuildIndexes(0)

Console.WriteLine("Перестроение индексов для таблицы " & _ oTable.Schema & "." & oTable.Name)

Next

End Sub

End Module

  1. После проверки работоспособности созданной вами программы можно, например, создать исполняемый файл при помощи меню Build   Build AdventureWorksIndexRebuild.

Задание для самостоятельной работы 7.2 Применение объектной модели sql-dmo Задание:

Напишите скрипт на языке VBScript с использованием объектной модели SQL-DMO, который бы:

  • проверял состояние сервера имя_вашего_сервера\SQL2008;

  • если он остановлен, то автоматически бы его запускал;

  • если он приостановлен (состояние Pause), то переводил бы сервер в режим Running.

Проверьте работу вашего скрипта, запустив его в разных состояниях SQL Server.

Решение:

Соответствующий код скрипта может быть таким:

Dim oServer

Set oServer = CreateObject("SQLDMO.SQLServer")

oServer.Name = "LONDON2\SQL2008"

Select Case oServer.Status

Case 0 'Состояние получить не удалось

WScript.Echo "Неизвестная ошибка"

Case 1 'Запущен

WScript.Echo "Сервер уже работает"

Case 2 'Приостановлен

oServer.Continue

Case 3 'Остановлен

'FALSE означает: не подключаться к серверу после запуска

oServer.Start("FALSE")

Case Else

WScript.Echo "Сервер в переходном состоянии"

WScript.Echo "Запустите скрипт повторно через несколько секунд"

End Select

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]