Implementando pontos de extremidade

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 um dos seguintes tipos de carga:

  • Espelhamento de banco de dados

  • SOAP

  • Service Broker

  • Transact-SQL

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

  • 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 Como criar um projeto SMO do Visual Basic no Visual Studio .NET e Como 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 = default(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); 
}