2010-09-10 40 views
9

Tôi có quy trình được lưu trữ không được dùng nữa sẽ không còn được gọi từ mã, nhưng có một số hệ thống vẫn đang gọi nó. Đây là máy chủ sản xuất nên tôi có quyền truy cập gián tiếp rất hạn chế vào máy chủ để thực hiện chẩn đoán.Cách xác định người gọi của Thủ tục được lưu trữ từ bên trong Sproc

Có cách nào để xác định máy đang gọi một thủ tục được lưu trữ cụ thể từ bên trong sproc không? Một cái gì đó như @@ ​​CallingMachineIP hoặc @@ CallingMachineName

Trả lời

9
select hostname from master..sysprocesses where [email protected]@SPID 

hoặc

select host_name from sys.dm_exec_sessions where [email protected]@SPID 
+3

+1 - Và nếu bạn có nhiều ứng dụng khác nhau gọi thủ tục (Query Analyzer, Crystal Reports, v.v.), bạn cũng có thể chọn 'program_name' để thu hẹp nó – LittleBobbyTables

5

@@SPID sẽ cho bạn quá trình ID hiện tại.

Sau đó,

select * from master.dbo.sysprocesses where spid = @@SPID

Bạn có thể có được những gì bạn cần từ một trong những cột.

Các vấn đề liên quan