CREATE ENDPOINT(Transact-SQL)CREATE ENDPOINT (Transact-SQL)

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

클라이언트 응용 프로그램에 사용할 수 있는 메서드를 포함하여 끝점을 만들고 속성을 정의합니다.Creates endpoints and defines their properties, including the methods available to client applications. 관련된 사용 권한 정보를 참조 하십시오. GRANT 끝점 사용 권한 ( Transact SQL ) .For related permissions information, see GRANT Endpoint Permissions (Transact-SQL).

CREATE ENDPOINT의 구문은 논리적으로 다음과 같이 두 부분으로 나눌 수 있습니다.The syntax for CREATE ENDPOINT can logically be broken into two parts:

  • 첫 번째 부분은 AS로 시작하고 FOR 절 앞에서 끝납니다.The first part starts with AS and ends before the FOR clause.

    이 부분에서는 전송 프로토콜(TCP)과 관련된 정보를 제공하며 끝점의 수신 포트 번호를 설정하고 끝점 인증 방법 및/또는 끝점에 대한 액세스를 차단할 IP 주소(있는 경우) 목록을 설정합니다.In this part, you provide information specific to the transport protocol (TCP) and set a listening port number for the endpoint, as well as the method of endpoint authentication and/or a list of IP addresses (if any) that you want to restrict from accessing the endpoint.

  • 두 번째 부분은 FOR 절로 시작합니다.The second part starts with the FOR clause.

    이 부분에서는 끝점에서 지원되는 페이로드를 정의합니다.In this part, you define the payload that is supported on the endpoint. 페이로드는 지원 되는 여러 가지 유형 중 하나일 수 있습니다: Transact-SQLTransact-SQL, service broker, 미러링 데이터베이스.The payload can be one of several supported types: Transact-SQLTransact-SQL, service broker, database mirroring. 또한 이 부분에는 언어별 정보도 포함됩니다.In this part, you also include language-specific information.

참고: 네이티브 XML 웹 서비스 (SOAP/HTTP 끝점)에서 제거 되었던 SQL Server 2012SQL Server 2012합니다.NOTE: Native XML Web Services (SOAP/HTTP endpoints) was removed in SQL Server 2012SQL Server 2012.

항목 링크 아이콘 Transact-SQL 구문 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax

CREATE ENDPOINT endPointName [ AUTHORIZATION login ]  
[ STATE = { STARTED | STOPPED | DISABLED } ]  
AS { TCP } (  
   <protocol_specific_arguments>  
        )  
FOR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING } (  
   <language_specific_arguments>  
        )  

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

)  

<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 { AES | RC4 | AES RC4 | RC4 AES } ] }   
   ]  
   [ [ , ] MESSAGE_FORWARDING = { ENABLED | DISABLED } ]  
   [ [ , ] MESSAGE_FORWARD_SIZE = forward_size ]  
)  


<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 { AES | RC4 | AES RC4 | RC4 AES } ] }   

    ]   
   [ , ] ROLE = { WITNESS | PARTNER | ALL }  
)  

인수Arguments

endPointNameendPointName
만들어지는 끝점에 할당할 이름입니다.Is the assigned name for the endpoint you are creating. 끝점을 업데이트하거나 삭제할 때 사용합니다.Use when updating or deleting the endpoint.

권한 부여 로그인AUTHORIZATION login
새로 만들어지는 끝점 개체의 소유권을 할당할 유효한 SQL ServerSQL Server 또는 Windows 로그인을 지정합니다.Specifies a valid SQL ServerSQL Server or Windows login that is assigned ownership of the newly created endpoint object. AUTHORIZATION이 지정되지 않은 경우 기본적으로 호출자가 새로 만들어지는 개체의 소유자가 됩니다.If AUTHORIZATION is not specified, by default, the caller becomes owner of the newly created object.

권한 부여를 지정 하 여 소유권을 할당 하려면 호출자에 게 있어야 대 한 IMPERSONATE 권한이 지정 된 로그인합니다.To assign ownership by specifying AUTHORIZATION, the caller must have IMPERSONATE permission on the specified login.

소유권을 다시 할당 참조 ALTER endpoint( Transact SQL ) .To reassign ownership, see ALTER ENDPOINT (Transact-SQL).

