Criar um ponto de extremidade de espelhamento de banco de dados para a Autenticação do Windows (Transact-SQL)

Este tópico descreve como criar um ponto de extremidade de espelhamento de banco de dados que usa a Autenticação do Windows no SQL Server 2012 usando o Transact-SQL. Para oferecer suporte ao espelhamento de banco de dados ou ao Grupos de Disponibilidade AlwaysOn, cada instância do SQL Server exige um ponto de extremidade de espelhamento de banco de dados. Uma instância do servidor só pode ter em um ponto de extremidade do espelhamento de banco de dados, que tem uma porta única. Um ponto de extremidade do espelhamento de banco de dados poderá usar qualquer porta que estiver disponível no sistema local quando o ponto de extremidade for criado. Todas as sessões de espelhamento de banco de dados em uma instância do servidor escutam aquela porta e todas as conexões que chegam para o espelhamento de banco de dados usam aquela porta.

Observação importanteImportante

Se um ponto de extremidade do espelhamento de banco de dados existe e já está em uso, é recomendável usar esse ponto de extremidade. O descarte de um ponto de extremidade em uso interrompe sessões existentes.

Neste tópico

  • Antes de começar: Segurança

  • Para criar um ponto de extremidade do espelhamento de banco de dados, usando: Transact-SQL

Antes de começar

Segurança

Os métodos de autenticação e de criptografia da instância do servidor são estabelecidos pelo administrador do sistema.

Observação sobre segurançaObservação sobre segurança

O algoritmo RC4 é substituído. Esse recurso será removido em uma versão futura do Microsoft SQL Server. Não utilize esse recurso em desenvolvimentos novos e modifique, assim que possível, os aplicativos que atualmente o utilizam. É recomendável usar AES.

Permissões

Exige a permissão CREATE ENDPOINT ou a associação na função de servidor fixa sysadmin. Para obter mais informações, consulte Permissões de ponto de extremidade GRANT (Transact-SQL).

Ícone de seta usado com o link Voltar ao Início[Início]

Usando Transact-SQL

Para criar um ponto de extremidade do espelhamento de banco de dados que usa a Autenticação do Windows

  1. Conecte-se à instância do SQL Server na qual você deseja criar um ponto de extremidade do espelhamento de banco de dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Determine se um ponto de extremidade de espelhamento de banco de dados já existe usando a seguinte instrução:

    SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints 
    
    Observação importanteImportante

    Se um ponto de extremidade do espelhamento de banco de dados já existir para a instância do servidor, use aquele ponto de extremidade para qualquer outra sessão que você estabelecer na instância do servidor.

  4. Para usar o Transact-SQL para criar um ponto de extremidade para ser usado com a Autenticação do Windows, use uma instrução CREATE ENDPOINT. A instrução leva o seguinte formato geral:

    CREATE ENDPOINT <endpointName>

        STATE=STARTED

        AS TCP ( LISTENER_PORT = <listenerPortList> )

        FOR DATABASE_MIRRORING

        (

            [ AUTHENTICATION = WINDOWS [ <authorizationMethod> ]

            ]

            [ [,] ENCRYPTION = REQUIRED

                    [ ALGORITHM { <algorithm> } ]

            ]

            [,] ROLE = <role>

        )

    onde

    • <endpointName> é um nome exclusivo para o ponto de extremidade do espelhamento de banco de dados da instância do servidor.

    • STARTED especifica que o ponto de extremidade deve ser iniciado e começar a escutar conexões. Um ponto de extremidade do espelhamento de banco de dados é normalmente criado no estado STARTED. Alternativamente, você pode iniciar uma sessão em um estado STOPPED (o padrão) ou no estado DISABLED.

    • <listenerPortList> é um número da porta único (nnnn) no qual você deseja que o servidor escute mensagens de espelhamento de banco de dados. Só o TCP é permitido; se qualquer outro protocolo for especificado causará um erro.

      Um número de porta só pode ser usado uma vez por um sistema de computador. Um ponto de extremidade do espelhamento de banco de dados poderá usar qualquer porta que estiver disponível no sistema local quando o ponto de extremidade for criado. Para identificar as portas que estão sendo usadas atualmente pelos pontos de extremidade de TCP no sistema, use a seguinte instrução Transact-SQL:

      SELECT name, port FROM sys.tcp_endpoints
      
      Observação importanteImportante

      Cada instância do servidor requer uma e apenas uma porta do ouvinte exclusiva.

    • Para a Autenticação do Windows, a opção AUTHENTICATION é opcional, a menos que você deseje que o ponto de extremidade use apenas NTLM ou Kerberos para autenticar conexões. <authorizationMethod> especifica que o método usado para autenticar conexões como um dos seguintes: NTLM, KERBEROS ou NEGOTIATE. O padrão, NEGOTIATE, faz o ponto de extremidade usar o protocolo de negociação Windows para escolher NTLM ou Kerberos. A negociação habilita conexões com ou sem autenticação, dependendo do nível de autenticação do ponto de extremidade oposto.

    • ENCRYPTION é definido como REQUIRED por padrão. Isso especifica que todas as conexões para esse ponto de extremidade devem usar criptografia. Porém, você pode desabilitar a criptografia ou deixá-la opcional em um ponto de extremidade. As alternativas são as seguintes:

      Valor

      Definição

      DISABLED

      Especifica que os dados enviados em uma conexão não estão criptografados.

      SUPPORTED

      Especifica que os dados só serão criptografados se o ponto de extremidade oposto especificar SUPPORTED ou REQUIRED.

      REQUIRED

      Especifica que os dados enviados em uma conexão devem ser criptografados.

      Se um ponto de extremidade requisitar criptografia, o outro ponto de extremidade deve ter ENCRYPTION definido como SUPPORTED ou REQUIRED.

    • <algorithm> fornece a opção de especificar os padrões de criptografia para o ponto de extremidade. O valor de <algorithm> pode ser um dos seguintes algoritmos ou combinações de algoritmos: RC4, AES, AES RC4 ou RC4 AES.

      AES RC4 especifica que esse ponto de extremidade negociará um algoritmo de criptografia, dando preferência ao algoritmo AES. RC4 AES especifica que esse ponto de extremidade negociará um algoritmo de criptografia, dando preferência ao algoritmo RC4. Se os dois pontos de extremidade especificarem ambos os algoritmos, mas em ordens diferentes, vencerá o ponto de extremidade que aceita a conexão.

      ObservaçãoObservação

      O algoritmo RC4 é substituído. Esse recurso será removido em uma versão futura do Microsoft SQL Server. Não utilize esse recurso em desenvolvimentos novos e modifique, assim que possível, os aplicativos que atualmente o utilizam. É recomendável usar AES.

    • <role> define a função ou as funções que o servidor pode executar. Especificar ROLE é necessário. Entretanto, a função do ponto de extremidade é relevante apenas para o espelhamento de banco de dados. Para Grupos de Disponibilidade AlwaysOn, a função do ponto de extremidade é ignorada.

      Para permitir que uma instância do servidor sirva como uma função em uma sessão de espelhamento de banco de dados e uma função diferente em outra sessão, especifique ROLE=ALL. Para restringir uma instância do servidor como sendo um parceiro ou uma testemunha, especifique ROLE=PARTNER ou ROLE=WITNESS, respectivamente.

      ObservaçãoObservação

      Para obter mais informações sobre opções de Espelhamento de Banco de Dados para diferentes edições do SQL Server que oferecem suporte à Previsão de sequência, consulte Recursos compatíveis com as edições do SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

    Para obter uma descrição completa da sintaxe CREATE ENDPOINT, consulte CREATE ENDPOINT (Transact-SQL).

    ObservaçãoObservação

    Para alterar um ponto de extremidade existente, use ALTER ENDPOINT (Transact-SQL).

