2011-03-17 39 views
14

Chúng tôi đang cố gắng xác định nguồn của một số cập nhật không mong muốn xảy ra trên bảng SQL Server. Những gì tôi muốn làm là tạo ra một kích hoạt trên bảng đó theo dõi cột mà chúng tôi quan tâm, và khi cập nhật xảy ra, hãy viết một số thông tin kiểm toán vào một bảng riêng biệt.Máy chủ SQL: lấy tên của ứng dụng gây ra cập nhật trong trình kích hoạt

Các công trình lớn và tốt cho những thứ như tên người dùng, ngày, cũ và các giá trị cột mới (từ các bảng InsertedDeleted kích hoạt) - nhưng tôi muốn biết thêm :-)

Trong SQL Profiler, bạn có thể thấy tên của ứng dụng được kết nối đến SQL server trong các cấu hình - phần mà có thể được xác định trong chuỗi kết nối như Application Name:

Data Source=(local);Initial Catalog=AdventureWorks; 
Integrated Security=True;Application Name="My Application" 

có cách nào trong một T-SQL FOR UPDATE kích hoạt để có được ở đây thông tin?

Trả lời

30
SELECT APP_NAME() 

+3

Sheeesh !! Không thể dễ dàng như thế **, Martin !! ;-) Tôi đã cọ rửa tất cả các giá trị '@@ name' và không thể tìm thấy bất cứ điều gì ...... –

+0

Hoàn hảo - cảm ơn - nó thực sự * dễ dàng! * :-) Bạn sống và học hỏi .. .. –

+3

@marc - Bạn cũng có thể lấy nó từ 'SELECT program_name từ sys.dm_exec_sessions trong đó session_id = @@ SPID' có thể có những thứ khác trong đó mà bạn quan tâm. –

0

Không chắc chắn nhưng bạn có thể đăng nhập tên máy chủ nếu ứng dụng của bạn có trên nhiều máy chủ không? Nó có thể giúp thu hẹp danh sách các ứng dụng.

+0

Cảm ơn - nhưng tôi thực sự cần tên của ứng dụng - điều này chạy trên một máy chủ cơ sở dữ liệu duy nhất, tên đó sẽ không giúp tôi .. –

0

Marc_S các sP_whoIsActive lưu trữ thủ tục có thể sẽ giải quyết vấn đề của bạn as posted here

và nó là một phần tuyệt vời của T-SQL bằng cách này

+0

Bạn đã mất liên kết của mình. Tôi tin rằng một phiên bản mới vừa ra mắt (hoặc sắp ra mắt rất nhanh) một liên kết đến một phiên bản là http://sqlblog.com/blogs/adam_machanic/archive/2010/10/21/who-is-active-v10 -00-dmv-monitoring-made-easy.aspx –

+0

Xin lỗi tôi đã chỉnh sửa – luckyluke

+1

Liên kết tới phiên bản beta mới nhất và tuyệt vời nhất từ ​​nguồn cấp dữ liệu twitter của Adam Machanic http://sqlblog.com/files/folders/beta/entry34124.aspx –

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