根据计算机名称T-SQL返回IP地址的功能

时间:2018-10-11 11:13:52

标签: sql .net sql-server powershell tsql

我在sql server中有一个表,其中包含域中计算机的列表。它有一个名为FQDN的列,其中包含计算机的名称。我添加了IP列作为nvarchar(稍后将对其进行格式化)。我想知道是否可以创建一个函数来根据名称列中的名称从dns获取它们,而不是手动填充ip。例如在powershell中,如果我键入此[System.Net.Dns]::GetHostAddresses("yourhosthere").ipaddresstostring并将其存储在变量中,我将得到我想要的东西。我无法将上述powershell嵌入到sql server中的函数中,然后在name列上进行迭代以更新ip列。我当然尝试了EXEC xp_cmdshellpowerhell.exe,但无济于事。

1 个答案:

答案 0 :(得分:0)

这将为您提供IP地址。

 SELECT CONNECTIONPROPERTY('local_net_address') AS local_net_address

或者,

SELECT dec.local_net_address
FROM sys.dm_exec_connections AS dec
WHERE dec.session_id = @@SPID;