REGSVR32 SQLDMO.DLL
Справочная информация по использованию SQL-DMO:
Books Online àраздел SQL Server Books Online à SQL Server Programming Reference (Справка по программированию SQL Server) àDatabase Engine Administration Programming (Программирование операций по администрирования ядра баз данных) à SQL-DMO.
Особенность объектной модели SQL-DMO
Многие объекты в этой объектной модели продублированы. Например, вы можете найти объекты с именами типа SQLServer и SQLServer2, Table и Table2, User и User2 и т.п. Все объекты, которые оканчиваются на 2, обладают дополнительными свойствами и методами, доступными только при подключении к SQL Server 2008 и SQL Server 2000 (обычные объекты — только свойства и методы, доступные и для 7.0, и для более поздних версий).
Объект SQLDMO.Application
Это объект самого верхнего уровня в иерархии SQL-DMO. Он предоставляет доступ к нижестоящим объектам SQL-DMO (к ним можно обратиться и напрямую) и локальной библиотеке DMO.
Обычно этот объект используется для двух целей:
1. Для получения справки по версиям, наименованию, полному пути к компонентам SQL-DMO;
2. Для получения списка серверов SQL Server, видимых по сети.
Пример. Получение списка всех серверов SQL Server в сети:
Dim oApp, oNameList, nCount
Set oApp = CreateObject("SQLDmo.Application")
Set oNameList = oApp.ListAvailableSQLServers()
nCount = oNameList.Count
For i = 0 To nCount
WScript.Echo (oNameList.Item(nCount))
Next
Объект SQLDMO.SQLServer2
Это объект, представляющий сервер SQL Server. В SQL-DMO он называется SQLServer2. Чаще всего логика скрипта SQL-DMO выглядит так:
1. Создаем объект SQLServer2 и используем его для подключения к серверу,
2. Затем через объект SQLServer2 получаем доступ к подчиненным объектам (базам данных, учетным записям, заданиям и т.п.)
3. Выполняем с ними определенные операции,
4. Затем через SQLServer2 разрываем соединение.
Пример. Получение информации о размере свободного пространства во всех базах данных:
Set oServer = CreateObject("SQLDmo.SqlServer2")
'используем аутентификацию Windows
oServer.LoginSecure = True
oServer.Connect "Server1\Instance2"
For Each oDatabase In oServer.Databases
WScript.Echo oDatabase.Name & " " & oDatabase.SpaceAvailableInMB
Next
OServer.Disconnect
Set oServer = Nothing
Основные свойства объекта SQLServer2:
· CodePage — кодировка, установленная для всего SQL Server;
· LoginSecure — если для этого свойства используется значение False (по умолчанию), то, значит, мы подключаемся от имени учетной записи SQL Server и в методе Connect() нужно дополнительно указывать имя учетной записи и пароль. Если настроить для этого свойства значение True, будет использоваться аутентификация Windows;
· Name — имя SQL Server (которое использовалось в методе Connect()). Может быть и псевдонимом;
· NetName — реальное сетевое имя SQL Server (обычно используется тогда, когда при подключении к серверу мог быть использован псевдоним);
· RegionalSettings — региональные установки, настроенные для драйвера ODBC. Эти настройки можно изменить в ходе выполнения скрипта;
· SaLogin — это свойство дает возможность проверить, обладаем ли мы правами системного администратора на сервере. Обычно используется для проверок перед выполнением какой-либо операции;
· Status — возможность проверить текущее состояние SQL Server. Для этого свойства предусмотрено восемь значений:
o 0 — состояние получить не удалось;
o 1 — нормальное рабочее состояние;
o 2 — работа службы приостановлена;
o 3 — служба SQL Server остановлена;
o 4 — происходит переход от состояния "остановлено" в состояние "запущено";
o 5 — происходит обратный переход: от "запущено" к "остановлено";
o 6 — сервер запускается после приостановки работы;
o 7 — обратный переход: работа сервера приостанавливается;
Основные методы объекта SQLServer2:
· AddStartParameter() — этот метод позволяет добавить параметр запуска для SQL Server (например, для перевода в однопользовательский или минимальный режим, для запуска с базой данных master на другом диске);
· Connect()/Disconnect() — эти методы позволяют, соответственно, подключиться или отключиться от сервера SQL Server;
· ExecuteImmediate() — этот метод аналогичен методу ExecuteNonQuery() в SMO. Он позволяет запустить на выполнение команду или запрос на SQL Server, когда мы не собираемся принимать от нее никаких наборов записей;
· ExecuteWithResults() — этот метод позволяет выполнить команду Transact-SQL на сервере и получить возвращаемый ней табличный набор записей. Прием возвращаемых результатов производится при помощи объекта QueryResults;
· ExecuteWithResultsAndMessages() — этот метод расширяет возможности метода ExecuteWithResults(). Помимо результатов выполнения запроса он позволяет принять в строковую переменную сообщения SQL Server, которыми сопровождается выполнение этого запроса;
· IsPackage() — возможность проверить редакцию SQL Server. Этот метод может возвращать 5 значений:
o 0 — возникла ошибка, значение получить не удалось;
o 1 — Desktop Edition
o 2 — Standard Edition
o 3 — Enterprise или Developer Edition
o 4 — SQL Server Express Edition (MSDE)
· Start()/Shutdown()/Pause()/Continue() — возможность, соответственно, запустить, остановить, перевести в режим паузы или продолжить работу SQL Server;
· ReadErrorLog() — возможность получить все содержимое журнала SQL Server в виде объекта QueryResult.
Объекты, доступ к которым можно получить при помощи свойств объекта SQLServer:
· BackupDevices — эта коллекция предназначена для работы с логическими устройствами резервного копирования;
· Configuration — это свойство дает возможность настроить через скрипт все параметры сервера, доступные средствами хранимой процедуры sp_configure;
· Databases — это возможность получить доступ к базам данных и их многочисленным объектам;
· FullTextService — работа из скрипта с полнотекстовыми каталогами;
· IntegratedSecurity — при помощи этого свойства можно получить доступ к одноименному объекту, при помощи которого настраиваются параметры безопасности (в Management Studio они доступны при помощи вкладки Security (Безопасность) свойств сервера);
· JobServer — как и в SMO, этот объект открывает возможность доступа к элементам автоматизации SQL Server Agent, таким, как задания, предупреждения и операторы;
· Languages — возможность получения информации об языковых модулях, установленных с SQL Server;
· LinkedServers — этот объект предназначен для работы с подключенными серверами (объектами LinkedServer);
· Logins — свойство для доступа к коллекции учетных записей SQL Server;
· Registry — возможность считать или изменять любые параметры реестра, относящиеся к данному экземпляру SQL Server;
· Replication — это свойство возвращает объект Replication, который можно использовать для настройки репликации средствами SQL-DMO;
· ServerRoles — этот объект открывает возможность работы со встроенными серверными ролями.
|