如何在t-sql中解析主机名? 2000兼容方法是优选的。虽然在2005/2008年运作的东西也会有所帮助。
例如。如果我有主机名stackoverflow.com我想返回69.59.196.211
答案 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