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 Inserted
và Deleted
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?
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ì ...... –
Hoàn hảo - cảm ơn - nó thực sự * dễ dàng! * :-) Bạn sống và học hỏi .. .. –
@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. –