none
エラー 15141 の調査方法を教えてください RRS feed

  • 質問

  • sqlserverでのアカウント削除を行ったところ、エラー 15141 エンドポイントを所有しているので、削除できません。との、メッセージで困っています。

    調査方法をご存じの方がいらっしゃいましたら、何とぞご教示宜しくお願い致します。

     

     

    2010年10月4日 7:02

回答

  • SQL Server Management Studioからサーバオブジェクトを展開するとエンドポイントがありますので
    そこから該当するエンドポイントを調査されてはいかがでしょうか。
    同じ事ですがsys.endpointsでも情報が得られます。

    また必要なエンドポイントであればALTER AUTHORIZATIONを使って別なログインに
    所有権を移行しましょう。

    http://msdn.microsoft.com/ja-jp/library/ms180076.aspx

    http://msdn.microsoft.com/ja-jp/library/ms187359.aspx

    • 回答としてマーク こむら 2010年10月5日 0:21
    2010年10月4日 14:40
    モデレータ
  • 削除しようとしたログインが何らかのエンドポイントの所有者となっているので、
    そのエンドポイントの所有者を変更しない限り所有者(ログイン)の削除は認めないよ、ということだと思います。

    CREATE ENDPOINT エンドポイント名 AUTHORIZATION ログイン名 ・・・

    みたいな感じでエンドポイントを作成しているときに、そのログインを削除しようとすると、そのエラーが発生します。
    なので、そのエンドポイントの所有者を別のログインに変更してやれば、所有者でなくなったログインは削除できるはずです。

    ALTER AUTHORIZATION ON ENDPOINT::エンドポイント名 TO 別の所有者(ログイン)名

    そもそもそんなエンドポイントなんて作ったかどうか分からない(or忘れた)、何のエンドポイントか分からないということなら、エンドポイントについて調査してみれば良いと思います。
    以下のようなクエリが参考になれば、と思います。

    SELECT E.name AS EndPointName 
    	, P.name AS PrincipalName
    	, E.protocol_desc
    	, E.type_desc
    	, E.state_desc
    FROM sys.endpoints E
    LEFT JOIN sys.server_principals P ON E.principal_id = P.principal_id
    

    ちなみに、エンドポイントの種類については、以下が参考になります。

    sys.endpoints
    http://msdn.microsoft.com/ja-jp/library/ms189746.aspx

    • 回答としてマーク こむら 2010年10月5日 0:21
    2010年10月4日 15:08

すべての返信

  • SQL Server Management Studioからサーバオブジェクトを展開するとエンドポイントがありますので
    そこから該当するエンドポイントを調査されてはいかがでしょうか。
    同じ事ですがsys.endpointsでも情報が得られます。

    また必要なエンドポイントであればALTER AUTHORIZATIONを使って別なログインに
    所有権を移行しましょう。

    http://msdn.microsoft.com/ja-jp/library/ms180076.aspx

    http://msdn.microsoft.com/ja-jp/library/ms187359.aspx

    • 回答としてマーク こむら 2010年10月5日 0:21
    2010年10月4日 14:40
    モデレータ
  • 削除しようとしたログインが何らかのエンドポイントの所有者となっているので、
    そのエンドポイントの所有者を変更しない限り所有者(ログイン)の削除は認めないよ、ということだと思います。

    CREATE ENDPOINT エンドポイント名 AUTHORIZATION ログイン名 ・・・

    みたいな感じでエンドポイントを作成しているときに、そのログインを削除しようとすると、そのエラーが発生します。
    なので、そのエンドポイントの所有者を別のログインに変更してやれば、所有者でなくなったログインは削除できるはずです。

    ALTER AUTHORIZATION ON ENDPOINT::エンドポイント名 TO 別の所有者(ログイン)名

    そもそもそんなエンドポイントなんて作ったかどうか分からない(or忘れた)、何のエンドポイントか分からないということなら、エンドポイントについて調査してみれば良いと思います。
    以下のようなクエリが参考になれば、と思います。

    SELECT E.name AS EndPointName 
    	, P.name AS PrincipalName
    	, E.protocol_desc
    	, E.type_desc
    	, E.state_desc
    FROM sys.endpoints E
    LEFT JOIN sys.server_principals P ON E.principal_id = P.principal_id
    

    ちなみに、エンドポイントの種類については、以下が参考になります。

    sys.endpoints
    http://msdn.microsoft.com/ja-jp/library/ms189746.aspx

    • 回答としてマーク こむら 2010年10月5日 0:21
    2010年10月4日 15:08
  • ご教示有難うございました。

    前任者のエンドポイントの設定についてどうしても情報がえられず困っておりました。

    サンプルSQLまで記載して頂き、おかげで該当エンドポイントがすぐに判明しました。

    権限委譲の手続きにて対応したいと思います。

    初めて当フォーラムにて質問させて頂きましたが、yottun8様、誠に有難うございました、感謝いたします。

     

    2010年10月4日 23:40
  • ご教示有難うございました。

    前任者の設定についてどうしても情報が得られずに困っておりました。

    ElanLilac様のご教示にしたがい、対策を講じたいと思います。

    誠に有難うございました。

    2010年10月4日 23:43