Каковы возможные способы определения развернутой версии SQL Server?
Я пытался сделать это с помощью программного обеспечения SQL Server. Я хочу сделать это с помощью SQL-оператора командной строки.
sql-server-2008
version
Ямин Башир
источник
источник
Ответы:
Ниже приведены возможные способы увидеть версию:
Метод 1. Подключитесь к экземпляру SQL Server, а затем выполните следующий запрос:
Пример вывода этого запроса выглядит следующим образом:
Метод 2: подключитесь к серверу с помощью обозревателя объектов в SQL Server Management Studio. После подключения обозревателя объектов в скобках будет отображаться информация о версии вместе с именем пользователя, которое используется для подключения к конкретному экземпляру SQL Server.
Метод 3. Посмотрите на первые несколько строк файла Errorlog для этого экземпляра. По умолчанию журнал ошибок находится в папке Program Files \ Microsoft SQL
Server\MSSQL.n\MSSQL\LOG\ERRORLOG
иERRORLOG.n
files. Записи могут выглядеть следующим образом:Как видите, эта запись дает всю необходимую информацию о продукте, такую как версия, уровень продукта, 64-битная или 32-битная версия, выпуск SQL Server и версия ОС, на которой работает SQL Server.
Метод 4: подключитесь к экземпляру SQL Server, а затем выполните следующий запрос:
Примечание. Этот запрос работает с любым экземпляром SQL Server 2000 или более поздней версии.
источник
Дает 8.00, 9.00, 10.00 и 10.50 для SQL 2000, 2005, 2008 и 2008R2 соответственно.
Также попробуйте расширенную процедуру системы
xp_msver
. Вы можете вызвать эту хранимую процедуру какисточник
TL; DR
Он использует SQLCMD (поставляется с SQL Server) для подключения к экземпляру локального сервера с использованием аутентификации Windows, выдаёт ошибку, если проверка версии завершается неудачно, и возвращает в
@@ERROR
качестве командной строки,ERRORLEVEL
если> = 16 (и вторая строка переходит к:ExitFail
метке, если вышеупомянутоеERRORLEVEL
> = 1).Часы, подсказки и дополнительная информация
Для SQL 2000+ вы можете использовать SERVERPROPERTY, чтобы определить большую часть этой информации.
Хотя SQL 2008+ поддерживает свойства
ProductMajorVersion
&ProductMinorVersion
,ProductVersion
он существует примерно с 2000 года (помня, что если свойство не поддерживается, функция возвращаетNULL
).Если вас интересуют более ранние версии, вы можете использовать
PARSENAME
функцию для разделенияProductVersion
(помня, что «части» нумеруются справа налево, т.е.PARSENAME('a.b.c', 1)
возвращаетc
).Также помните, что это
PARSENAME('a.b.c', 4)
возвращаетсяNULL
, потому что SQL 2005 и более ранние версии использовали только 3 части в номере версии!Итак, для SQL 2008+ вы можете просто использовать:
Для SQL 2000-2005 вы можете использовать:
(
PARSENAME(...,0)
это хитрость для улучшения читаемости)Итак, проверка версии SQL 2000+ будет:
Это намного проще, если вас интересует только SQL 2008+, потому что
SERVERPROPERTY('ProductMajorVersion')
возвращаетсяNULL
для более ранних версий, поэтому вы можете использовать:И вы можете использовать
ProductLevel
иEdition
EngineEdition
свойства (или ) для определения RTM / SP n / CTP n и Dev / Std / Ent / etc соответственно.К вашему сведению, основные номера версий SQL :
И все это работает и для SQL Azure!
EDITED: вы также можете проверить уровень совместимости вашей БД, поскольку он может быть установлен на более низкую совместимость.
источник
Вот что я сделал, чтобы найти версию: просто напишите,
SELECT @@version
и она выдаст вам версию.источник
Просто используйте
Пример вывода
Источник: Как проверить версию sql-сервера? (Различные способы объяснения)
источник
если это значение равно 0, это не экспресс-выпуск
источник