Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Hiermee maakt u eindpunten en definieert u hun eigenschappen, inclusief de methoden die beschikbaar zijn voor clienttoepassingen. Zie GRANT Endpoint Permissions (Transact-SQL) voor gerelateerde machtigingen.
De syntaxis voor CREATE ENDPOINT kan logisch worden onderverdeeld in twee delen:
Het eerste deel begint met AS en eindigt vóór de FOR-component.
In dit deel geeft u informatie op die specifiek is voor het transportprotocol (TCP) en stelt u een luisterend poortnummer in voor het eindpunt, evenals de methode voor eindpuntverificatie en/of een lijst met IP-adressen (indien van toepassing) die u wilt beperken tot het eindpunt.
Het tweede deel begint met de FOR-component.
In dit deel definieert u de nettolading die wordt ondersteund op het eindpunt. De nettolading kan een van de verschillende ondersteunde typen zijn: Transact-SQL, service broker, databasespiegeling. In dit deel neemt u ook taalspecifieke informatie op.
Opmerking
Systeemeigen XML-webservices (SOAP/HTTP-eindpunten) zijn verwijderd in SQL Server 2012 (11.x).
Transact-SQL syntaxis-conventies
Syntaxis
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
De toegewezen naam voor het eindpunt dat u maakt. Gebruik dit bij het bijwerken of verwijderen van het eindpunt.
AUTORISATIEaanmelding
Hiermee geeft u een geldige SQL Server- of Windows-aanmelding op waaraan het zojuist gemaakte eindpuntobject is toegewezen. Als AUTORISATIE niet is opgegeven, wordt de aanroeper standaard eigenaar van het zojuist gemaakte object.
Als u het eigendom wilt toewijzen door AUTORISATIE op te geven, moet de aanroeper de machtiging IMITATE hebben voor de opgegeven aanmelding.
De optie AUTORISATIE is niet beschikbaar in ALTER ENDPOINT. Eigendom kan alleen worden toegewezen wanneer het eindpunt wordt gemaakt.
Als u het eigendom opnieuw wilt toewijzen, raadpleegt u DROP ENDPOINT (Transact-SQL) en gaat u terug naar dit artikel om het eindpunt opnieuw te maken.
STATE = { GESTART | GESTOPT | UITGESCHAKELD }
De status van het eindpunt wanneer het wordt gemaakt. Als de status niet is opgegeven wanneer het eindpunt wordt gemaakt, is STOPPED de standaardwaarde.
BEGON
Het eindpunt wordt gestart en luistert actief naar verbindingen.
INVALIDE
Eindpunt is uitgeschakeld. In deze status luistert de server naar poortaanvragen, maar retourneert deze fouten naar clients.
GESTOPT
Eindpunt is gestopt. In deze status luistert de server niet naar de eindpuntpoort of reageert de server op pogingen om het eindpunt te gebruiken.
Als u de status wilt wijzigen, gebruikt u ALTER ENDPOINT (Transact-SQL).
AS { TCP }
Hiermee geeft u het transportprotocol dat moet worden gebruikt.
FOR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
Hiermee geeft u het nettoladingstype op.
Er zijn momenteel geen Transact-SQL taalspecifieke argumenten om de <language_specific_arguments> parameter door te geven.
TCP-protocoloptie
De volgende argumenten zijn alleen van toepassing op de tcp-protocoloptie.
LISTENER_PORT = listenerPort
Hiermee geeft u het poortnummer op dat is geluisterd naar verbindingen door het TCP/IP-protocol van de servicebroker. Standaard wordt 5022 gebruikt, maar een willekeurig getal tussen 1024 en 32767 is geldig.
LISTENER_IP = ALL | (4-part-ip) | ( "ip_address_v6" )
Hiermee geeft u het IP-adres op waarop het eindpunt luistert. De standaardwaarde is ALL. Dit betekent dat de listener een verbinding op elk geldig IP-adres accepteert.
Als u databasespiegeling configureert met een IP-adres in plaats van een volledig gekwalificeerde domeinnaam (ALTER DATABASE SET PARTNER = partner_IP_address of ALTER DATABASE SET WITNESS = witness_IP_address), moet u opgeven LISTENER_IP =IP_address in plaats van LISTENER_IP=ALL wanneer u spiegelingseindpunten maakt.
T-SQL-opties
VERSLEUTELING = { ONDERHANDELD | STRICT }
Van toepassing op: SQL Server 2022 (16.x) en hoger
Hiermee geeft u op hoe versleuteling wordt gebruikt in het proces. De standaardwaarde is ONDERHANDELD om compatibiliteitsredenen.
ONDERHANDELD
De manier waarop de verbinding wordt versleuteld, wordt onderhandeld tussen de server en de client. De werkelijke verbinding die tot stand is gebracht, kan het volgende versleutelen:
- Alleen LOGIN7-bericht.
- Alle berichten behalve PRELOGIN.
- Alle berichten.
STRENG
Hiermee geeft u op dat alle berichten die naar dit eindpunt worden verzonden, moeten worden versleuteld en dat het terugvalcertificaat niet wordt weergegeven door het eindpunt. Als de TLS-header niet het eerste bericht is, wordt de verbinding verbroken door de server.
Opties voor SERVICE_BROKER en DATABASE_MIRRORING
De volgende argumenten VOOR VERIFICATIE en VERSLEUTELING zijn gebruikelijk voor de opties SERVICE_BROKER en DATABASE_MIRRORING.
Opmerking
Zie 'SERVICE_BROKER Opties' verderop in deze sectie voor opties die specifiek zijn voor SERVICE_BROKER. Zie 'DATABASE_MIRRORING Opties' verderop in deze sectie voor opties die specifiek zijn voor DATABASE_MIRRORING.
VERIFICATIE = <authentication_options>
Hiermee geeft u de TCP/IP-verificatievereisten voor verbindingen voor dit eindpunt op. De standaardwaarde is WINDOWS.
De ondersteunde verificatiemethoden omvatten NTLM en kerberos of beide.
Belangrijk
Alle spiegelingsverbindingen op een serverexemplaren maken gebruik van één eindpunt voor databasespiegeling. Pogingen om een extra eindpunt voor databasespiegeling te maken, mislukken.
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
Hiermee geeft u op dat het eindpunt verbinding moet maken met het Windows-verificatieprotocol om de eindpunten te verifiëren. Dit is de standaardwaarde.
Als u een autorisatiemethode (NTLM of KERBEROS) opgeeft, wordt die methode altijd gebruikt als verificatieprotocol. De standaardwaarde, NEGOTIATE, zorgt ervoor dat het eindpunt het Windows-onderhandelingsprotocol gebruikt om NTLM of Kerberos te kiezen.
CERTIFICATE certificate_name
Hiermee geeft u op dat het eindpunt de verbinding moet verifiëren met behulp van het certificaat dat is opgegeven door certificate_name om identiteit voor autorisatie tot stand te brengen. Het eindpunt moet een certificaat hebben met de openbare sleutel die overeenkomt met de persoonlijke sleutel van het opgegeven certificaat.
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICAAT certificate_name
Hiermee geeft u op dat eindpunt moet worden geprobeerd verbinding te maken met behulp van Windows-verificatie en, als die poging mislukt, vervolgens probeert u het opgegeven certificaat te gebruiken.
CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
Hiermee geeft u op dat eindpunt moet worden geprobeerd verbinding te maken met behulp van het opgegeven certificaat en, als die poging mislukt, om vervolgens Windows-verificatie te proberen.
VERSLEUTELING = { UITGESCHAKELD | ONDERSTEUND | REQUIRED } [ ALGORITME { AES | RC4 | AES RC4 | RC4 AES } ]
Hiermee geeft u op of versleuteling wordt gebruikt in het proces. De standaardwaarde is VEREIST.
INVALIDE
Hiermee geeft u op dat gegevens die via een verbinding worden verzonden, niet worden versleuteld.
ONDERSTEUND
Hiermee geeft u op dat de gegevens alleen worden versleuteld als het tegenovergestelde eindpunt ONDERSTEUND of VEREIST opgeeft.
VEREIST
Hiermee geeft u op dat verbindingen met dit eindpunt versleuteling moeten gebruiken. Als u verbinding wilt maken met dit eindpunt, moet voor een ander eindpunt VERSLEUTELING zijn ingesteld op ONDERSTEUND of VEREIST.
U kunt desgewenst het argument ALGORITME gebruiken om de vorm van versleuteling op te geven die door het eindpunt wordt gebruikt:
AES
Hiermee geeft u op dat het eindpunt het AES-algoritme moet gebruiken. Dit is de standaardinstelling in SQL Server 2016 (13.x) en hoger.
RC4
Hiermee geeft u op dat het eindpunt het RC4-algoritme moet gebruiken. Dit is de standaardinstelling via SQL Server 2014 (12.x).
Opmerking
Het RC4-algoritme wordt alleen ondersteund voor achterwaartse compatibiliteit. Nieuw materiaal kan alleen worden versleuteld met RC4 of RC4_128 wanneer de database compatibiliteitsniveau 90 of 100 heeft. (Niet aanbevolen.) Gebruik in plaats daarvan een nieuwer algoritme, zoals een van de AES-algoritmen. In SQL Server 2012 (11.x) en latere versies kan materiaal dat is versleuteld met RC4 of RC4_128 worden ontsleuteld in elk compatibiliteitsniveau.
AES RC4
Hiermee geeft u op dat de twee eindpunten met dit eindpunt onderhandelen over een versleutelingsalgoritmen die voorkeur geven aan het AES-algoritme.
RC4 AES
Hiermee geeft u op dat de twee eindpunten met dit eindpunt onderhandelen over een versleutelingsalgoritmen die voorkeur geven aan het RC4-algoritme.
Opmerking
Het RC4-algoritme is afgeschaft. Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. U wordt aangeraden AES te gebruiken.
Als beide eindpunten beide algoritmen maar in verschillende orders opgeven, wint het eindpunt dat de verbinding accepteert.
opties voor SERVICE_BROKER
De volgende argumenten zijn specifiek voor de optie SERVICE_BROKER.
MESSAGE_FORWARDING = { INGESCHAKELD | UITGESCHAKELD }
Bepaalt of berichten die door dit eindpunt worden ontvangen voor services die zich elders bevinden, worden doorgestuurd.
INGESCHAKELD
Berichten doorsturen als er een doorstuuradres beschikbaar is.
INVALIDE
Berichten voor services die zich elders bevinden, worden verwijderd. Dit is de standaardwaarde.
MESSAGE_FORWARD_SIZE = forward_size
Hiermee geeft u de maximale hoeveelheid opslagruimte in megabytes op die moet worden toegewezen voor het eindpunt dat moet worden gebruikt bij het opslaan van berichten die moeten worden doorgestuurd.
opties voor DATABASE_MIRRORING
Het volgende argument is specifiek voor de optie DATABASE_MIRRORING.
ROLE = { WITNESS | PARTNER | ALL }
Hiermee geeft u de databasespiegelingsrol of -rollen op die door het eindpunt worden ondersteund.
GETUIGE
Hiermee kan het eindpunt worden uitgevoerd in de rol van een witness in het spiegelingsproces.
Opmerking
Voor SQL Server 2005 Express-editie is WITNESS de enige optie die beschikbaar is.
PARTNER
Hiermee kan het eindpunt worden uitgevoerd in de rol van een partner in het spiegelingsproces.
ALL
Hiermee kan het eindpunt worden uitgevoerd in de rol van zowel een witness als een partner in het spiegelingsproces.
Zie Databasespiegeling (SQL Server) voor meer informatie over deze rollen.
Opmerking
Er is geen standaardpoort voor DATABASE_MIRRORING.
Opmerkingen
ENDPOINT DDL-instructies kunnen niet worden uitgevoerd binnen een gebruikerstransactie. ENDPOINT DDL-instructies mislukken niet, zelfs niet als een actieve transactie op isolatieniveau voor momentopnamen het eindpunt gebruikt dat wordt gewijzigd.
Aanvragen kunnen als volgt worden uitgevoerd op een EINDPUNT:
Leden van de vaste serverrol sysadmin
De eigenaar van het eindpunt
Gebruikers of groepen waaraan CONNECT-machtigingen zijn verleend voor het eindpunt
Permissions
Vereist de machtiging CREATE ENDPOINT of lidmaatschap van de vaste serverfunctie sysadmin . Zie GRANT Endpoint Permissions (Transact-SQL)voor meer informatie.
Example
Een eindpunt voor databasespiegeling maken
In het volgende voorbeeld wordt een eindpunt voor databasespiegeling gemaakt. Het eindpunt gebruikt poortnummer 7022, hoewel elk beschikbaar poortnummer zou werken. Het eindpunt is geconfigureerd voor het gebruik van Windows-verificatie met alleen Kerberos. De ENCRYPTION optie is geconfigureerd voor de niet-standaardwaarde van het ondersteunen van SUPPORTED versleutelde of niet-versleutelde gegevens. Het eindpunt wordt geconfigureerd ter ondersteuning van zowel de partner- als witness-rollen.
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 7022 )
FOR DATABASE_MIRRORING (
AUTHENTICATION = WINDOWS KERBEROS,
ENCRYPTION = SUPPORTED,
ROLE=ALL);
GO
Een nieuw eindpunt maken dat verwijst naar een specifiek IPv4-adres en een specifieke poort
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;
Een nieuw eindpunt maken dat verwijst naar een specifiek IPv6-adres en een specifieke poort
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;
Een nieuw eindpunt maken met strikte versleuteling
CREATE ENDPOINT [TDSSConnection]
STATE = STARTED
AS TCP
(LISTENER_PORT = 1433, LISTENER_IP = ALL)
FOR TSQL
(ENCRYPTION = STRICT ) ;
GO