MS SQL ping внешний сервер - PullRequest
       17

MS SQL ping внешний сервер

1 голос
/ 20 июля 2009

Есть ли «хороший» способ проверить, работает ли сетевой хост? использование «простого» SQL? Я думал о каком-то конкретном MS-SQL команда или, возможно, некоторые получить возвращаемое значение из сценария ping на самом сервере.

У кого-нибудь есть идеи по этому поводу?

Ответы [ 2 ]

1 голос
/ 20 июля 2009

Есть два варианта ответа: 1. вы хотите знать, работает ли сервер SQL на произвольном хосте
2. Вы хотите пропинговать произвольный хост с сервера SQL, используя некоторый запрос.

  1. Вы можете использовать ответ Дариома. 1a. если вы хотите запросить один SQL-сервер от другого, лучше использовать функциональность «Связанные серверы» SQL Server.

  2. Вы можете использовать хранимую процедуру master.dbo.xp_cmdshell для выполнения PING, которая затем возвращает результаты в виде текстовых строк и кода состояния.

EXEC master.dbo.xp_cmdshell 'ping 192.168.1.1'

0 голосов
/ 20 июля 2009

Полагаю, вы имеете в виду «простой» SQL, а не «палин»: -)

Если вы пытаетесь проверить, работает ли SQL на хосте, вы можете попробовать подключиться к службе браузера SQL , используя SSRP (протокол разрешения SQL Server) ( но это нужно установить и запустить на сервере).

Вы можете попробовать метод «наилучшего предположения» и установить TCP-соединение с портом 1433 (ядром базы данных SQL Server по умолчанию). Если порт открыт, возможно, SQL Server прослушивает - вы можете попытаться подключиться к SQL Server и выполнить команду (например, SELECT @@VERSION или что-то специфическое для вашего приложения). Проблемы с этим подходом:

  • SQL Server Database Engine можно настроить на использование нестандартного порта TCP.
  • SQL Server может даже не использовать TCP - вам придется подключаться с использованием именованных каналов (я не уверен, как это делается).
  • Некоторые другие службы могут быть настроены на использование TCP-порта 1433. Это не означает, что SQL Server прослушивает.
  • Если порт 1433 открыт и используется SQL Server, вам необходимо предоставить учетные данные для подключения к нему и выполнения команд.

По сути, лучший подход к предположению будет действительно работать только с серверами SQL под вашим контролем.

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