상태 = {시작 됨 | STOPPED | (를) 사용 안 함STATE = { STARTED | STOPPED | DISABLED }
끝점이 생성될 때의 끝점 상태입니다.Is the state of the endpoint when it is created. 끝점을 만들 때 상태를 지정하지 않으면 STOPPED가 기본값이 됩니다.If the state is not specified when the endpoint is created, STOPPED is the default.

STARTEDSTARTED
끝점이 시작되어 연결 수신 대기 중입니다.Endpoint is started and is actively listening for connections.

DISABLEDDISABLED
끝점이 해제되었습니다.Endpoint is disabled. 이 상태일 경우 서버는 포트 요청을 수신하지만 오류를 클라이언트에 반환합니다.In this state, the server listens to port requests but returns errors to clients.

중지 됨STOPPED
끝점이 중지되었습니다.Endpoint is stopped. 이 상태에서 서버는 끝점 포트로의 수신을 대기하거나 끝점을 사용하기 위해 시도된 요청에 응답하지 않습니다.In this state, the server does not listen to the endpoint port or respond to any attempted requests to use the endpoint.

상태를 변경 하려면 사용 ALTER endpoint( Transact SQL ) .To change the state, use ALTER ENDPOINT (Transact-SQL).

AS { TCP }AS { TCP }
사용할 전송 프로토콜을 지정합니다.Specifies the transport protocol to use.

FOR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING }FOR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
페이로드 유형을 지정합니다.Specifies the payload type.

현재 <language_specific_arguments> 매개 변수에 전달할 Transact-SQLTransact-SQL 언어 관련 인수는 없습니다.Currently, there are no Transact-SQLTransact-SQL language-specific arguments to pass in the <language_specific_arguments> parameter.

TCP 프로토콜 옵션TCP Protocol Option

다음 인수는 TCP 프로토콜 옵션에만 적용됩니다.The following arguments apply only to the TCP protocol option.

LISTENER_PORT = listenerPortLISTENER_PORT =listenerPort
Service Broker TCP/IP 프로토콜을 통한 연결을 수신하는 포트 번호를 지정합니다.Specifies the port number listened to for connections by the service broker TCP/IP protocol. 규칙에 따라 4022가 사용되지만 1024와 32767 사이의 모든 번호를 사용할 수 있습니다.By convention, 4022 is used but any number between 1024 and 32767 is valid.

LISTENER_IP = 모든 | (4 부분 ip ) | ( "ip_address_v6" )LISTENER_IP = ALL | (4-part-ip ) | ( "ip_address_v6" )
끝점이 수신하는 IP 주소를 지정합니다.Specifies the IP address that the endpoint will listen on. 기본값은 ALL입니다.The default is ALL. 이는 수신기가 모든 유효한 IP 주소에 대한 연결을 허용함을 의미합니다.This means that the listener will accept a connection on any valid IP address.

정규화된 도메인 이름(ALTER DATABASE SET PARTNER = partner_IP_address 또는 ALTER DATABASE SET WITNESS = witness_IP_address) 대신 IP 주소를 사용하여 데이터베이스 미러링을 구성하는 경우 미러링 끝점을 만들 때 LISTENER_IP =IP_address 대신 LISTENER_IP=ALL를 지정해야 합니다.If you configure database mirroring with an IP address instead of a fully-qualified domain name (ALTER DATABASE SET PARTNER = partner_IP_address or ALTER DATABASE SET WITNESS = witness_IP_address), you have to specify LISTENER_IP =IP_address instead of LISTENER_IP=ALL when you create mirroring endpoints.

SERVICE_BROKER 및 DATABASE_MIRRORING 옵션SERVICE_BROKER and DATABASE_MIRRORING Options

다음 AUTHENTICATION 및 ENCRYPTION 인수는 SERVICE_BROKER 및 DATABASE_MIRRORING 옵션에 사용할 수 있는 공통 인수입니다.The following AUTHENTICATION and ENCRYPTION arguments are common to the SERVICE_BROKER and DATABASE_MIRRORING options.

참고

SERVICE_BROKER와 관련된 옵션은 이 섹션 뒷부분의 "SERVICE_BROKER 옵션"을 참조하십시오.For options that are specific to SERVICE_BROKER, see "SERVICE_BROKER Options," later in this section. DATABASE_MIRRORING과 관련된 옵션은 이 섹션 뒷부분의 "DATABASE_MIRRORING 옵션"을 참조하십시오.For options that are specific to DATABASE_MIRRORING, see "DATABASE_MIRRORING Options," later in this section.

