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

Откуда:
Сообщений: 311
Добрый день

Microsoft SQL Server 2005 - 9.00.5254.00 (X64) 
Dec 18 2010 22:50:56
Copyright (c) 1988-2005 Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

Есть два (в последствии более двух) вражеских сервера, модифицировать SP которых не представляется возможным.
Из этих SP идет вызов SP_шек на моем сервере через Linked Server.
По параметрам SP_шки догадаться об источнике нет никакой возможности.
Возникла необходимость из моей SP_шки вызвать SP_ку на вражеском сервере.
Вопрос:
Как вычислить вражеский сервер, с которого пришел вызов ?
Повторюсь: ничего менять на вражеских серверах нельзя, т.е. добавить параметры в SP_шку - нельзя.

PS. Да, все вражеские сервера - SQL2k5
19 июл 11, 14:22    [10995041]     Ответить | Цитировать Сообщить модератору
 Re: Вычислить вызывающего  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
По spid посмотреть имя в sysprocesses.
19 июл 11, 14:24    [10995056]     Ответить | Цитировать Сообщить модератору
 Re: Вычислить вызывающего  [new]
Greenhorn
Member

Откуда:
Сообщений: 311
Гавриленко Сергей Алексеевич
По spid посмотреть имя в sysprocesses.

Якобы с вражеского сервера:
SELECT *
FROM OPENQUERY([Мой сервер],'select * from sys.sysprocesses where spid = @@SPID') as t
Какое имя посмотреть ?
19 июл 11, 14:30    [10995090]     Ответить | Цитировать Сообщить модератору
 Re: Вычислить вызывающего  [new]
Crimean
Member

Откуда:
Сообщений: 13147
по-моему свойств процесса будет достаточно
master..sysprocesses и аналоги (sys.dm_exec_sessions и прочее) вам в руки + куча функций типа host_name()
одно "но" - если сервера - разные инстансы на одном хосте - надо будет выкручиваться через host_id() ибо host_name у них будет одинаковый
19 июл 11, 14:31    [10995094]     Ответить | Цитировать Сообщить модератору
 Re: Вычислить вызывающего  [new]
Greenhorn
Member

Откуда:
Сообщений: 311
Всем спасибо.
Да по хосту можно определить.

Самое главное забыл сказать - как вычислить SPID/SESSION_ID этого гада на вражеском сервере ?
19 июл 11, 14:40    [10995154]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить