使用t-sql解析主机名

时间:2009-06-09 00:39:14

标签: sql sql-server sql-server-2005 tsql

如何在t-sql中解析主机名? 2000兼容方法是优选的。虽然在2005/2008年运作的东西也会有所帮助。

例如。如果我有主机名stackoverflow.com我想返回69.59.196.211

2 个答案:

答案 0 :(得分:6)

好吧,我想你可以使用xp_cmdshell来执行nslookup并解析结果。但是,对于SQL Server来说,这似乎是一件非常尴尬的事情。

exec master..xp_cmdshell 'nslookup intel.com'

..然后你可能想把它放在临时表中并浏览结果。

如果您可以访问SQL Server 2005或2008,还可以在.NET中构建存储过程或函数,并对Dns.GetHostAddresses()进行简单调用。

答案 1 :(得分:0)

SQL Server可能会阻止访问过程&#sys; 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