인증 = <authentication_options >이 끝점에 대 한 연결에 대 한 TCP/IP 인증 요구 사항을 지정 합니다.AUTHENTICATION = <authentication_options> Specifies the TCP/IP authentication requirements for connections for this endpoint. 기본값은 WINDOWS입니다.The default is WINDOWS.

지원되는 인증 방법에는 NTLM 또는 Kerberos가 있으며 둘 다 사용할 수도 있습니다.The supported authentication methods include NTLM and or Kerberos or both.

중요

서버 인스턴스의 모든 미러링 연결은 하나의 데이터베이스 미러링 끝점을 사용합니다.All mirroring connections on a server instance use a single database mirroring endpoint. 추가 데이터베이스 미러링 끝점을 만들려고 시도하면 실패합니다.Any attempt to create an additional database mirroring endpoint will fail.

<authentication_options >:: =<authentication_options> ::=

WINDOWS [{NTLM | KERBEROS | NEGOTIATE }]WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
끝점이 인증을 위해 Windows 인증 프로토콜을 사용하여 연결하도록 지정합니다.Specifies that the endpoint is to connect using Windows Authentication protocol to authenticate the endpoints. 기본값입니다.This is the default.

인증 방법(NTLM 또는 KERBEROS)을 지정한 경우 항상 해당 방법이 인증 프로토콜로 사용됩니다.If you specify an authorization method (NTLM or KERBEROS), that method is always used as the authentication protocol. 기본값인 NEGOTIATE를 적용하면 끝점이 Windows 협상 프로토콜을 사용하여 NTLM이나 Kerberos를 선택합니다.The default value, NEGOTIATE, causes the endpoint to use the Windows negotiation protocol to choose either NTLM or Kerberos.

인증서 certificate_nameCERTIFICATE certificate_name
으로 지정 된 인증서를 사용 하 여 연결을 인증 하는 끝점 임을 지정 certificate_name 권한 부여에 대 한 id를 설정 합니다.Specifies that the endpoint is to authenticate the connection using the certificate specified by certificate_name to establish identity for authorization. 먼 끝점에는 지정된 인증서의 개인 키와 일치하는 공개 키를 가진 인증서가 있어야 합니다.The far endpoint must have a certificate with the public key matching the private key of the specified certificate.

WINDOWS [{NTLM | KERBEROS | NEGOTIATE }] 인증서 certificate_nameWINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
Windows 인증을 사용하여 끝점이 연결을 시도하고 이 시도가 실패하면 지정한 인증서를 사용하여 연결을 시도하도록 지정합니다.Specifies that endpoint is to try to connect by using Windows Authentication and, if that attempt fails, to then try using the specified certificate.

인증서 certificate_name WINDOWS [{NTLM | KERBEROS | NEGOTIATE }]CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
지정한 인증서를 사용하여 끝점이 연결을 시도하고 이 시도가 실패하면 Windows 인증을 사용하여 연결을 시도하도록 지정합니다.Specifies that endpoint is to try to connect by using the specified certificate and, if that attempt fails, to then try using Windows Authentication.

암호화 = {사용 안 함 | 지원 | REQUIRED } [알고리즘 { AES | RC4 | AES R C 4 | RC4 AES}]ENCRYPTION = { DISABLED | SUPPORTED | REQUIRED } [ALGORITHM { AES | RC4 | AES RC4 | RC4 AES } ]
프로세스에서 암호화를 사용할지 여부를 지정합니다.Specifies whether encryption is used in the process. 기본값은 REQUIRED입니다.The default is REQUIRED.

DISABLEDDISABLED
연결을 통해 전송되는 데이터를 암호화하지 않도록 지정합니다.Specifies that data sent over a connection is not encrypted.

SUPPORTEDSUPPORTED
반대쪽 끝점이 SUPPORTED나 REQUIRED로 지정된 경우에만 데이터를 암호화하도록 지정합니다.Specifies that the data is encrypted only if the opposite endpoint specifies either SUPPORTED or REQUIRED.

REQUIREDREQUIRED
이 끝점에 대한 연결이 암호화를 사용하도록 지정합니다.Specifies that connections to this endpoint must use encryption. 따라서 이 끝점에 연결하려면 다른 끝점의 ENCRYPTION이 SUPPORTED 또는 REQUIRED로 설정되어 있어야 합니다.Therefore, to connect to this endpoint, another endpoint must have ENCRYPTION set to either SUPPORTED or REQUIRED.

