Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Skapar slutpunkter och definierar deras egenskaper, inklusive de metoder som är tillgängliga för klientprogram. Information om relaterade behörigheter finns i BEVILJA slutpunktsbehörigheter (Transact-SQL).
Syntaxen för CREATE ENDPOINT kan logiskt delas upp i två delar:
Den första delen börjar med AS och slutar före FOR-satsen.
I den här delen anger du information som är specifik för transportprotokollet (TCP) och anger ett lyssningsportnummer för slutpunkten, samt metoden för slutpunktsautentisering och/eller en lista över IP-adresser (om några) som du vill begränsa från att komma åt slutpunkten.
Den andra delen börjar med FOR-satsen.
I den här delen definierar du nyttolasten som stöds på slutpunkten. Nyttolasten kan vara en av flera typer som stöds: Transact-SQL, service broker, databasspegling. I den här delen inkluderar du även språkspecifik information.
Anmärkning
Interna XML-webbtjänster (SOAP/HTTP-slutpunkter) togs bort i SQL Server 2012 (11.x).
Transact-SQL syntaxkonventioner
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 | ( 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
Det tilldelade namnet på slutpunkten som du skapar. Använd när du uppdaterar eller tar bort slutpunkten.
AUKTORISERINGsinloggning
Anger en giltig SQL Server- eller Windows-inloggning som tilldelas ägarskap för det nyligen skapade slutpunktsobjektet. Om Auktorisering inte anges blir anroparen som standard ägare till det nyligen skapade objektet.
Om du vill tilldela ägarskap genom att ange AUKTORISERING måste anroparen ha PERSONIFIERINGsbehörighet vid den angivna inloggningen.
Alternativet AUKTORISERING är inte tillgängligt i ALTER ENDPOINT. Ägarskap kan bara tilldelas när slutpunkten skapas.
Information om hur du omtilldelar ägarskap finns i DROP ENDPOINT (Transact-SQL) och återgår sedan till den här artikeln för att återskapa slutpunkten.
STATE = { STARTED | STOPPAD | INAKTIVERAD }
Slutpunktens tillstånd när den skapas. Om tillståndet inte anges när slutpunkten skapas är STOPPED standardvärdet.
IGÅNG
Slutpunkten startas och lyssnar aktivt efter anslutningar.
HANDIKAPPAD
Slutpunkten är inaktiverad. I det här tillståndet lyssnar servern på portbegäranden men returnerar fel till klienter.
STOPPAT
Slutpunkten har stoppats. I det här tillståndet lyssnar inte servern på slutpunktsporten eller svarar på eventuella försök att använda slutpunkten.
Om du vill ändra tillståndet använder du ALTER ENDPOINT (Transact-SQL).
AS { TCP }
Anger vilket transportprotokoll som ska användas.
FÖR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
Anger nyttolasttypen.
För närvarande finns det inga Transact-SQL språkspecifika argument som ska skickas i parametern <language_specific_arguments> .
TCP-protokollalternativ
Följande argument gäller endast för TCP-protokollalternativet.
LISTENER_PORT = listenerPort
Anger det portnummer som lyssnats på för anslutningar av TCP/IP-protokollet för tjänstkoordinator. Enligt konventionen används 5022, men ett tal mellan 1024 och 32767 är giltigt.
LISTENER_IP = ALLA | (4-del-ip) | ( "ip_address_v6" )
Anger IP-adressen som slutpunkten ska lyssna på. Standardvärdet är ALLA. Det innebär att lyssnaren accepterar en anslutning på en giltig IP-adress.
Om du konfigurerar databasspegling med en IP-adress i stället för ett fullständigt domännamn (ALTER DATABASE SET PARTNER = partner_IP_address eller ALTER DATABASE SET WITNESS = witness_IP_address) måste du ange LISTENER_IP =IP_address i stället för LISTENER_IP=ALL när du skapar speglingsslutpunkter.
T-SQL-alternativ
ENCRYPTION = { NEGOTIATED | STRIKT }
Gäller för: SQL Server 2022 (16.x) och senare
Anger hur kryptering används i processen. Standardvärdet är NEGOTIATED av kompatibilitetsskäl.
FÖRHANDLAT
Hur anslutningen krypteras förhandlas mellan servern och klienten. Den faktiska anslutningen som upprättas kan kryptera:
- Endast LOGIN7-meddelande.
- Alla meddelanden utom PRELOGIN.
- Alla meddelanden.
STRÄNG
Anger att alla meddelanden som skickas till den här slutpunkten måste krypteras och att återställningscertifikatet inte visas av slutpunkten. Om TLS-huvudet inte är det första meddelandet bryter servern anslutningen.
alternativ för SERVICE_BROKER och DATABASE_MIRRORING
Följande AUTENTISERINGs- och KRYPTERINGsargument är gemensamma för alternativen SERVICE_BROKER och DATABASE_MIRRORING.
Anmärkning
Alternativ som är specifika för SERVICE_BROKER finns i "SERVICE_BROKER Alternativ" senare i det här avsnittet. Alternativ som är specifika för DATABASE_MIRRORING finns i "DATABASE_MIRRORING Alternativ" senare i det här avsnittet.
AUTENTISERING = <authentication_options>
Anger TCP/IP-autentiseringskrav för anslutningar för den här slutpunkten. Standardvärdet är WINDOWS.
De autentiseringsmetoder som stöds omfattar NTLM och eller Kerberos eller båda.
Viktigt!
Alla speglingsanslutningar på en serverinstans använder en enskild databasspeglingsslutpunkt. Alla försök att skapa ytterligare en databasspeglingsslutpunkt misslyckas.
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
Anger att slutpunkten är att ansluta med hjälp av Windows-autentiseringsprotokollet för att autentisera slutpunkterna. Det här är standardinställningen.
Om du anger en auktoriseringsmetod (NTLM eller KERBEROS) används den metoden alltid som autentiseringsprotokoll. Standardvärdet, NEGOTIATE, gör att slutpunkten använder Windows-förhandlingsprotokollet för att välja antingen NTLM eller Kerberos.
CERTIFIKAT certificate_name
Anger att slutpunkten är att autentisera anslutningen med hjälp av certifikatet som anges av certificate_name för att upprätta identitet för auktorisering. Den fjärranslutna slutpunkten måste ha ett certifikat med den offentliga nyckeln som matchar den privata nyckeln för det angivna certifikatet.
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFIKAT certificate_name
Anger att slutpunkten är att försöka ansluta med hjälp av Windows-autentisering och, om det försöket misslyckas, att försöka använda det angivna certifikatet.
CERTIFIKAT certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
Anger att slutpunkten är att försöka ansluta med hjälp av det angivna certifikatet och, om det försöket misslyckas, försöka använda Windows-autentisering.
KRYPTERING = { INAKTIVERAD | STÖDS | REQUIRED } [ ALGORITM { AES | RC4 | AES RC4 | RC4 AES } ]
Anger om kryptering används i processen. Standardvärdet är OBLIGATORISKt.
HANDIKAPPAD
Anger att data som skickas via en anslutning inte är krypterade.
STÖDD
Anger att data endast krypteras om den motsatta slutpunkten anger antingen STÖDS eller KRÄVS.
KRÄVS
Anger att anslutningar till den här slutpunkten måste använda kryptering. För att ansluta till den här slutpunkten måste därför en annan slutpunkt ha KRYPTERING inställd på ANTINGEN STÖDS eller KRÄVS.
Du kan också använda argumentet ALGORITHM för att ange vilken form av kryptering som används av slutpunkten på följande sätt:
AES
Anger att slutpunkten måste använda AES-algoritmen. Detta är standardvärdet i SQL Server 2016 (13.x) och senare.
RC4
Anger att slutpunkten måste använda RC4-algoritmen. Detta är standardvärdet via SQL Server 2014 (12.x).
Anmärkning
RC4-algoritmen stöds endast för bakåtkompatibilitet. Nytt material kan bara krypteras med hjälp av RC4 eller RC4_128 när databasen är på kompatibilitetsnivå 90 eller 100. (Rekommenderas inte.) Använd en nyare algoritm, till exempel en av AES-algoritmerna i stället. I SQL Server 2012 (11.x) och senare versioner kan material som krypterats med RC4 eller RC4_128 dekrypteras på valfri kompatibilitetsnivå.
AES RC4
Anger att de två slutpunkterna förhandlar om en krypteringsalgoritm med den här slutpunkten som ger företräde åt AES-algoritmen.
RC4 AES
Anger att de två slutpunkterna förhandlar om en krypteringsalgoritm med den här slutpunkten som ger företräde åt RC4-algoritmen.
Anmärkning
RC4-algoritmen är inaktuell. Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Vi rekommenderar att du använder AES.
Om båda slutpunkterna anger båda algoritmerna men i olika ordningar vinner slutpunkten som accepterar anslutningen.
SERVICE_BROKER alternativ
Följande argument är specifika för alternativet SERVICE_BROKER.
MESSAGE_FORWARDING = { AKTIVERAD | INAKTIVERAD }
Avgör om meddelanden som tas emot av den här slutpunkten som är för tjänster som finns någon annanstans vidarebefordras.
AKTIVERAT
Vidarebefordra meddelanden om en vidarebefordransadress är tillgänglig.
HANDIKAPPAD
Tar bort meddelanden för tjänster som finns någon annanstans. Det här är standardinställningen.
MESSAGE_FORWARD_SIZE = forward_size
Anger den maximala mängden lagringsutrymme i megabyte som ska allokeras för slutpunkten som ska användas när meddelanden som ska vidarebefordras lagras.
DATABASE_MIRRORING alternativ
Följande argument är specifikt för alternativet DATABASE_MIRRORING.
ROLE = { WITNESS | PARTNER | ALLA }
Anger databasspeglingsrollen eller rollerna som slutpunkten stöder.
VITTNE
Gör att slutpunkten kan utföras i rollen som ett vittne i speglingsprocessen.
Anmärkning
För SQL Server 2005 Express Edition är WITNESS det enda tillgängliga alternativet.
KOMPANJON
Gör att slutpunkten kan utföras i rollen som partner i speglingsprocessen.
ALL
Gör att slutpunkten kan utföras i rollen som både ett vittne och en partner i speglingsprocessen.
Mer information om dessa roller finns i Databasspegling (SQL Server).
Anmärkning
Det finns ingen standardport för DATABASE_MIRRORING.
Anmärkningar
ENDPOINT DDL-instruktioner kan inte köras i en användartransaktion. ENDPOINT DDL-instruktioner misslyckas inte även om en aktiv transaktion på ögonblicksbildisoleringsnivå använder slutpunkten som ändras.
Begäranden kan köras mot en SLUTPUNKT med följande:
Medlemmar i den fasta serverrollen sysadmin
Slutpunktens ägare
Användare eller grupper som har beviljats CONNECT-behörighet på slutpunkten
Permissions
Kräver CREATE ENDPOINT-behörighet eller medlemskap i den fasta serverrollen sysadmin . Mer information finns i BEVILJA slutpunktsbehörigheter (Transact-SQL).
Example
Skapa en databasspeglingsslutpunkt
I följande exempel skapas en databasspeglingsslutpunkt. Slutpunkten använder portnummer 7022, även om alla tillgängliga portnummer skulle fungera. Slutpunkten är konfigurerad för att endast använda Windows-autentisering med Kerberos. Alternativet ENCRYPTION är konfigurerat till nondefault-värdet SUPPORTED för för att stödja krypterade eller okrypterade data. Slutpunkten konfigureras för att stödja både partner- och vittnesrollerna.
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 7022 )
FOR DATABASE_MIRRORING (
AUTHENTICATION = WINDOWS KERBEROS,
ENCRYPTION = SUPPORTED,
ROLE=ALL);
GO
Skapa en ny slutpunkt som pekar på en specifik IPv4-adress och port
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;
Skapa en ny slutpunkt som pekar på en specifik IPv6-adress och port
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;
Skapa en ny slutpunkt med strikt kryptering
CREATE ENDPOINT [TDSSConnection]
STATE = STARTED
AS TCP
(LISTENER_PORT = 1433, LISTENER_IP = ALL)
FOR TSQL
(ENCRYPTION = STRICT ) ;
GO