Назад | Перейти на главную страницу

Есть ли сценарий командной строки, который я могу использовать, чтобы проверить, установлен ли на серверах SQL Server 2008 DMO?

SQL Server 2008 не устанавливает DMO по умолчанию. Есть ли функция или сценарий, который я могу использовать из командной строки для проверки удаленных серверов, чтобы узнать, установлен ли DMO? Мы использовали проверку ключа реестра, но подумали, что это не лучший вариант. Любой совет приветствуется!

Я предполагаю, что вы имеете в виду SMO (DMO был заменен SMO в SQL 2005).

Вы можете сделать это как быстрый и грязный тест в Powershell:

PS C:\> [Reflection.Assembply]::LoadWithPartialName("Microsoft.SqlServer.Smo")

Если SMO ​​зарегистрирован, он вернется с некоторой информацией о том, где он нашел DLL SMO и какой это версии.

GAC     Version          Location
---     -------          --------
True    v2.0.50727       C:\.........

Вы также можете использовать этот сценарий VBS, если не хотите делать это в Powershell:

Dim sqlServer
set sqlServer = CreateObject("Microsoft.SQLServer.Management.SMO.Server")
set sqlServer = nothing

Если он возвращает ошибку времени выполнения "ActiveX component can't create object: 'Microsoft.SqlServer.Smo.Server'" значит SMO не установлен (или, по крайней мере, не зарегистрирован).