При использовании WMI для получения версии SQL Server 2008 происходит сбой - PullRequest
1 голос
/ 27 декабря 2011

Я пытаюсь получить версию 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?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 03 июля 2012

Я хочу узнать версию SQL Server в моем приложении, и ваш запрос полезен.

Я получаю ту же ошибку!

Я найду это, если найдешь что-нибудь:

Неправильная версия SQL

Видимо просто ошибка, но это хорошо для меня

Список версий SQL

10.50 / 10.51 => 2008 R2

10,00 => 2008

0 голосов
/ 27 декабря 2011

Я не могу комментировать использование WMI, но значение от select @@version или лучше select SERVERPROPERTY('ProductVersion') является правильным

Кроме того, Вы делаете это правильно в первую очередь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...