Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Vytvoří koncové body a definuje jejich vlastnosti, včetně metod dostupných pro klientské aplikace. Informace o souvisejících oprávněních najdete v tématu UDĚLENÍ oprávnění koncového bodu.
Syntaxi pro CREATE ENDPOINT lze logicky rozdělit do dvou částí:
První část začíná as a končí před klauzulí
FOR.V této části zadáte informace specifické pro přenosový protokol (TCP) a nastavíte číslo portu naslouchání koncovému bodu a také metodu ověřování koncového bodu nebo seznam IP adres (pokud existuje), které chcete omezit na přístup ke koncovému bodu.
Druhá část začíná klauzulí
FOR.V této části definujete datovou část podporovanou v koncovém bodu. Datová část může být jedním z několika podporovaných typů: Transact-SQL, service broker, zrcadlení databáze. V této části také zahrnete informace specifické pro jazyk.
Syntaxe
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 | ( four_part_ipv4_address ) | ( 'ip_address_v6' ) ]
)
<FOR TSQL_language_specific_arguments> ::=
FOR TSQL (
[ ENCRYPTION = { NEGOTIATED | STRICT } ]
)
<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
endPointName
Přiřazený název koncového bodu, který vytváříte. Používá se při aktualizaci nebo odstranění koncového bodu.
Přihlášení k autorizaci
Určuje platné přihlášení k SQL Serveru nebo Windows, které má přiřazené vlastnictví nově vytvořeného objektu koncového bodu. Pokud autorizaci nezadáte, ve výchozím nastavení se volající stane vlastníkem nově vytvořeného objektu.
Chcete-li přiřadit vlastnictví zadáním AUTORIZACE, volající musí mít oprávnění IMPERSONATE k zadanému přihlášení.
Tato AUTHORIZATION možnost není dostupná v ALTER ENDPOINTsouboru . Vlastnictví je možné přiřadit pouze při vytvoření koncového bodu.
Pokud chcete znovu přiřadit vlastnictví, přečtěte si téma DROP ENDPOINT a pak se vraťte do tohoto článku a znovu vytvořte koncový bod.
STATE = { STARTED | ZASTAVENO | ZAKÁZÁNO }
Stav koncového bodu při jeho vytvoření Pokud se stav při vytvoření koncového bodu nezadá, STOPPED je výchozí hodnota.
ZAČAL
Koncový bod se spustí a aktivně naslouchá připojením.
INVALIDNÍ
Koncový bod je zakázaný. V tomto stavu server naslouchá požadavkům portů, ale vrací klientům chyby.
ZASTAVENÝ
Koncový bod je zastavený. V tomto stavu server nereaguje na port koncového bodu ani nereaguje na žádné pokusy o použití koncového bodu.
Pokud chcete změnit stav, použijte příkaz ALTER ENDPOINT.
AS { TCP }
Určuje přenosový protokol, který se má použít.
FOR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
Určuje typ datové části.
V současné době neexistují žádné Transact-SQL argumenty specifické pro jazyk, které by parametr předal <language_specific_arguments> .
Možnost protokolu TCP
Následující argumenty platí pouze pro možnost protokolu TCP.
LISTENER_PORT = listenerPort
Určuje číslo portu naslouchané pro připojení protokolem TCP/IP zprostředkovatele služeb. Podle konvence se používá číslo 5022, ale jakékoli číslo mezi 1024 a 32767 je platné.
LISTENER_IP = ALL | (four_part_ipv4_address) | ( "ip_address_v6" )
Určuje IP adresu, na které koncový bod naslouchá. Výchozí hodnota je ALL. To znamená, že naslouchací proces přijme připojení na libovolné platné IP adrese.
Pokud konfigurujete zrcadlení databáze s IP adresou místo plně kvalifikovaného názvu domény (ALTER DATABASE SET PARTNER = partner_IP_address nebo ALTER DATABASE SET WITNESS = witness_IP_address), musíte místo vytváření koncových bodů zrcadlení zadat LISTENER_IP =IP_addressLISTENER_IP=ALL .
Možnosti T-SQL
ŠIFROVÁNÍ = { NEGOTIATED | STRICT }
Platí pro: SQL Server 2022 (16.x) a novější
Určuje způsob použití šifrování v procesu. Výchozí hodnota je NEGOTIATED z důvodů kompatibility.
VYJEDNÁVAL
Způsob šifrování připojení se vyjednává mezi serverem a klientem. Skutečné navazované připojení by mohlo šifrovat:
- Pouze zpráva LOGIN7.
- Všechny zprávy kromě PRELOGIN.
- Všechny zprávy.
STRIKTNÍ
Určuje, že všechny zprávy odeslané do tohoto koncového bodu musí být zašifrované a náhradní certifikát by koncový bod nepředal. Pokud hlavička TLS není první zprávou, server přeruší připojení.
možnosti SERVICE_BROKER a DATABASE_MIRRORING
AUTHENTICATION Následující argumenty a ENCRYPTION argumenty jsou společné pro možnosti SERVICE_BROKER a DATABASE_MIRRORING možnosti.
Poznámka:
Možnosti, které jsou specifické pro SERVICE_BROKER, najdete v části SERVICE_BROKER možnosti dále v této části. Možnosti, které jsou specifické pro DATABASE_MIRRORING, najdete v části DATABASE_MIRRORING možnosti dále v této části.
OVĚŘOVÁNÍ = <authentication_options>
Určuje požadavky na ověřování TCP/IP pro připojení pro tento koncový bod. Výchozí hodnota je WINDOWS.
Podporované metody ověřování zahrnují protokol NTLM a/nebo Kerberos.
Důležité
Všechna připojení zrcadlení v instanci serveru používají koncový bod zrcadlení jednoúčelové databáze. Všechny pokusy o vytvoření dalšího koncového bodu zrcadlení databáze selžou.
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
Určuje, že se koncový bod má připojit pomocí ověřovacího protokolu systému Windows k ověření koncových bodů. Toto je výchozí hodnota.
Pokud zadáte metodu autorizace (NTLM nebo KERBEROS), tato metoda se vždy použije jako ověřovací protokol. Výchozí hodnota , způsobí, NEGOTIATEže koncový bod použije protokol vyjednávání systému Windows zvolit ntLM nebo Kerberos.
CERTIFICATE_NAME CERTIFIKÁTU
Určuje, že koncový bod se má ověřit připojení pomocí certifikátu určeného certificate_name k vytvoření identity pro autorizaci. Vzdálený koncový bod musí mít certifikát s veřejným klíčem, který odpovídá privátnímu klíči zadaného certifikátu.
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFIKÁT certificate_name
Určuje, že koncový bod se má pokusit připojit pomocí ověřování systému Windows a pokud se tento pokus nezdaří, zkuste použít zadaný certifikát.
CERTIFIKÁT CERTIFICATE_NAME WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
Určuje, že se koncový bod pokusí připojit pomocí zadaného certifikátu, a pokud se tento pokus nezdaří, zkuste použít ověřování systému Windows.
ŠIFROVÁNÍ = { ZAKÁZÁNO | PODPOROVÁNO | REQUIRED } [ ALGORITMUS { AES | RC4 | AES RC4 | RC4 AES } ]
Určuje, jestli se v procesu používá šifrování. Výchozí hodnota je REQUIRED.
INVALIDNÍ
Určuje, že data odesílaná přes připojení nejsou šifrovaná.
PODPOROVANÝ
Určuje, že data jsou zašifrována pouze v případě, že opačný koncový bod určuje buď SUPPORTED nebo REQUIRED.
POŽADOVANÝ
Určuje, že připojení k tomuto koncovému bodu musí používat šifrování. Proto musí být ENCRYPTION pro připojení k tomuto koncovému bodu nastaven jiný koncový bod buď SUPPORTED nebo REQUIRED.
Volitelně můžete pomocí argumentu ALGORITHM určit formu šifrování, kterou koncový bod používá, následujícím způsobem:
standard AES
Určuje, že koncový bod musí používat algoritmus AES. Toto je výchozí nastavení v SQL Serveru 2016 (13.x) a novějším.
RC4
Určuje, že koncový bod musí používat algoritmus RC4. Toto je výchozí hodnota prostřednictvím SQL Serveru 2014 (12.x).
Poznámka:
Algoritmus RC4 je podporován pouze pro zpětnou kompatibilitu. Nový materiál lze šifrovat pouze pomocí RC4 nebo RC4_128, pokud je databáze v kompatibilitě 90 nebo 100. (Nedoporučuje se.) Místo toho použijte novější algoritmus, například jeden z algoritmů AES. V SQL Serveru 2012 (11.x) a novějších verzích lze materiál šifrovaný pomocí RC4 nebo RC4_128 dešifrovat v libovolné úrovni kompatibility.
AES RC4
Určuje, že dva koncové body budou vyjednávat pro šifrovací algoritmus s tímto koncovým bodem, který dává přednost algoritmu AES.
RC4 AES
Určuje, že dva koncové body budou vyjednávat pro šifrovací algoritmus s tímto koncovým bodem, který dává přednost algoritmu RC4.
Poznámka:
Algoritmus RC4 je zastaralý. Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Doporučujeme používat AES.
Pokud oba koncové body určují oba algoritmy, ale v různých pořadích, koncový bod přijímá připojení vyhrává.
možnosti SERVICE_BROKER
Následující argumenty jsou specifické pro danou SERVICE_BROKER možnost.
MESSAGE_FORWARDING = { ENABLED | ZAKÁZÁNO }
Určuje, jestli se budou předávat zprávy přijaté tímto koncovým bodem pro služby umístěné jinde.
ZPŘÍSTUPNĚNÝ
Přeposílejte zprávy, pokud je dostupná adresa pro přeposílání.
INVALIDNÍ
Zahodí zprávy pro služby umístěné jinde. Toto je výchozí hodnota.
MESSAGE_FORWARD_SIZE = forward_size
Určuje maximální velikost úložiště v megabajtech, která se má přidělit koncovému bodu při ukládání zpráv, které se mají předávat.
možnosti DATABASE_MIRRORING
Následující argument je specifický pro možnost DATABASE_MIRRORING.
ROLE = { WITNESS | PARTNER | ALL }
Určuje roli nebo role zrcadlení databáze, které koncový bod podporuje.
SVĚDEK
Umožňuje koncovému bodu provádět roli určující kopie clusteru v procesu zrcadlení.
Poznámka:
Pro edici WITNESS SQL Server 2005 Express je jedinou dostupnou možností.
PARTNER
Umožňuje koncovému bodu provádět roli partnera v procesu zrcadlení.
ALL
Umožňuje koncovému bodu provádět roli svědka i partnera v procesu zrcadlení.
Další informace o těchto rolích naleznete v tématu Zrcadlení databáze (SQL Server).
Poznámka:
Pro DATABASE_MIRRORING neexistuje žádný výchozí port.
Poznámky
ENDPOINT DDL příkazy nelze provést uvnitř transakce uživatele.
ENDPOINT DDL příkazy selžou ani v případě, že transakce na úrovni izolace aktivního snímku používá změněný koncový bod.
Požadavky se dají spouštět na základě ENDPOINT následujícího:
Členové pevné role serveru správce systému
Vlastník koncového bodu
Uživatelé nebo skupiny, kterým bylo uděleno
CONNECToprávnění ke koncovému bodu
Povolení
Vyžaduje CREATE ENDPOINT oprávnění nebo členství v pevné roli serveru správce systému . Další informace najdete v tématu UDĚLENÍ oprávnění koncového bodu.
Příklady
Vytvoření koncového bodu zrcadlení databáze
Následující příklad vytvoří koncový bod zrcadlení databáze. Koncový bod používá číslo 7022portu, i když by fungovalo jakékoli dostupné číslo portu. Koncový bod je nakonfigurovaný tak, aby používal ověřování systému Windows pouze pomocí protokolu Kerberos. Tato ENCRYPTION možnost je nakonfigurovaná na nedefaultní hodnotu SUPPORTED , která podporuje šifrovaná nebo nešifrovaná data. Koncový bod se konfiguruje tak, aby podporoval role partnera i určujícího partnera.
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP (LISTENER_PORT = 7022)
FOR DATABASE_MIRRORING (
AUTHENTICATION = WINDOWS KERBEROS,
ENCRYPTION = SUPPORTED,
ROLE = ALL);
GO
Vytvoření nového koncového bodu odkazujícího na konkrétní adresu a port IPv4
CREATE ENDPOINT ipv4_endpoint_special
STATE = STARTED
AS TCP (
LISTENER_PORT = 32766,
LISTENER_IP = (10.0.75.1)
)
FOR TSQL ();
-- Keep existing public permission on default endpoint for demo purpose
GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] TO public;
GRANT CONNECT ON ENDPOINT::ipv4_endpoint_special TO login_name;
Vytvoření nového koncového bodu odkazujícího na konkrétní adresu a port IPv6
CREATE ENDPOINT ipv6_endpoint_special STATE = STARTED AS TCP (
LISTENER_PORT = 32766,
LISTENER_IP = ('::1')
)
FOR TSQL();
GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] TO PUBLIC;
GRANT CONNECT ON ENDPOINT::ipv6_endpoint_special TO PUBLIC;
Vytvoření nového koncového bodu s přísným šifrováním
CREATE ENDPOINT [TDSSConnection]
STATE = STARTED
AS TCP (
LISTENER_PORT = 1433,
LISTENER_IP = ALL
)
FOR TSQL (
ENCRYPTION = STRICT
);
GO