Megosztás a következőn keresztül:


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 lásd: GRANT Endpoint Permissions (Transact-SQL).

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

  • Az első rész 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.

Megjegyzés:

A natív XML-webszolgáltatások (SOAP/HTTP-végpontok) el lettek távolítva az SQL Server 2012-ben (11.x).

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 | ( xx.xx.xx.xx IPv4 address ) | ( '__:__1' IPv6 address ) ]

)

<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.

Az ENGEDÉLYEZÉSI lehetőség nem érhető el az ALTER ENDPOINT-ben. Tulajdonjog csak a végpont létrehozásakor rendelhető hozzá.

A tulajdonjog újbóli hozzárendeléséhez tekintse meg a DROP ENDPOINT (Transact-SQL) című cikket, 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, akkor a LEÁLLÍTÁS 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 (Transact-SQL).

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 Protokoll beá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 | (4 részes ip) | ( "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=ALL meg kell adniaLISTENER_IP =IP_address.

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 beállítások

A SERVICE_BROKER és a DATABASE_MIRRORING beállításaiban az alábbi HITELESÍTÉSI és TITKOSÍTÁSi argumentumok gyakoriak.

Megjegyzés:

A SERVICE_BROKER vonatkozó beállításokért lásd a szakasz későbbi, "SERVICE_BROKER Beállítások" szakaszát. A DATABASE_MIRRORING vonatkozó beállításokért lásd a szakasz későbbi, "DATABASE_MIRRORING Beállítások" szakaszát.

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 a Kerberos vagy mindkettő.

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 engedélyezési módszert (NTLM vagy KERBEROS) ad meg, a rendszer mindig ezt a módszert használja hitelesítési protokollként. Az alapértelmezett , a NEGOTIATE érték miatt 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 KÖTELEZŐ.

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 a TÁMOGATOTT vagy a KÖTELEZŐ értéket adja meg.

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 TÁMOGATOTT vagy KÖTELEZŐ titkosítási beállítással kell rendelkeznie.

Az ALGORITMUS argumentum használatával 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 esetében az WITNESS 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

Az ENDPOINT DDL-utasítások nem hajthatók végre felhasználói tranzakción belül. Az ENDPOINT DDL-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érelmek végponton az alábbiak szerint hajthatók végre:

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

  • A végpont tulajdonosa

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

Permissions

CREATE ENDPOINT engedélyre vagy tagságra van szükség a sysadmin rögzített kiszolgálói szerepkörben. További információ: GRANT Endpoint Permissions (Transact-SQL).

Example

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 = 55555, LISTENER_IP = (10.0.75.1)
)
FOR TSQL ();

GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] TO public; -- Keep existing public permission on default endpoint for demo purpose
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 = 55555,
    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