필요에 따라 다음과 같이 ALGORITHM 인수를 사용하여 끝점에 사용되는 암호화 형식을 지정할 수 있습니다.Optionally, you can use the ALGORITHM argument to specify the form of encryption used by the endpoint, as follows:

AESAES
끝점이 반드시 AES 알고리즘을 반드시 사용하도록 지정합니다.Specifies that the endpoint must use the AES algorithm. 이 대화 상자에서 기본 SQL Server 2016SQL Server 2016 이상.This is the default in SQL Server 2016SQL Server 2016 and later.

RC4RC4
끝점이 반드시 RC4 알고리즘을 사용하도록 지정합니다.Specifies that the endpoint must use the RC4 algorithm. 이 통해 기본값 SQL Server 2014SQL Server 2014합니다.This is the default through SQL Server 2014SQL Server 2014.

참고

RC4 알고리즘은 이전 버전과의 호환성을 위해서만 지원됩니다.The RC4 algorithm is only supported for backward compatibility. 데이터베이스의 호환성 수준이 90 또는 100인 경우 새 자료는 RC4 또는 RC4_128로만 암호화할 수 있습니다.New material can only be encrypted using RC4 or RC4_128 when the database is in compatibility level 90 or 100. 이 옵션은 사용하지 않는 것이 좋습니다. 대신 AES 알고리즘 중 하나와 같은 새 알고리즘을 사용하십시오.(Not recommended.) Use a newer algorithm such as one of the AES algorithms instead. SQL Server 2012SQL Server 2012 이상 버전에서 RC4 또는 RC4_128을 사용하여 암호화된 자료는 모든 호환성 수준에서 해독할 수 있습니다.In SQL Server 2012SQL Server 2012 and later versions, material encrypted using RC4 or RC4_128 can be decrypted in any compatibility level.

AES RC4AES RC4
두 끝점이 암호화 알고리즘에 대해 협상하고 이 끝점이 AES 알고리즘에 우선권을 주도록 지정합니다.Specifies that the two endpoints will negotiate for an encryption algorithm with this endpoint giving preference to the AES algorithm.

RC4 AESRC4 AES
두 끝점이 암호화 알고리즘에 대해 협상하고 이 끝점이 RC4 알고리즘에 우선권을 주도록 지정합니다.Specifies that the two endpoints will negotiate for an encryption algorithm with this endpoint giving preference to the RC4 algorithm.

참고

RC4 알고리즘은 더 이상 사용되지 않습니다.The RC4 algorithm is deprecated. Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다.This feature will be removed in a future version of Microsoft SQL Server. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 가능한 한 빨리 수정하세요.Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. AES를 사용하는 것이 좋습니다. We recommend that you use AES.

양쪽 끝점이 두 알고리즘을 모두 지정하지만 순서가 다른 경우 연결을 수락하는 끝점의 알고리즘이 적용됩니다.If both endpoints specify both algorithms but in different orders, the endpoint accepting the connection wins.

SERVICE_BROKER 옵션SERVICE_BROKER Options

다음은 SERVICE_BROKER 옵션에 대한 인수입니다.The following arguments are specific to the SERVICE_BROKER option.

MESSAGE_FORWARDING = {사용 | 비활성화 }MESSAGE_FORWARDING = { ENABLED | DISABLED }
끝점에서 수신한 메시지가 다른 위치에 있는 서비스에 관련된 것일 경우 이 메시지를 전달할지 여부를 결정합니다.Determines whether messages received by this endpoint that are for services located elsewhere will be forwarded.

ENABLEDENABLED
전달 주소가 있을 경우 메시지를 전달합니다.Forwards messages if a forwarding address is available.

DISABLEDDISABLED
다른 위치에 있는 서비스에 대한 메시지를 무시합니다.Discards messages for services located elsewhere. 기본값입니다.This is the default.

MESSAGE_FORWARD_SIZE = forward_sizeMESSAGE_FORWARD_SIZE =forward_size
끝점이 전달할 메시지를 저장할 때 사용할 수 있는 최대 저장 크기(MB)를 지정합니다.Specifies the maximum amount of storage in megabytes to allocate for the endpoint to use when storing messages that are to be forwarded.

DATABASE_MIRRORING 옵션DATABASE_MIRRORING Options

다음은 DATABASE_MIRRORING 옵션에 대한 인수입니다.The following argument is specific to the DATABASE_MIRRORING option.

