Я пытаюсь получить версию SQL Server 2008 и выше с использованием WMI, я использую класс ComputerManagement10 и запрос
select PropertyStrValue
from SqlServiceAdvancedProperty
where PropertyName = \'VERSION\' and ServiceName =\'MSSQL$SQL2008R2SP1'\'
, где ServiceName
- это экземпляр SQL Server.
Я испытываю странную проблему, заключающуюся в том, что ожидаемый результат (поле PropertyStrValue), который я получаю, отличается от обычного select @@version
или «Правого клика -> Свойства» (из sqlservr.exe
)
Версия, которую получает WMI: «10.51.2500.0», а исходная - «10.50.2500.0»
Я проверил более двух раз, чтобы убедиться, что это правильный экземпляр, SQL Server, хост и т. Д., Но, похоже, я не единственный, кто сталкивался с подобными вещами.
Кто-нибудь знает, почему происходит такое поведение и как его исправить?
Кто-нибудь знает, надежно ли использовать WMI для получения версии SQL Server?
Заранее спасибо.