Delen via


Implementing Endpoints

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-database in Microsoft Fabric Preview

Een eindpunt is een service die systeemeigen kan luisteren naar aanvragen. SMO ondersteunt verschillende typen eindpunten met behulp van het Endpoint object. U kunt een eindpuntservice maken die een specifiek type nettolading verwerkt, dat gebruikmaakt van een specifiek protocol, door een exemplaar van een Endpoint object te maken en de eigenschappen ervan in te stellen.

De EndpointType eigenschap van het Endpoint object kan worden gebruikt voor het opgeven van de volgende nettoladingtypen:

  • Database mirroring

  • SOAP (ondersteuning voor SOAP-eindpunten is aanwezig in SQL Server 2008 R2 (10.50.x) en eerdere VERSIES van SQL Server)

  • Service Broker

  • Transact-SQL

ProtocolType De eigenschap kan ook worden gebruikt om de volgende twee ondersteunde protocollen op te geven:

  • HTTP protocol

  • TCP protocol

Nadat u het type nettolading hebt opgegeven, kan de werkelijke nettolading worden ingesteld met behulp van de Payload objecteigenschap. De Payload objecteigenschap bevat een verwijzing naar een nettoladingobject van het opgegeven type, waarvoor de eigenschappen kunnen worden gewijzigd.

Voor het DatabaseMirroringPayload object moet u de spiegelingsrol opgeven en of versleuteling is ingeschakeld. Het ServiceBrokerPayload object vereist informatie over het doorsturen van berichten, het maximum aantal toegestane verbindingen en de verificatiemodus. Voor het SoapPayloadMethod object moeten verschillende eigenschappen worden ingesteld, inclusief de Add objecteigenschap waarmee de SOAP-nettoladingmethoden worden opgegeven die beschikbaar zijn voor clients (opgeslagen procedures en door de gebruiker gedefinieerde functies).

Op dezelfde manier kan het werkelijke protocol worden ingesteld met behulp van de Protocol objecteigenschap die verwijst naar een protocolobject van het type dat is opgegeven door ProtocolType de eigenschap. Voor het HttpProtocol object is een lijst met beperkte IP-adressen en poort-, website- en verificatiegegevens vereist. Voor het TcpProtocol object is ook een lijst met beperkte IP-adressen en poortgegevens vereist.

Wanneer het eindpunt is gemaakt en volledig is gedefinieerd, kan toegang worden verleend aan, ingetrokken van en geweigerd aan databasegebruikers, groepen, rollen en aanmeldingen.

Example

Voor het volgende codevoorbeeld moet u de programmeeromgeving, de programmeersjabloon en de programmeertaal selecteren om uw toepassing te maken. Zie Een Visual C# SMO-project maken in Visual Studio .NETvoor meer informatie.

Een Database Mirroring Endpoint Service maken in Visual Basic

In het codevoorbeeld ziet u hoe u een eindpunt voor databasespiegeling maakt in SMO. Dit is nodig voordat u een databasespiegel maakt. Gebruik de IsMirroringEnabled en andere eigenschappen van het Database object om een databasespiegel te maken.

'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)

Een databasespiegelingseindpuntservice maken in Visual C#

In het codevoorbeeld ziet u hoe u een eindpunt voor databasespiegeling maakt in SMO. Dit is nodig voordat u een databasespiegel maakt. Gebruik de IsMirroringEnabled en andere eigenschappen van het Database object om een databasespiegel te maken.

{  
            //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);  
        }  

Een databasespiegelingseindpuntservice maken in PowerShell

In het codevoorbeeld ziet u hoe u een eindpunt voor databasespiegeling maakt in SMO. Dit is nodig voordat u een databasespiegel maakt. Gebruik de IsMirroringEnabled en andere eigenschappen van het Database object om een databasespiegel te maken.

# 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

Het Eindpunt voor Databasespiegeling (SQL Server)