Vì chúng tôi không triển khai người dùng ứng dụng của chúng tôi là người dùng trong máy chủ SQL, khi máy chủ ứng dụng kết nối với cơ sở dữ liệu mỗi ứng dụng luôn sử dụng cùng thông tin đăng nhập để đính kèm mỗi cơ sở dữ liệu.Máy chủ SQL: Sửa đổi thuộc tính "Tên ứng dụng" cho mục đích kiểm toán
Điều này thể hiện vấn đề kiểm tra. Sử dụng trình kích hoạt, chúng tôi muốn lưu trữ mọi cập nhật, chèn và xóa và gán từng thông tin cho một người dùng cụ thể. Một giải pháp có thể là thêm cột "được cập nhật bởi người dùng" vào mỗi bảng và cập nhật điều này mỗi lần. Điều này có nghĩa là một cột mới trên mỗi bảng và một tham số mới trên mọi thủ tục lưu sẵn. Nó cũng có nghĩa là bạn chỉ có thể thực hiện xóa mềm.
Thay vì điều này, tôi đề xuất sử dụng thuộc tính Tên ứng dụng của chuỗi kết nối và đọc thông tin này với thuộc tính App_Name() bên trong trình kích hoạt. Tôi đã thử nghiệm điều này với một ứng dụng đơn giản và có vẻ như nó hoạt động (định dạng có thể như sau: App = MyApp | User = 100).
Câu hỏi dành cho các bạn là, đây có phải là ý tưởng tồi và bạn có ý tưởng tốt hơn không?
Bạn giải quyết vấn đề này bằng cách nào? Bạn đã có thể đọc "App = MyApp | User = 100" từ trình kích hoạt bằng cách sử dụng 'CONTEXT_INFO'? Tôi cần phải sửa đổi các trình kích hoạt được sử dụng bởi * Kiểm tra ApexSQL 2008 * và lưu trữ "người dùng" được chuyển qua 'ApplicationName'. – AMissico