2009-11-04 6 views
7

Muszę wyraźnie zobaczyć, jaki adres IP dokonał zapytania SQL do serwera SQL. Próbuję użyć programu SQL Profiler, ale wygląda na to, że nie ma sposobu, aby jakoś odróżnić komputer (przeglądarkę), z którego pochodzi zapytanie. Ma tylko szczegóły komunikacji między serwerem WWW i serwerem sql. Czy istnieje DOWOLNA droga dla mnie (jakikolwiek nieznany dziennik?), Który pozwoli mi zobaczyć identyfikację oryginalnej maszyny, z której pochodzi zapytanie?Jak mogę zobaczyć, jaki adres IP wysłał żądanie do SQL Server?

Dzięki za wszelkie sugestie.

HF

+0

ok .. tak .. dzięki za potwierdzenie (chyba że wysyłam ip jawnie do db, nie ma sposobu, aby powiedzieć). dzięki Ci. – HotFrost

Odpowiedz

0

Jeśli nie napisać kod w aplikacji, aby przekazać adres klienta z serwera do bazy danych trzeba będzie spojrzeć na logach - dadzą adres IP klienta.

3

Jeśli chodzi o program SQL Server, żądanie zawsze będzie pochodziło z serwera WWW. Musisz przechwycić i zalogować adres IP w swojej aplikacji internetowej.

4

Można uzyskać nazwę hosta bieżącego połączenia, czy naprawdę wszelkie informacje z tabeli sysprocesses

SELECT hostname FROM sys.sysprocesses WHERE spid = @@SPID 

To oczywiście nie będzie działać, aby uzyskać adres IP hostów internetowych, czy to, czego szukasz dla.

3

Jak @joshperry powiedział, można pobrać adresu klienta oraz adres serwera z

SELECT client_net_address, local_net_address 
FROM sys.dm_exec_connections 
WHERE session_id = @@SPID 
1
SELECT r.client_net_address,sqltext.Text 
    FROM sys.dm_exec_requests req left join sys.dm_exec_connections as r on req.session_id=r.session_id 
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext 
+0

Twoja odpowiedź z pewnością warta jest odrobiny wytłumaczenia. Prosimy zapoznać się z http://stackoverflow.com/help/how-to-answer. –

+1

Chociaż ten fragment kodu jest mile widziany i może dostarczyć pomocy, byłoby [znacznie ulepszone, gdyby zawierał wyjaśnienie] (// meta.stackexchange.com/q/114762) * how * i * why * to rozwiązuje problem. Pamiętaj, że odpowiadasz na pytanie dla czytelników w przyszłości, a nie tylko pytasz teraz! Proszę [edytuj] swoją odpowiedź, aby dodać wyjaśnienie i podać, jakie ograniczenia i założenia mają zastosowanie. –