역할 = {미러링 모니터 서버 | 파트너 | 모든}ROLE = { WITNESS | PARTNER | ALL }
데이터베이스 미러링 역할 또는 끝점이 지원하는 역할을 지정합니다.Specifies the database mirroring role or roles that the endpoint supports.

WITNESSWITNESS
미러링 프로세스에서 끝점이 미러링 모니터의 역할을 수행하도록 합니다.Enables the endpoint to perform in the role of a witness in the mirroring process.

참고

SQL Server 2005 Express EditionSQL Server 2005 Express Edition의 경우 WITNESS 옵션만 사용할 수 있습니다.For SQL Server 2005 Express EditionSQL Server 2005 Express Edition, WITNESS is the only option available.

PARTNERPARTNER
미러링 프로세스에서 끝점이 파트너의 역할을 수행하도록 합니다.Enables the endpoint to perform in the role of a partner in the mirroring process.

ALLALL
미러링 프로세스에서 끝점이 미러링 모니터 및 파트너 역할을 모두 수행하도록 지정합니다.Enables the endpoint to perform in the role of both a witness and a partner in the mirroring process.

이러한 역할에 대 한 자세한 내용은 참조 하십시오. 데이터베이스 미러링 ( SQL Server ) .For more information about these roles, see Database Mirroring (SQL Server).

참고

DATABASE_MIRRORING에 대한 기본 포트는 없습니다.There is no default port for DATABASE_MIRRORING.

주의Remarks

ENDPOINT DDL 문은 사용자 트랜잭션 내에서 실행할 수 없습니다.ENDPOINT DDL statements cannot be executed inside a user transaction. 활성 스냅숏 격리 수준 트랜잭션이 변경되는 끝점을 사용하는 경우에도 ENDPOINT DDL 문은 실패하지 않습니다.ENDPOINT DDL statements do not fail even if an active snapshot isolation level transaction is using the endpoint being altered.

ENDPOINT에 대한 요청을 실행할 수 있는 사람은 다음과 같습니다.Requests can be executed against an ENDPOINT by the following:

  • 멤버 sysadmin 고정된 서버 역할Members of sysadmin fixed server role

  • 끝점의 소유자The owner of the endpoint

  • 끝점에 대한 CONNECT 권한이 부여된 사용자 또는 그룹Users or groups that have been granted CONNECT permission on the endpoint

PermissionsPermissions

CREATE ENDPOINT 권한 또는 sysadmin 고정 서버 역할의 멤버 자격이 필요합니다.Requires CREATE ENDPOINT permission, or membership in the sysadmin fixed server role. 자세한 내용은 GRANT 끝점 사용 권한(Transact-SQL)을 참조하세요.For more information, see GRANT Endpoint Permissions (Transact-SQL).

예제Example

데이터베이스 미러링 끝점 만들기Creating a database mirroring endpoint

다음 예에서는 데이터베이스 미러링 끝점을 만듭니다.The following example creates a database mirroring endpoint. 사용할 수 있는 포트 번호라면 어떤 것이라도 관계 없으나 여기서는 끝점이 7022 포트 번호를 사용합니다.The endpoint uses port number 7022, although any available port number would work. 끝점은 Kerberos만을 사용하는 Windows 인증을 사용하도록 구성됩니다.The endpoint is configured to use Windows Authentication using only Kerberos. ENCRYPTION 옵션은 암호화되거나 암호화되지 않은 데이터를 모두 지원하기 위해 기본값이 아닌 SUPPORTED로 구성됩니다.The ENCRYPTION option is configured to the nondefault value of SUPPORTED to support encrypted or unencrypted data. 끝점은 파트너와 미러링 모니터 역할을 모두 지원하도록 구성됩니다.The endpoint is being configured to support both the partner and witness roles.

CREATE ENDPOINT endpoint_mirroring  
    STATE = STARTED  
    AS TCP ( LISTENER_PORT = 7022 )  
    FOR DATABASE_MIRRORING (  
       AUTHENTICATION = WINDOWS KERBEROS,  
       ENCRYPTION = SUPPORTED,  
       ROLE=ALL);  
GO  

참고 항목See also

ALTER ENDPOINT(Transact-SQL) ALTER ENDPOINT (Transact-SQL)
암호화 알고리즘 선택 Choose an Encryption Algorithm
DROP ENDPOINT(Transact-SQL) DROP ENDPOINT (Transact-SQL)
EVENTDATA(Transact-SQL)EVENTDATA (Transact-SQL)