Разрешить имена хостов с помощью t-sql - PullRequest
1 голос
/ 09 июня 2009

Как мне разрешить имя хоста в t-sql? 2000 совместимый метод является предпочтительным. Хотя кое-что, что работает в 2005/2008, также было бы полезно.

например. Если у меня есть имя хоста stackoverflow.com, я хочу вернуть 69.59.196.211

Ответы [ 2 ]

6 голосов
/ 09 июня 2009

Ну, я полагаю, вы могли бы использовать xp_cmdshell для выполнения nslookup и анализа результатов. Похоже, что SQL Server действительно делает что-то неловкое.

exec master..xp_cmdshell 'nslookup intel.com'

.. тогда вы, вероятно, захотите поместить это во временную таблицу и просмотреть результаты.

Вы также можете, если можете получить доступ к SQL Server 2005 или 2008, создать хранимую процедуру или функцию в .NET и выполнить простой вызов Dns.GetHostAddresses().

0 голосов
/ 27 марта 2015

SQL Server может заблокировать доступ к процедуре 'sys.xp_cmdshell' как часть конфигурации безопасности. Как системный администратор вы можете разрешить использование «xp_cmdshell» следующим образом:

-- Allow advanced options.
EXEC sp_configure 'show advanced options', 1;
GO
-- Update the currently configured value for advanced options.
RECONFIGURE;
GO
-- Then, enable the feature.
EXEC sp_configure 'xp_cmdshell', 1;
GO
-- Update the currently configured value for this feature.
RECONFIGURE;
GO
-- Then you can go ahead and run ...
exec master..xp_cmdshell 'nslookup microsoft.com'
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...