ALTER ENDPOINT(Transact-SQL)

다음 방법으로 기존 끝점을 수정할 수 있도록 합니다.

  • 기존 끝점에 새 메서드 추가

  • 끝점의 기존 메서드 수정 또는 삭제

  • 끝점 속성 변경

[!참고]

이 항목에서는 ALTER ENDPOINT의 구문과 인수에 대해 설명합니다. CREATE ENDPOINT와 ALTER ENDPOINT의 공통 인수에 대한 설명은 CREATE ENDPOINT(Transact-SQL)를 참조하십시오.

SQL Server 2008에서는 네이티브 XML 웹 서비스(SOAP/HTTP 끝점)가 더 이상 사용되지 않습니다. 자세한 내용은 네이티브 XML 웹 서비스: SQL Server 2008 이후에는 사용되지 않음을 참조하십시오.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

ALTER ENDPOINT endPointName
[ 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 }
)

인수

[!참고]

다음은 ALTER ENDPOINT 관련 인수입니다. 나머지 인수에 대한 설명은 CREATE ENDPOINT(Transact-SQL)를 참조하십시오.

  • ADD WEBMETHOD
    새 메서드 끝점을 추가합니다.

    중요 정보중요

    ADD WEBMETHOD를 사용하여 메서드를 노출할 때는 동일한 HTTP 끝점에서 둘 이상의 SQL Server 데이터베이스를 서비스하고 있으면 이름이 중복되지 않는지 확인해야 합니다. 이를 방지하려면 등록된 도메인 이름 URL을 네임스페이스 경로의 일부로 추가하십시오.

  • ALTER WEBMETHOD
    기존 메서드 끝점에 대한 정의를 변경합니다.

  • AS { TCP | HTTP }
    ALTER ENDPOINT를 사용하여 전송 프로프콜은 변경할 수 없습니다.

  • AUTHORIZATION login
    AUTHORIZATION 옵션은 ALTER ENDPOINT에서 사용할 수 없습니다. 소유권은 끝점이 생성된 경우에만 할당될 수 있습니다.

  • DROP WEBMETHOD
    기존 메서드 끝점을 삭제합니다.

  • FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
    ALTER ENDPOINT를 사용하여 페이로드 유형은 변경할 수 없습니다.

주의

ALTER ENDPOINT를 사용할 때는 업데이트할 매개 변수만 지정합니다. 기존 끝점의 모든 속성은 명시적으로 변경하지 않는 한 동일하게 유지됩니다.

사용자 트랜잭션 내에서 ENDPOINT DDL 문을 실행할 수 없습니다.

끝점에 사용할 암호화 알고리즘을 선택하는 방법은 암호화 알고리즘 선택을 참조하십시오.

[!참고]

RC4는 비교적 약한 알고리즘이고 AES는 비교적 강력한 알고리즘입니다. 그러나 AES는 RC4보다 속도가 훨씬 느립니다. 속도보다 보안의 우선 순위가 높은 경우 AES를 사용하는 것이 좋습니다.

사용 권한

사용자는 sysadmin 고정 서버 역할의 멤버 또는 끝점 소유자이거나 ALTER ANY ENDPOINT 권한을 부여받아야 합니다.

기존 끝점의 소유권을 변경하려면 ALTER AUTHORIZATION 문을 사용해야 합니다. 자세한 내용은 ALTER AUTHORIZATION(Transact-SQL)을 참조하십시오.

자세한 내용은 GRANT 끝점 사용 권한(Transact-SQL)를 참조하십시오.

1. 기존 끝점에 새 메서드 추가

다음 예에서는 이전에 만든 sql_endpoint 끝점에 새 메서드를 추가합니다.

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

2. RAW SOAP 모드에서 작동하는 새 메서드 추가

다음 예에서는 FORMAT=NONE으로 지정된 RAW 모드에서 작동하는 ReportUsageStats라는 새 웹 메서드를 추가하여 저장 프로시저의 결과를 있는 그대로 SOAP 클라이언트에 제공합니다. 자세한 내용은 CREATE ENDPOINT(Transact-SQL)의 FORMAT 옵션에 대한 설명을 참조하십시오.

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

변경 내역

업데이트된 내용

허용되지 않는 추가 작업에 대해 설명하는 내용으로 인수 섹션을 업데이트했습니다.