Dela via


Implementing Endpoints

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-databas i Förhandsversion av Microsoft Fabric

En slutpunkt är en tjänst som kan lyssna internt efter begäranden. SMO stöder olika typer av slutpunkter med hjälp Endpoint av objektet. Du kan skapa en slutpunktstjänst som hanterar en viss typ av nyttolast, som använder ett specifikt protokoll, genom att skapa en instans av ett Endpoint objekt och ange dess egenskaper.

Egenskapen EndpointType för Endpoint objektet kan användas för att ange följande nyttolasttyper:

  • Database mirroring

  • SOAP (stöd för SOAP-slutpunkter finns i SQL Server 2008 R2 (10.50.x) och tidigare SQL Server-versioner)

  • Service Broker

  • Transact-SQL

Egenskapen ProtocolType kan också användas för att ange följande två protokoll som stöds:

  • HTTP protocol

  • TCP protocol

När du har angett typen av nyttolast kan den faktiska nyttolasten anges med hjälp av objektegenskapen Payload . Objektegenskapen Payload innehåller en referens till ett nyttolastobjekt av den angivna typen, för vilket egenskaperna kan ändras.

DatabaseMirroringPayload För objektet måste du ange speglingsrollen och om kryptering är aktiverat. Objektet ServiceBrokerPayload kräver information om vidarebefordran av meddelanden, maximalt antal anslutningar som tillåts och autentiseringsläget. Objektet SoapPayloadMethod kräver att olika egenskaper anges, inklusive objektegenskapen Add som anger de SOAP-nyttolastmetoder som är tillgängliga för klienter (lagrade procedurer och användardefinierade funktioner).

På samma sätt kan det faktiska protokollet anges med hjälp av objektegenskapen Protocol som refererar till ett protokollobjekt av den typ som anges av ProtocolType egenskapen. Objektet HttpProtocol kräver en lista över begränsade IP-adresser, portar, webbplatser och autentiseringsinformation. Objektet TcpProtocol kräver också en lista med begränsade IP-adresser och portinformation.

När slutpunkten har skapats och definierats fullständigt kan åtkomst beviljas till, återkallas från och nekas databasanvändare, grupper, roller och inloggningar.

Example

I följande kodexempel måste du välja programmeringsmiljö, programmeringsmall och programmeringsspråket för att skapa ditt program. Mer information finns i Skapa ett Visual C# SMO-projekt i Visual Studio .NET.

Skapa en databasspeglingsslutpunktstjänst i Visual Basic

Kodexemplet visar hur du skapar en databasspeglingsslutpunkt i SMO. Detta är nödvändigt innan du skapar en databasspegling. Använd och IsMirroringEnabled andra egenskaper för Database objektet för att skapa en databasspegling.

'Set up a database mirroring endpoint on the server before setting up a database mirror.
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Define an Endpoint object variable for database mirroring.
Dim ep As Endpoint
ep = New Endpoint(srv, "Mirroring_Endpoint")
ep.ProtocolType = ProtocolType.Tcp
ep.EndpointType = EndpointType.DatabaseMirroring
'Specify the protocol ports.
ep.Protocol.Http.SslPort = 5024
ep.Protocol.Tcp.ListenerPort = 6666
'Specify the role of the payload.
ep.Payload.DatabaseMirroring.ServerMirroringRole = ServerMirroringRole.All
'Create the endpoint on the instance of SQL Server.
ep.Create()
'Start the endpoint.
ep.Start()
Console.WriteLine(ep.EndpointState)

Skapa en databasspeglingsslutpunktstjänst i Visual C#

Kodexemplet visar hur du skapar en databasspeglingsslutpunkt i SMO. Detta är nödvändigt innan du skapar en databasspegling. Använd och IsMirroringEnabled andra egenskaper för Database objektet för att skapa en databasspegling.

{  
            //Set up a database mirroring endpoint on the server before   
        //setting up a database mirror.   
        //Connect to the local, default instance of SQL Server.   
            Server srv = new Server();  
            //Define an Endpoint object variable for database mirroring.   
            Endpoint ep = default(Endpoint);  
            ep = new Endpoint(srv, "Mirroring_Endpoint");  
            ep.ProtocolType = ProtocolType.Tcp;  
            ep.EndpointType = EndpointType.DatabaseMirroring;  
            //Specify the protocol ports.   
            ep.Protocol.Http.SslPort = 5024;  
            ep.Protocol.Tcp.ListenerPort = 6666;  
            //Specify the role of the payload.   
            ep.Payload.DatabaseMirroring.ServerMirroringRole = ServerMirroringRole.All;  
            //Create the endpoint on the instance of SQL Server.   
            ep.Create();  
            //Start the endpoint.   
            ep.Start();  
            Console.WriteLine(ep.EndpointState);  
        }  

Skapa en databasspeglingsslutpunktstjänst i PowerShell

Kodexemplet visar hur du skapar en databasspeglingsslutpunkt i SMO. Detta är nödvändigt innan du skapar en databasspegling. Använd och IsMirroringEnabled andra egenskaper för Database objektet för att skapa en databasspegling.

# Set the path context to the local, default instance of SQL Server.  
CD \sql\localhost\  
$srv = get-item default  
  
#Get a new endpoint to configure and add  
$ep = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Endpoint -argumentlist $srv,"Mirroring_Endpoint"  
  
#Set some properties  
$ep.ProtocolType = [Microsoft.SqlServer.Management.SMO.ProtocolType]::Tcp  
$ep.EndpointType = [Microsoft.SqlServer.Management.SMO.EndpointType]::DatabaseMirroring  
$ep.Protocol.Http.SslPort = 5024  
$ep.Protocol.Tcp.ListenerPort = 6666 #inline comment  
$ep.Payload.DatabaseMirroring.ServerMirroringRole = [Microsoft.SqlServer.Management.SMO.ServerMirroringRole]::All  
  
# Create the endpoint on the instance  
$ep.Create()  
  
# Start the endpoint  
$ep.Start()  
  
# Report its state  
$ep.EndpointState;  

See Also

Databas-speglingsslutpunkt (SQL Server)