4

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

4

0 に答える 0