ALTER ENDPOINT (Transact-SQL)

既存のエンドポイントを、次の方法で変更できるようにします。

  • 新しいメソッドを既存のエンドポイントに追加する
  • 既存のメソッドを変更するか、またはエンドポイントから削除する
  • エンドポイントのプロパティを変更する
ms186332.note(ja-jp,SQL.90).gifメモ :
このトピックでは、ALTER ENDPOINT に固有の構文および引数について説明します。CREATE ENDPOINT と ALTER ENDPOINT の両方に共通の引数 (HTTP と TCP プロトコルに固有で、かつ SOAP、TSQL、SERVICE_BROKER、および DATABASE_MIRRORING ペイロードに固有なすべてのアイテムを含む) の説明については、「CREATE ENDPOINT (Transact-SQL)」を参照してください。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

ALTER ENDPOINT endPointName [ AUTHORIZATION login ]
 [ STATE = { STARTED | STOPPED | DISABLED } ]
AS { TCP | HTTP } (
   <protocol_specific_items>
        )
FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING } (
   <language_specific_items>
        )

<AS HTTP_protocol_specific_arguments> ::=
AS HTTP (
  [ [ , ] PATH = 'url' ]
  [ [ , ] PORTS = ( { CLEAR | SSL } [ ,...n ] ) ]
  [ [ , ] SITE = { '*' | '+' | 'webSite' } , ]
  [ [ , ] CLEAR_PORT = clearPort ]
  [ [ , ] SSL_PORT = SSLPort ]
  [ [,] AUTHENTICATION = ( { BASIC | DIGEST | NTLM | KERBEROS | INTEGRATED } [ ,...n ] ) ]
  [ [ , ] AUTH_REALM = { 'realm' | NONE } ]
  [ [ , ] DEFAULT_LOGON_DOMAIN = { 'domain' | NONE } ]
  [ [ , ] COMPRESSION = { ENABLED | DISABLED } ]
)

<AS TCP_protocol_specific_arguments> ::=
AS TCP (
  LISTENER_PORT = listenerPort
  [ [ , ] LISTENER_IP = ALL | ( 4-part-ip ) | ( "ip_address_v6" ) ]
)

<FOR SOAP_language_specific_arguments> ::=
FOR SOAP (
  [ { ADD WEBMETHOD [ 'namespace' .] 'method_alias' 
    (   NAME = 'database.owner.name'
      [ , SCHEMA = {NONE | STANDARD | DEFAULT } ]
      [ , FORMAT = { ALL_RESULTS | ROWSETS_ONLY | NONE} ]
    )  
  } [ ,...n ] 
  ]

  [ { ALTER WEBMETHOD [ 'namespace' .] 'method_alias' 
    (   NAME = 'database.owner.name'
      [ , SCHEMA = {NONE | STANDARD | DEFAULT} ]
      [ , FORMAT = { ALL_RESULTS | ROWSETS_ONLY } ]
    )  
  } [ ,...n] 
]
  [ [ , ] { DROP WEBMETHOD [ 'namespace' .] 'method_alias' } [ ,...n ] ]
  [ [ , ] BATCHES = { ENABLED | DISABLED } ]
  [ [ , ] WSDL = { NONE | DEFAULT | 'sp_name' } ]
  [ [ , ] SESSIONS = { ENABLED | DISABLED } ]
  [ [ , ] LOGIN_TYPE = { MIXED | WINDOWS } ]
  [ [ , ] SESSION_TIMEOUT = timeoutInterval ]
  [ [ , ] DATABASE = { 'database_name' | DEFAULT } ]
  [ [ , ] NAMESPACE = { 'namespace' | DEFAULT } ]
  [ [ , ] SCHEMA = { NONE | STANDARD } ]
  [ [ , ] CHARACTER_SET = { SQL | XML } ]
  [ [ , ] HEADER_LIMIT = int ]
)

