Partilhar via


Implementação de Endpoints

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do AzureBanco de Dados SQL do Azure Synapse Analyticsno Microsoft Fabric

Um ponto de extremidade é um serviço que pode ouvir solicitações nativamente. O SMO suporta vários tipos de pontos de extremidade usando o Endpoint objeto. Você pode criar um serviço de ponto de extremidade que lida com um tipo específico de carga útil, que usa um protocolo específico, criando uma instância de um Endpoint objeto e definindo suas propriedades.

A EndpointType propriedade do Endpoint objeto pode ser usada para especificar os seguintes tipos de carga útil:

  • Espelhamento de banco de dados

  • SOAP (o suporte para pontos de extremidade SOAP está presente no SQL Server 2008 R2 (10.50.x) e em versões anteriores do SQL Server)

  • Corretor de Serviços

  • Transact-SQL

Além disso, a ProtocolType propriedade pode ser usada para especificar os dois protocolos suportados a seguir:

  • Protocolo HTTP

  • Protocolo TCP

Tendo especificado o tipo de carga útil, a carga útil real pode ser definida usando a Payload propriedade object. A Payload propriedade object fornece uma referência a um objeto payload do tipo especificado, para o qual as propriedades podem ser modificadas.

Para o DatabaseMirroringPayload objeto, você deve especificar a função de espelhamento e se a criptografia está habilitada. O ServiceBrokerPayload objeto requer informações sobre encaminhamento de mensagens, número máximo de conexões permitidas e o modo de autenticação. O SoapPayloadMethod objeto requer várias propriedades a serem definidas, incluindo a Add propriedade object que especifica os métodos de carga útil SOAP disponíveis para clientes (procedimentos armazenados e funções definidas pelo usuário).

Da mesma forma, o protocolo real pode ser definido usando a propriedade object que faz referência a Protocol um objeto de protocolo do tipo especificado pela ProtocolType propriedade. O HttpProtocol objeto requer uma lista de endereços IP restritos e informações de porta, site e autenticação. O TcpProtocol objeto também requer uma lista de endereços IP restritos e informações de porta.

Quando o ponto de extremidade tiver sido criado e totalmente definido, o acesso poderá ser concedido, revogado e negado a usuários, grupos, funções e logons do banco de dados.

Example

Para o exemplo de código a seguir, você terá que selecionar o ambiente de programação, o modelo de programação e a linguagem de programação para criar seu aplicativo. Para obter mais informações, consulte Criar um projeto SMO do Visual C# no Visual Studio .NET.

Criando um serviço de ponto de extremidade de espelhamento de banco de dados no Visual Basic

O exemplo de código demonstra como criar um ponto de extremidade de espelhamento de banco de dados no SMO. Isso é necessário antes de criar um espelho de banco de dados. Use as IsMirroringEnabled e outras propriedades no Database objeto para criar um espelho de banco de dados.

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

Criando um serviço de ponto de extremidade de espelhamento de banco de dados no Visual C#

O exemplo de código demonstra como criar um ponto de extremidade de espelhamento de banco de dados no SMO. Isso é necessário antes de criar um espelho de banco de dados. Use as IsMirroringEnabled e outras propriedades no Database objeto para criar um espelho de banco de dados.

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

Criando um serviço de ponto de extremidade de espelhamento de banco de dados no PowerShell

O exemplo de código demonstra como criar um ponto de extremidade de espelhamento de banco de dados no SMO. Isso é necessário antes de criar um espelho de banco de dados. Use as IsMirroringEnabled e outras propriedades no Database objeto para criar um espelho de banco de dados.

# 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;  

Ver também

O endpoint de espelhamento de base de dados (SQL Server)