Tại sao sao chép xóa yêu cầu truy cập sysadmin


7

Tôi đang chạy nhân rộng hợp nhất với SQL 2012.

Dường như có một hậu quả khó chịu của các trình kích hoạt xóa được thêm vào để nhân rộng trong SQL 2012.

Bên trong các kích hoạt xóa là đây,

select @xe_message = CAST('replica_id: ' + convert(nvarchar(100), @replnick) + ', article_id: ' + convert(nvarchar(100), @tablenick) + ', rowguid: ' + case when @article_rows_deleted = 1 then convert(nvarchar(100), @rowguid) else N'0' end + ', generation: ' + case when @is_mergeagent = 1 then N'0' else convert(nvarchar(100), @newgen) end + ', Reason: -1' AS varbinary(1000));
        exec master..sp_repl_generateevent 1, N'Event : ppm_insert', @xe_message

Và một lỗi xảy ra khi ai đó thực hiện xóa nếu họ không ở trong vai trò sysadmin,

Msg 8189, Level 14, State 10, Procedure sp_repl_generateevent, Line 1
You do not have permission to run 'SP_TRACE_GENERATEEVENT'.

Vì vậy, bạn đang nói với tôi rằng mọi người dùng cơ sở dữ liệu của tôi phải có quyền truy cập sysadmin nếu họ sẽ xóa?

Điều này có vẻ sai. Có cách nào để tắt dấu vết này hay một cách khác để loại bỏ yêu cầu này?

Câu trả lời:



2

Đây hiện là một lỗi đã biết (chỉ có trong SQL 2012) mà Microsoft hiện đang xử lý. Giải pháp thay thế là cho ALTER TRACEphép người dùng cho đến khi được giải quyết.

Bạn có thể theo dõi trạng thái trên Connect .


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.