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 を実行できます。」