我使用的帐户是 db_owner 数据库角色的成员。我运行以下命令来尝试删除订阅:
Exec sp_dropsubscription
@publication = 'MyPublication',
@article = 'MyArticle',
@subscriber = 'all',
@destination_db = null
上面的语句返回以下错误:
Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
但是,即使出现错误,订阅似乎也已成功删除。为什么我会收到此错误?操作的某些部分是否失败?
如果我将登录名提升为 sysadmin,它会成功运行——但是,这个登录名不应该是 sysadmin,所以这不是一个解决方案。
这发生在 SQL 2008 SP3 (10.0.5768.0) (X64) 上
根据 MSDN 文章 (http://msdn.microsoft.com/en-us/library/ms184385.aspx),用户应该具有基于 dbo 的权限:“只有 sysadmin 固定服务器角色的成员,db_owner 固定数据库角色,或者创建订阅的用户可以执行 sp_dropsubscription。”