Найти какие sql версии (!) Установленные по папкам?

Я видел эту ссылку, но без посторонней помощи: Как определить установленные экземпляры SQL Server и их версии?

Вот мой вопрос: enter image description here

Я хочу посмотреть, какие версии sql установлены на моем компьютере.

Если я запускаю запрос и набираю:

select @@version

Это говорит мне версию запущенного потока. (что я не хочу)

Я хочу увидеть все версии - если они установлены!

Пример: компьютер может иметь sql 2000, 2005, 2008, 2008R2

Я прикрепил экран печати для папок сервера sql.

Я знаю, что

80 = SQL Server 2000
90 = SQL Server 2005
100 = SQL Server 2008

Как бы то ни было, это не правило.

С 2008 года создает 80, 90.

Похоже, что единственный способ узнать, какие версии установлены (кроме regedit), - это менеджер конфигурации сервера Sql.

enter image description here

Вопросы:

1) Можно ли только с помощью файловой системы определить, какие версии я установил?

2) Есть ли другой способ (кроме реестра), чтобы увидеть, какие версии SQL установлены?

3) Я прочитал, что mssql.1 для двигателя. Что насчет MSSQL10.SQLEXPRESS? Почему у него нет номера mssql.4? MSDN говорит, что это последовательный идентификатор установленных компонентов.

Ответы

Ответ 1

SQL Server 2008 Discovery Report

Как узнать, какие функции и версия SQL Server у меня есть? установлен? Этот вопрос был задан много в последнее время. Начиная в SQL Server 2008, мы добавили отчет об обнаружении SQL Server в качестве опции на странице Инструменты в Центре установки. Когда вы нажимаете на ссылка ниже, SQL Server будет запущен для обнаружения SQL Server Особенности.

Отчет об обнаружении SQL Server сохраняется в% ProgramFiles%\Microsoft SQL Server\100\Setup Bootstrap\Log \

Options:

Вы также можете создать отчет об обнаружении с помощью командной строки. Запустите "Setup.exe/Action = RunDiscovery" из командной строки, если вы добавите "/q" в командной строке выше пользовательский интерфейс не будет показан, но отчет будет по-прежнему создаваться в папке% ProgramFiles%\Microsoft SQL Server\100\Setup Bootstrap\Log\20091112_082147.

Справка:

Ответ 2

Обычно,

  • SQL Server 2005 использует следующую схему именования каталогов: MSSQL.1, MSSQL.2, ...,
  • SQL Server 2008 использует MSSQL10.<INSTANCENAME> и
  • SQL Server 2008R2 использует MSSQL10_50.<INSTANCENAME>.

Однако, поскольку каталог данных можно изменить во время установки (по крайней мере, для более новых версий SQL Server), это не надежный способ обнаружения экземпляров SQL Server.

Ответ 3

Хммм... Если вы хотите знать, какие версии у вас используются только "файловая система", самое близкое, что я знаю, это открытие журнала ошибок (~ MSSQL\LOG\ERRORLOG) и всякий раз, когда вы запускаете соединение, версия экземпляра сервера sql зарегистрирован Вы можете выполнить поиск "Microsoft SQL Server", и вы увидите такие вещи, как "Microsoft SQL Server 2008 (SP1)" или Microsoft SQL Server 2003" и т.д.

Ответ 4

Если вы используете .NET, вы можете использовать метод SmoApplication.EnumAvailableSqlServers из SMO для перечисления всех локальных серверов SQL и получения информации о их версии.

Вот ТАК пример.