Я пытаюсь определить, какие экземпляры sql server / sql express я установил (вручную или программно), но все примеры подсказывают мне выполнить запрос SQL, чтобы определить, что предполагает, что я уже подключен к определенному экземпляру. ,
224
Ответы:
В командной строке:
или
(Примечание: должен быть заглавной буквы L)
Это перечислит все серверы sql, установленные в вашей сети. Существуют параметры конфигурации, которые можно настроить для предотвращения отображения SQL Server в списке. Сделать это...
В командной строке:
В списке включенных протоколов выберите «TCP / IP», затем нажмите «Свойства». Есть флажок «Скрыть сервер».
источник
C:\> sqllocaldb i
Вы можете запросить это значение реестра, чтобы получить версию SQL напрямую:
В качестве альтернативы вы можете запросить имя вашего экземпляра, а затем использовать sqlcmd с вашим именем экземпляра, которое вы хотели бы:
Чтобы увидеть имя вашего экземпляра:
Затем выполните это:
Если вы используете C ++, вы можете использовать этот код для получения информации реестра.
источник
Все установленные экземпляры должны отображаться в оснастке служб в консоли управления Microsoft. Чтобы получить имена экземпляров, перейдите в Пуск | Запустить | введите Services.msc и найдите все записи с «Sql Server (имя экземпляра)».
источник
Get-Service | ?{ $_.Name -like "MSSQL*" }
- T-SQL Query для поиска списка экземпляров, установленных на компьютере
источник
sa
не так ли?Я знаю, что эта ветка немного старая, но я натолкнулся на эту ветку, прежде чем нашел ответ, который искал, и подумал, что поделюсь. Если вы используете SQLExpress (или localdb), существует более простой способ найти имена ваших экземпляров. В командной строке введите:
Это перечислит имена экземпляров, которые вы установили локально. Таким образом, ваше полное имя сервера должно включать (localdb) \ перед именем экземпляра для подключения. Кроме того, sqllocaldb позволяет создавать новые экземпляры или удалять их, а также настраивать их. Смотрите: SqlLocalDB Utility .
источник
Если вы просто хотите посмотреть, что установлено на компьютере, на котором вы в данный момент вошли, я думаю, что самый простой ручной процесс - это просто открыть диспетчер конфигурации SQL Server (из меню «Пуск»), который отображает все службы SQL (и только службы SQL) на этом оборудовании (работает или нет). Предполагается, что SQL Server 2005 или выше; Рекомендация dotnetengineer по использованию консоли управления службами покажет вам все службы и всегда должна быть доступна (например, если вы используете более ранние версии SQL Server).
Однако, если вы ищете более широкий процесс обнаружения, вы можете рассмотреть сторонние инструменты, такие как SQLRecon и SQLPing, которые будут сканировать вашу сеть и создавать отчет обо всех экземплярах службы SQL, найденных на любом сервере, к которому у них есть доступ. Прошло много времени с тех пор, как я использовал подобные инструменты, но я был удивлен тем, что они нашли (а именно, горсткой случаев, о которых я не знал, что они существовали). YMMV. Вы можете Google для деталей, но я считаю, что эта страница имеет соответствующие загрузки: http://www.sqlsecurity.com/Tools/FreeTools/tabid/65/Default.aspx
источник
SQL Server позволяет приложениям находить экземпляры SQL Server в текущей сети. Класс SqlDataSourceEnumerator предоставляет эту информацию разработчику приложения, предоставляя DataTable, содержащий информацию обо всех видимых серверах. Эта возвращенная таблица содержит список доступных в сети экземпляров серверов, который соответствует списку, предоставленному при попытке пользователя создать новое соединение, и расширяет раскрывающийся список, содержащий все доступные серверы в диалоговом окне «Свойства соединения». Отображаемые результаты не всегда полны. Чтобы получить таблицу, содержащую информацию о доступных экземплярах SQL Server, вы должны сначала получить перечислитель, используя свойство общего / статического экземпляра:
от msdn http://msdn.microsoft.com/en-us/library/a6t1z9x2(v=vs.80).aspx
источник
SqlDataSourceEnumerator
еще не реализован, но находится в списке, который будет добавлен в соответствии с проблемой GitHub .Служба браузера SQL Server http://msdn.microsoft.com/en-us/library/ms181087.aspx
источник
Если вы заинтересованы в определении этого в сценарии, вы можете попробовать следующее:
Примечание: grep является частью инструментов gnuwin32
источник
findstr
вместоgrep
этого.В командной строке Windows введите:
Где «имя_сервера» - это имя любого удаленного сервера, на котором вы хотите отобразить экземпляры SQL.
Это требует достаточных разрешений, конечно.
источник
Этот запрос должен получить вам имя сервера и имя экземпляра:
источник
У меня такая же проблема. Команда «osql -L» отображала только список серверов, но без имен экземпляров (отображался только экземпляр моего локального сервера SQL). С Wireshark, sqlbrowser.exe (который может быть найден в общей папке вашей установки SQL) я нашел решение для моей проблемы.
Локальный экземпляр разрешается с помощью записи реестра. Удаленные экземпляры разрешаются с помощью широковещательной рассылки UDP (порт 1434) и SMB. Используйте «sqlbrowser.exe -c» для вывода списка запросов.
Моя конфигурация использует 1 физический и 3 виртуальных сетевых адаптера. Если я использовал команду «osql -L», sqlbrowser отображал запрос от одного из виртуальных адаптеров (который находится в другом сегменте сети) вместо физического. osql выбирает adpater по его метрике. Вы можете увидеть метрику с помощью команды «Печать маршрута». Для моей конфигурации таблица маршрутизации показала меньшую метрику для виртуального адаптера, чем для физического. Поэтому я изменил метрику интерфейса в свойствах сети, отменив автоматическую метрику в дополнительных настройках сети. osql теперь использует физический адаптер.
источник
Еще один вариант - запустить отчет об обнаружении SQLSERVER. Перейдите на установочный носитель sqlserver и дважды щелкните файл setup.exe.
и на следующем экране перейдите к инструментам и нажмите отчет об обнаружении, как показано ниже
Это покажет вам все имеющиеся экземпляры вместе со всеми функциями .. ниже приведен снимок на моем компьютере
источник
Я только что установил Sql server 2008, но мне не удалось подключиться ни к одному экземпляру базы данных. Команды @G Mastros размещены в списке нет активных экземпляров.
Поэтому я посмотрел в службах и обнаружил, что агент сервера SQL был отключен. Я исправил это, установив его на автоматический, а затем запустив.
источник
У меня была такая же проблема, когда я оценивал более 100 серверов, у меня был скрипт, написанный на C # для просмотра имен сервисов, состоящих из SQL. Когда экземпляры установлены на сервере, SQL Server добавляет службу для каждого экземпляра с именем службы. Он может отличаться для разных версий, таких как 2000-2008, но наверняка есть служба с именем экземпляра.
Я беру имя службы и получаю имя экземпляра из имени службы. Вот пример кода, используемого с результатом запроса WMI:
источник
Вот простой способ: перейдите в «Пуск», затем «Программы», затем Microsoft SQL Server 2005, затем «Конфигурационные инструменты», затем «Диспетчер конфигурации SQL Server», затем «Конфигурация сети SQL Server 2005», затем. Здесь можно найти все экземпляры, установленные на вашем компьютере.
источник
Я знаю, это старый пост, но я нашел хорошее решение с помощью PoweShell, где вы можете найти экземпляры SQL, установленные на локальном или удаленном компьютере, включая версию, а также расширить другие свойства.
источник
Команды
OSQL -L
иSQLCMD -L
покажут вам все экземпляры в сети .Если вы хотите иметь список всех экземпляров на сервере и не хотите создавать сценарии или программировать, сделайте следующее:
sqlsrvr.exe
изображенияЭкземпляры должны быть перечислены в столбце «Имя пользователя» как
MSSQL$INSTANCE_NAME
.И я подумал, что на плохом сервере было запущено 63 экземпляра, и понял, что на нем запущено три сервера (из которых один вел себя как полный хулиган с нагрузкой на процессор ...)
источник
Получит экземпляры SQL-сервера reg запрос "HKLM \ Software \ Microsoft \ Microsoft SQL Server \ Имена экземпляров \ SQL"
или используйте SQLCMD -L
источник
Если вы находитесь в SSMS, вам может быть проще использовать:
источник