Exemplo: criando pontos de extremidade que oferecem suporte ao espelhamento de banco de dados (Transact-SQL)

O seguinte exemplo cria pontos de extremidade do espelhamento de banco de dados para as instâncias de servidor padrão em três sistemas de computador separados:

Função da instância de servidor

Nome do computador host

Parceiro (inicialmente na função principal)

SQLHOST01\.

Parceiro (inicialmente na função espelho)

SQLHOST02\.

Testemunha

SQLHOST03\.

Neste exemplo, todos os três pontos de extremidade usam o número da porta 7022, entretanto qualquer número de porta disponível funcionaria. A opção AUTHENTICATION é desnecessária, porque os pontos de extremidade usam o tipo padrão, Autenticação do Windows. A opção ENCRYPTION também é desnecessária, porque todos os pontos de extremidade são feitos para negociar o método de autenticação de uma conexão, que é o comportamento padrão para a Autenticação do Windows. Também, todos os pontos de extremidade requerem a criptografia, que é o comportamento padrão.

Toda instância do servidor está limitada para servir como parceiro ou testemunha, e o ponto de extremidade de cada servidor especifica expressamente qual a função (ROLE=PARTNER ou ROLE=WITNESS).

Observação importanteImportante

Cada instância do servidor só pode ter um ponto de extremidade. Então, se você quiser que uma instância do servidor seja parceiro em algumas sessões e testemunha em outras, especifique ROLE=ALL.

--Endpoint for initial principal server instance, which
--is the only server instance running on SQLHOST01.
CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (ROLE=PARTNER);
GO
--Endpoint for initial mirror server instance, which
--is the only server instance running on SQLHOST02.
CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (ROLE=PARTNER);
GO
--Endpoint for witness server instance, which
--is the only server instance running on SQLHOST03.
CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (ROLE=WITNESS);
GO

Ícone de seta usado com o link Voltar ao Início[Início]

Tarefas relacionadas

Para configurar um ponto de extremidade de espelhamento de banco de dados

Para exibir informações sobre o ponto de extremidade de espelhamento de banco de dados

Ícone de seta usado com o link Voltar ao Início[Início]

Consulte também

Referência

ALTER ENDPOINT (Transact-SQL)

CREATE ENDPOINT (Transact-SQL)

Conceitos

Escolher um algoritmo de criptografia

Especificar um endereço de rede do servidor (Espelhamento de banco de dados)

Exemplo: Configurando o espelhamento de banco de dados usando a Autenticação do Windows (Transact-SQL)

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