Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Узнать IP  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Как средствами TSQL получить ip адрес своей машины.
Знаю способ через xp_cmdshell, вырезая и обрабатывая строку.
Может есть способы попроще? ОС Windows Server.
27 авг 15, 14:29    [18076688]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Написать clr-сборку и получать через нее все, что заблагорассудится.
27 авг 15, 14:34    [18076702]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
Mairos
Member

Откуда:
Сообщений: 555
mqn, [url=]https://www.sql.ru/forum/225962/kak-v-excel-poluchit-ip-adres-dannoy-mashiny[/url]
27 авг 15, 14:37    [18076716]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
Mairos
Member

Откуда:
Сообщений: 555
Mairos, это для excel пример
27 авг 15, 14:38    [18076722]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
Mairos
Member

Откуда:
Сообщений: 555
mqn,
SELECT sp.login_time, sp.loginame, dmec.client_net_address 
  FROM sys.sysprocesses sp 
  JOIN sys.dm_exec_connections dmec ON sp.spid = dmec.session_id
  WHERE sp.spid = @@SPID
27 авг 15, 14:40    [18076737]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
invm
Member

Откуда: Москва
Сообщений: 9837
mqn
Может есть способы попроще?
Есть, но без гарантии
select top (1) local_net_address from sys.dm_exec_connections where net_transport = N'TCP';
27 авг 15, 14:47    [18076786]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
invm,

на каки-то серверах работает, на каких-то нет
27 авг 15, 14:57    [18076846]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Есть еще вот такой способ, но он с 2008 SQL

 select CONNECTIONPROPERTY('local_net_address') AS local_net_address
27 авг 15, 15:04    [18076877]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
invm
Member

Откуда: Москва
Сообщений: 9837
mqn
на каки-то серверах работает, на каких-то нет
Я же говорю - без гарантии.
Чтобы работало, должно быть хотя бы одно соединение по TCP.

Можно еще так попробовать:
declare @s varchar(max) = 'select * from openrowset(''SQLNCLI'', ''Server=TCP:' + @@servername + ';Trusted_connection=yes'', ''select top (1) local_net_address from sys.dm_exec_connections where session_id = @@spid;'')';
exec(@s);
27 авг 15, 15:06    [18076895]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Спасибо за ответы.

Кому интересно, я полую ip 4 вот так, может и криво, но надежно:

if object_id(N'tempdb..#tmpIP',N'U') is not null drop table #tmpIP
declare @str1 varchar(20),@str2 varchar(50)
declare @str3 varchar(20)
set @str1=host_name()

select @str2 = 'ping ' + @str1+ ' -4 -n 1'
print @str2

create table #tmpIP (id int identity, txt varchar(8000))

insert into #tmpIP exec master.dbo.xp_cmdshell @str2

select @str3=substring(txt,CHARINDEX('[',txt)+1,CHARINDEX(']',txt)-CHARINDEX('[',txt)-1) from #tmpIP where id=2
select @str3
27 авг 15, 15:38    [18077088]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
А о том, что у сервера может быть более одного сетевого интерфейса и, следовательно, более одно IP-адреса, лучше не вспоминать?
27 авг 15, 15:45    [18077128]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
mqn
Как средствами TSQL получить ip адрес своей машины.
Знаю способ через xp_cmdshell, вырезая и обрабатывая строку.
Может есть способы попроще? ОС Windows Server.


какой из? локальные, внешний?
27 авг 15, 15:49    [18077152]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Гавриленко Сергей Алексеевич, для меня подходит. Если кого-то не устраивает, есть вышеописанные способы.
От Вас я конкретного примера так и не увидил.
27 авг 15, 15:49    [18077157]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
mqn
Гавриленко Сергей Алексеевич, для меня подходит. Если кого-то не устраивает, есть вышеописанные способы.
От Вас я конкретного примера так и не увидил.
Если вас все устраивает, зачем создавать тему на форуме? Похвастаться?
27 авг 15, 15:51    [18077176]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
mqn
Member

Откуда: Краснодар
Сообщений: 76
Гавриленко Сергей Алексеевич, похвастаться? чем же интересно?
Я хотел узнать более простые способы получения IP, я их узнал. Но в моем случае они не сработали.
Еще раз повторю, от Вас я конкретных примеров не заметил.
27 авг 15, 16:10    [18077276]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1837
mqn,

используя метод который вас в текущий момент устраивает, можете получить головную боль в дальнейшем когда произойдет ситуация описанная Сергеем

и уже пинять будет не на кого кроме самого себя.
27 авг 15, 18:13    [18077864]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
Alexander Titkin
Member

Откуда: Москва
Сообщений: 91
Откопаю тему

select * 
from sys.dm_server_registry sr
where sr.value_name = 'IpAddress'
22 окт 15, 12:31    [18311146]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
Alexander Titkin
Откопаю тему

select * 
from sys.dm_server_registry sr
where sr.value_name = 'IpAddress'
А у меня там 10 записей, какую брать????
22 окт 15, 12:54    [18311307]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
o-o
Guest
alexeyvg
Alexander Titkin
Откопаю тему

select * 
from sys.dm_server_registry sr
where sr.value_name = 'IpAddress'
А у меня там 10 записей, какую брать????

тогда следует вспомнить о данном ранее предупреждении
Гавриленко Сергей Алексеевич
А о том, что у сервера может быть более одного сетевого интерфейса и, следовательно, более одно IP-адреса, лучше не вспоминать?
22 окт 15, 13:00    [18311355]     Ответить | Цитировать Сообщить модератору
 Re: Узнать IP  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
o-o
alexeyvg
А у меня там 10 записей, какую брать????

тогда следует вспомнить о данном ранее предупреждении
Гавриленко Сергей Алексеевич
А о том, что у сервера может быть более одного сетевого интерфейса и, следовательно, более одно IP-адреса, лучше не вспоминать?
Ага, вот я на это и намекаю. Задача неправильно поставлена. Нужен для каких то целей этот ИП-адрес - заводите в своей таблице руками.
22 окт 15, 13:03    [18311375]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить