CREATE ENDPOINT (Transact-SQL)

A következőkre vonatkozik:SQL Server

Végpontokat hoz létre, és meghatározza azok tulajdonságait, beleértve az ügyfélalkalmazások számára elérhető módszereket is. A kapcsolódó engedélyekkel kapcsolatos információkért tekintse meg a GRANT végpontengedélyeit.

A szintaxis logikailag CREATE ENDPOINT két részre bontható:

  • Az első rész az AS-vel kezdődik, és a FOR záradék előtt ér véget.

    Ebben a részben az átviteli protokollra (TCP) vonatkozó információkat ad meg, és beállítja a végpont figyelési portszámát, valamint a végponthitelesítés módját és/vagy azon IP-címek listáját (ha vannak ilyenek), amelyeket korlátozni szeretne a végpont eléréséhez.

  • A második rész a FOR záradékkal kezdődik.

    Ebben a részben a végponton támogatott hasznos adatokat határozza meg. A hasznos adat számos támogatott típus egyike lehet: Transact-SQL, szolgáltatásközvetítő, adatbázis-tükrözés. Ebben a részben nyelvspecifikus információkat is tartalmaz.

Transact-SQL szintaxis konvenciók

Szemantika

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

A létrehozott végpont hozzárendelt neve. A végpont frissítésekor vagy törlésekor használható.

ENGEDÉLYEZÉSI bejelentkezés

Egy érvényes SQL Server- vagy Windows-bejelentkezést ad meg, amely az újonnan létrehozott végpontobjektum tulajdonjogához van hozzárendelve. Ha az ENGEDÉLYEZÉS nincs megadva, alapértelmezés szerint a hívó lesz az újonnan létrehozott objektum tulajdonosa.

Az ENGEDÉLYEZÉS megadásával történő tulajdonjog-hozzárendeléshez a hívónak impERSONATE engedéllyel kell rendelkeznie a megadott bejelentkezéshez.

A AUTHORIZATION beállítás nem érhető el a következőben ALTER ENDPOINT: . Tulajdonjog csak a végpont létrehozásakor rendelhető hozzá.

A tulajdonjog újbóli hozzárendeléséhez tekintse meg a DROP ENDPOINT-ot , majd térjen vissza ehhez a cikkhez a végpont újbóli létrehozásához.

STATE = { STARTED | LEÁLLÍTVA | LETILTVA }

A végpont létrehozásakor megadott állapot. Ha a végpont létrehozásakor nincs megadva az állapot, STOPPED akkor ez az alapértelmezett érték.

KEZDETT

A végpont elindult, és aktívan figyeli a kapcsolatokat.

FOGYATÉKOS

A végpont le van tiltva. Ebben az állapotban a kiszolgáló figyeli a portkérelmeket, de hibákat ad vissza az ügyfeleknek.

MEGÁLLT

A végpont le van állítva. Ebben az állapotban a kiszolgáló nem figyeli a végpontportot, és nem válaszol a végpont használatára tett kísérletekre.

Az állapot módosításához használja az ALTER ENDPOINT parancsot.

AS { TCP }

A használni kívánt átviteli protokollt adja meg.

FOR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING }

Megadja a hasznos adat típusát.

Jelenleg nincsenek Transact-SQL nyelvspecifikus argumentumok a <language_specific_arguments> paraméterben.

TCP protokollbeállítás

Az alábbi argumentumok csak a TCP protokoll beállítására vonatkoznak.

LISTENER_PORT = figyelőport

Megadja a szolgáltatásközvetítő TCP/IP protokollja által a kapcsolatokra figyelt portszámot. Konvenció szerint a rendszer az 5022-et használja, de az 1024 és 32767 közötti szám érvényes.

LISTENER_IP = ALL | (four_part_ipv4_address) | ( "ip_address_v6" )

Megadja a végpont által figyelt IP-címet. Az alapértelmezett érték az ALL. Ez azt jelenti, hogy a figyelő bármilyen érvényes IP-címen elfogad egy kapcsolatot.

Ha az adatbázis-tükrözést ip-címmel konfigurálja a teljes tartománynév (ALTER DATABASE SET PARTNER = partner_IP_addressvagy ALTER DATABASE SET WITNESS = witness_IP_address), akkor a tükrözési végpontok létrehozása helyett LISTENER_IP =IP_address meg kell adniaLISTENER_IP=ALL.

T-SQL-beállítások

ENCRYPTION = { NEGOTIATED | SZIGORÚ }

A következőkre vonatkozik: SQL Server 2022 (16.x) és újabb verziók

Megadja, hogyan használja a titkosítást a folyamat. Az alapértelmezett a TÁRGYALÁSOS kompatibilitási okokból.

TÁRGYALÁSOS

A kapcsolat titkosításának módja megegyezik a kiszolgáló és az ügyfél között. A létrehozott tényleges kapcsolat titkosítható:

  • Csak LOGIN7 üzenet.
  • A PRELOGIN kivételével az összes üzenet.
  • Az összes üzenet.

SZIGORÚ

Azt határozza meg, hogy a végpontnak küldött összes üzenetet titkosítva kell lennie, és a tartalék tanúsítvány nem jelenik meg a végpont számára. Ha nem a TLS-fejléc az első üzenet, a kiszolgáló megszakítja a kapcsolatot.

SERVICE_BROKER és DATABASE_MIRRORING lehetőségek

A következők AUTHENTICATION és ENCRYPTION az argumentumok gyakoriak a lehetőségek és DATABASE_MIRRORING a SERVICE_BROKER lehetőségek között.

Megjegyzés:

A konkrét SERVICE_BROKERbeállításokért lásd a szakasz későbbi SERVICE_BROKER beállításait . A konkrét DATABASE_MIRRORINGbeállításokért lásd a szakasz későbbi DATABASE_MIRRORING beállításait .

HITELESÍTÉS = <authentication_options>

Megadja a végponthoz tartozó kapcsolatok TCP/IP-hitelesítési követelményeit. Az alapértelmezett érték a WINDOWS.

A támogatott hitelesítési módszerek közé tartozik az NTLM és/vagy a Kerberos.

Fontos

A kiszolgálópéldány összes tükrözési kapcsolata egyetlen adatbázistükrözési végpontot használ. A további adatbázis-tükrözési végpont létrehozására tett kísérletek sikertelenek lesznek.

WINDOWS [ { NTLM | KERBEROS | EGYEZTETÉS } ]

Megadja, hogy a végpont a végpontok hitelesítéséhez a Windows Hitelesítési protokoll használatával csatlakozik. Ez az alapértelmezett érték.

Ha megad egy engedélyezési módszert (NTLM vagy KERBEROS), akkor a rendszer mindig ezt a módszert használja hitelesítési protokollként. Az alapértelmezett érték azt eredményezi, NEGOTIATEhogy a végpont a Windows tárgyalási protokollt használja az NTLM vagy a Kerberos kiválasztásához.

TANÚSÍTVÁNY certificate_name

Megadja, hogy a végpont hitelesítse a kapcsolatot a certificate_name által megadott tanúsítvánnyal az engedélyezéshez szükséges identitás létrehozásához. A távoli végpontnak rendelkeznie kell egy tanúsítvánnyal, amely a megadott tanúsítvány titkos kulcsának megfelelő nyilvános kulccsal rendelkezik.

WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name

Azt adja meg, hogy a végpont a Windows-hitelesítéssel próbál-e csatlakozni, és ha ez a kísérlet sikertelen, próbálja meg használni a megadott tanúsítványt.

TANÚSÍTVÁNY certificate_name WINDOWS [ { NTLM | KERBEROS | EGYEZTETÉS } ]

Megadja, hogy a végpont a megadott tanúsítvány használatával próbál-e csatlakozni, és ha ez a kísérlet meghiúsul, próbálja meg a Windows-hitelesítést használni.

TITKOSÍTÁS = { LETILTVA | TÁMOGATOTT | REQUIRED } [ ALGORITHM { AES | RC4 | AES RC4 | RC4 AES } ]

Megadja, hogy a folyamat titkosítást használ-e. Az alapértelmezett érték a REQUIRED.

FOGYATÉKOS

Azt határozza meg, hogy a kapcsolaton keresztül küldött adatok nincsenek titkosítva.

TÁMOGATOTT

Azt határozza meg, hogy az adatok csak akkor lesznek titkosítva, ha az ellenkező végpont vagy SUPPORTEDREQUIRED.

SZÜKSÉGES

Megadja, hogy a végponthoz való kapcsolatoknak titkosítást kell használniuk. Ezért a végponthoz való csatlakozáshoz egy másik végpontnak ENCRYPTION vagy SUPPORTEDREQUIRED.

Az argumentum használatával ALGORITHM megadhatja a végpont által használt titkosítási formát az alábbiak szerint:

AES

Megadja, hogy a végpontnak az AES-algoritmust kell használnia. Ez az alapértelmezett az SQL Server 2016 (13.x) és újabb verzióiban.

RC4

Megadja, hogy a végpontnak az RC4 algoritmust kell használnia. Ez az SQL Server 2014 (12.x) alapértelmezett beállítása.

Megjegyzés:

Az RC4 algoritmus csak a visszamenőleges kompatibilitás érdekében támogatott. Az új anyagok csak RC4 vagy RC4_128 használatával titkosíthatók, ha az adatbázis kompatibilitási szintje 90 vagy 100. (Nem ajánlott.) Használjon helyette egy újabb algoritmust, például az egyik AES-algoritmust. Az SQL Server 2012 (11.x) és újabb verzióiban az RC4 vagy RC4_128 használatával titkosított anyagok bármilyen kompatibilitási szinten visszafejthetők.

AES RC4

Megadja, hogy a két végpont egyeztetni fog egy titkosítási algoritmusról ezzel a végponttal, amely előnyben részesíti az AES-algoritmust.

RC4 AES

Megadja, hogy a két végpont egyeztetni fog egy titkosítási algoritmusról ezzel a végponttal, amely előnyben részesíti az RC4 algoritmust.

Megjegyzés:

Az RC4 algoritmus elavult. Ez a funkció az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Javasoljuk, hogy az AES-t használja.

Ha mindkét végpont mindkét algoritmust megadja, de eltérő sorrendben, a kapcsolatot elfogadó végpont nyer.

SERVICE_BROKER beállítások

Az alábbi argumentumok a SERVICE_BROKER beállításra vonatkoznak.

MESSAGE_FORWARDING = { ENABLED | LETILTVA }

Meghatározza, hogy a végpont által máshol található szolgáltatásokhoz érkező üzenetek továbbítva lesznek-e.

ENGEDÉLYEZVE

Üzenetek továbbítása, ha egy továbbítási cím elérhető.

FOGYATÉKOS

Elveti a máshol található szolgáltatások üzeneteit. Ez az alapértelmezett érték.

MESSAGE_FORWARD_SIZE = forward_size

Megadja a továbbítandó üzenetek tárolásához használandó végpont számára lefoglalható maximális tárterületet megabájtban.

DATABASE_MIRRORING beállítások

Az alábbi argumentum a DATABASE_MIRRORING beállításra vonatkozik.

ROLE = { WITNESS | PARTNER | ALL }

Megadja a végpont által támogatott adatbázis-tükrözési szerepkört vagy szerepköröket.

TANÚ

Lehetővé teszi a végpont számára, hogy a tükrözési folyamat során tanúsító szerepet tölt be.

Megjegyzés:

Az SQL Server 2005 Express kiadás WITNESS esetében ez az egyetlen elérhető lehetőség.

PARTNER

Lehetővé teszi a végpont számára, hogy a tükrözési folyamat során partneri szerepkörben végezzen műveleteket.

ALL

Lehetővé teszi a végpont számára, hogy a tükrözési folyamat során mind a tanú, mind a partner szerepkörében teljesítsen.

További információ ezekről a szerepkörökről: Database Mirroring (SQL Server).

Megjegyzés:

A DATABASE_MIRRORING nincs alapértelmezett port.

Megjegyzések

ENDPOINT DDL utasítások nem hajthatók végre egy felhasználói tranzakción belül. ENDPOINT DDL az utasítások akkor sem hiúsulnak meg, ha egy aktív pillanatkép-elkülönítési szintű tranzakció a módosított végpontot használja.

A kérések az alábbiak szerint hajthatók végre ENDPOINT :

  • A sysadmin rögzített kiszolgálói szerepkör tagjai

  • A végpont tulajdonosa

  • A végponton engedéllyel rendelkező CONNECT felhasználók vagy csoportok

Permissions

Engedélyre vagy tagságra van szükség CREATE ENDPOINT a sysadmin rögzített kiszolgálói szerepkörben. További információt a GRANT végpontengedélyek című témakörben talál.

Examples

Adatbázistükrözési végpont létrehozása

Az alábbi példa létrehoz egy adatbázistükrözési végpontot. A végpont portszámot 7022használ, bár minden elérhető portszám működne. A végpont úgy van konfigurálva, hogy csak Kerberos használatával használja a Windows-hitelesítést. A ENCRYPTION beállítás a titkosított vagy titkosítatlan adatok támogatásának nem megfelelő értékére SUPPORTED van konfigurálva. A végpont úgy van konfigurálva, hogy mind a partneri, mind a tanúsító szerepköröket támogassa.

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

Új végpont létrehozása egy adott IPv4-címre és portra mutatva

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;

Új végpont létrehozása egy adott IPv6-címre és portra mutatva

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;

Új végpont létrehozása szigorú titkosítással

CREATE ENDPOINT [TDSSConnection]
STATE = STARTED
AS TCP (
    LISTENER_PORT = 1433,
    LISTENER_IP = ALL
)
FOR TSQL (
    ENCRYPTION = STRICT
);
GO