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?