Implementando pontos de extremidade

Aplica-se a: SQL ServerBanco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics

Um ponto de extremidade é um serviço que pode escutar nativamente solicitações. O SMO dá suporte a vários tipos de pontos de extremidade usando o objeto Endpoint. Para criar um serviço de ponto de extremidade que manipula um tipo específico de carga, que usa um protocolo específico, crie uma instância de um objeto Endpoint e defina suas propriedades.

A propriedade EndpointType do objeto Endpoint pode ser usada para especificar os tipos de carga a seguir:

  • Espelhamento de banco de dados

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

  • Agente de Serviço

  • Transact-SQL

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

  • Protocolo HTTP

  • Protocolo TCP

Após a especificação do tipo de carga, a carga real pode ser definida usando a propriedade de objeto Payload. A propriedade de objeto Payload fornece uma referência a um objeto de carga do tipo especificado para o qual as propriedades podem ser modificadas.

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

Da mesma forma, o protocolo real pode ser definido através da propriedade de objeto Protocol que referencia um objeto de protocolo do tipo especificado pela propriedade ProtocolType. O objeto HttpProtocol requer uma lista de endereços IP restritos e informações sobre porta, site e autenticação. O objeto TcpProtocol também requer uma lista de endereços IP restritos e informações sobre porta.

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

Exemplo

Para o exemplo de código a seguir, selecione 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 da criação de um espelho de banco de dados. Use o IsMirroringEnabled e outras propriedades do objeto Database 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 da criação de um espelho de banco de dados. Use o IsMirroringEnabled e outras propriedades do objeto Database 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 da criação de um espelho de banco de dados. Use o IsMirroringEnabled e outras propriedades do objeto Database 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 congure 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;  

Confira também

O ponto de extremidade de espelhamento de banco de dados (SQL Server)