<FOR SERVICE_BROKER_language_specific_arguments> ::=
FOR SERVICE_BROKER (
   [ AUTHENTICATION = { 
      WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
      | CERTIFICATE certificate_name 
      | WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name 
      | CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] 
    } ]
   [ , ENCRYPTION = { DISABLED 
       | 
         {{SUPPORTED | REQUIRED } 
       [ ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ] } 
   ]

  [ , MESSAGE_FORWARDING = {ENABLED | DISABLED} ]
  [ , MESSAGE_FORWARD_SIZE = forwardSize
)

<FOR DATABASE_MIRRORING_language_specific_arguments> ::=
FOR DATABASE_MIRRORING (
   [ AUTHENTICATION = { 
      WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
      | CERTIFICATE certificate_name 
      | WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name 
      | CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] 
    } ]
   [ , ENCRYPTION = { DISABLED 
       | 
         {{SUPPORTED | REQUIRED } 
       [ ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ] } 
    ] 
   [ , ] ROLE = { WITNESS | PARTNER | ALL }
)

引数

ms186332.note(ja-jp,SQL.90).gifメモ :
次の引数は、ALTER ENDPOINT に固有の引数です。CREATE ENDPOINT と ALTER ENDPOINT の両方に共通の引数 (HTTP と TCP プロトコルに固有で、かつ SOAP、TSQL、SERVICE_BROKER、および DATABASE_MIRRORING ペイロードに固有なすべてのアイテムを含む) の説明については、「CREATE ENDPOINT (Transact-SQL)」を参照してください。
  • ADD WEBMETHOD
    新しいメソッド エンドポイントを追加します。

    ms186332.note(ja-jp,SQL.90).gif重要 :
    ADD WEBMETHOD を使用してメソッドを公開する際には、複数の SQL Server データベースが同じ HTTP エンドポイントによって処理される場合に名前の重複が発生しないようにする必要があります。名前の重複を回避するには、登録済みのドメイン名の URL を、名前空間のパスの一部として追加することをお勧めします。
  • ALTER WEBMETHOD
    既存のメソッド エンドポイントの定義を変更します。
  • DROP WEBMETHOD
    既存のメソッド エンドポイントを削除します。

解説

ALTER ENDPOINT を使用する場合、更新するパラメータのみを指定します。既存のエンドポイントのすべてのプロパティは、明示的に変更しない限り変更されません。

ENDPOINT DDL ステートメントは、ユーザー トランザクション内部では実行できません。

エンドポイントに対して使用する暗号化アルゴリズムの選択については、「暗号化アルゴリズムの選択」を参照してください。

ms186332.note(ja-jp,SQL.90).gifメモ :
RC4 は比較的弱いアルゴリズムで、AES は比較的強いアルゴリズムです。しかし、AES は RC4 に比べて非常に処理が遅くなります。速度よりもセキュリティを優先する場合は、AES を使用することをお勧めします。

権限

固定サーバー ロール sysadmin のメンバであるか、そのエンドポイントの所有者であるか、または ALTER ANY ENDPOINT 権限が許可されている必要があります。

既存のエンドポイントの所有権を変更するには、ALTER AUTHORIZATION ステートメントを使用する必要があります。詳細については、「ALTER AUTHORIZATION (Transact-SQL)」を参照してください。

詳細については、「GRANT (エンドポイントの権限の許可) (Transact-SQL)」を参照してください。

A. 新しいメソッドを既存のエンドポイントに追加する

次の例では、新しいメソッドを、以前に作成されたエンドポイント sql_endpoint に追加します。

ALTER ENDPOINT sql_endpoint
FOR SOAP
(
  ADD WEBMETHOD 'SayHello' (name='AdventureWorks.dbo.SayHello')
);

B. RAW SOAP モードで動作する新しいメソッドを追加する

次の例では、新しい Web メソッド ReportUsageStats を、RAW モードでの動作を表す FORMAT=NONE の指定と共に追加し、ストアド プロシージャの結果を手を加えずに SOAP クライアントに配信します。詳細については、「CREATE ENDPOINT (Transact-SQL)」の FORMAT オプションの説明を参照してください。

ALTER ENDPOINT sql_endpoint
FOR SOAP
(
  ADD WEBMETHOD 'ReportUsageStats' (name='myDatabase.dbo.sp_reportserverstats', FORMAT=NONE)
);

参照

関連項目

CREATE ENDPOINT (Transact-SQL)
DROP ENDPOINT (Transact-SQL)
EVENTDATA (Transact-SQL)

その他の技術情報

サンプル XML アプリケーション

ヘルプおよび情報

SQL Server 2005 の参考資料の入手