Erro de espelhamento de início do MS SQL

1

Helo

Estou tentando espelhar um banco de dados usando um servidor Principal, Espelho e Testemunha. Cada computador que tem seu próprio endereço IP local (v4) e eu os tornei estáticos para que eles não mudem.

Em seguida, fiz algumas leituras e segui as etapas de backup e restauração de um banco de dados de teste e, em seguida, usando o Assistente de Segurança do Congelamento de Espelhamento, consegui conectar-me a cada um dos Servidores usando a Autenticação do SQL Server não Eu recebo a mensagem de Sucesso, em seguida, clico em Fechar e Iniciar o Mirroing, mas obtenho um endereço de rede Erro # 1418: "TCP: // BAKSRV: 5022" não pode ser alcançado ou não existe, alterei os endereços de rede para ver se ele se conectará usando o IPv4 e inseriu as informações abaixo. nos endereços de rede do servidor:

Principal: TCP: //10.1.10.1: 5022 Espelho: TCP: //10.1.10.2: 5022 Testemunha: TCP: //10.1.10.3: 5022

Eu também tentei usar seus nomes de computador, mas ainda me dá o mesmo erro

Erro # 1418 Endereço de rede: "TCP: //10.1.10.2: 5022" não pode ser alcançado ou não existe

no espelho Comp. Fui ao cmd e fiz netstat -a e vejo isso várias vezes:

TCP ---- 10.1.10.2:5022 ------- Main-PC:diffrent port numbers ---- TIME_WAIT

Também desabilitei o firewall na compilação espelhada. para descartar, mas ainda não consigo iniciar o espelhamento.

Todos os Comps estão executando o MS SQL 2012 e estou usando um TestDB que possui dois arquivos para que seja testado / funcionando.

Quando eu tento isso: SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints

Eu recebo:

name        role_desc   state_desc
Mirroring   PARTNER     STARTED

e quando eu tento isso: SELECT name, port FROM sys.tcp_endpoints

Eu recebo:

name                            port
Dedicated Admin Connection      0
TSQL Default TCP                0
Mirroring                       5022

Informações adicionais.

quando entro no SQL Server Configuration Manager e seleciono SQL Server em Logon: esta conta é verificar e há um nome de conta:. \ BKAccount e a senha também são preenchidas. Todos os 3 servidores têm as mesmas configurações, mas todos eles têm um nome de usuário / senha diferente. Não sei se isso ajuda, mas quando estou no SQL Management Studio, só consigo me conectar ao servidor de Espelhamento e ao servidor do Witness selecionando Autenticação: Autenticação do SQL Server e não selecionando a autenticação do Windows.

Alguém por favor pode me ajudar o que estou fazendo de errado e como posso fazer com que isso funcione .... Por favor, AJUDA !!!

Obrigado novamente ...

    
por compcobalt 05.03.2013 / 20:26

1 resposta

1

Parece que você provavelmente tem um problema com seus endpoints.

Se você ainda não precisa, certifique-se de ter configurado os pontos de extremidade corretamente e iniciado nos dois servidores. Você pode confirmar que eles estão lá executando:

SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints 

Se você já fez isso, recomendo largar e recriar os dois e, em seguida, tentar conectar-se novamente. As etapas para fazer isso estão nos livros on-line: link

ATUALIZAÇÃO:

Com base nos seus comentários acima, você está usando a Autenticação do SQL para se conectar à instância. E as instâncias do servidor estão sendo executadas em contas locais (sem domínio). Para que isso funcione, você terá que usar certificados para autenticação de ponto de extremidade. E para usar certificados para os terminais de espelhamento de banco de dados, o administrador do sistema deve configurar cada instância do servidor para usar certificados nas conexões de saída e de entrada.

Infelizmente, não há uma maneira automática de configurar a segurança do espelhamento de banco de dados usando certificados. Então, quando você tiver os certificados configurados, terá que criar manualmente os nós de extremidade com CREATE ENDPOINT. consulte: Como determinar o tipo de autenticação para um ponto de extremidade de espelhamento de banco de dados

Como você já indicou que está tendo dificuldades, talvez seja mais fácil usar a Autenticação do Windows. Aqui está o esquema básico do que estaria envolvido:

  1. Verifique se as instâncias do SQL estão configuradas para a autenticação de modo misto
  2. Você precisará criar os logins de domínio apropriados que você deseja usar. Por: Segurança de transporte para espelhamento de banco de dados e grupos de disponibilidade AlwaysOn (SQL Server)

    Em Autenticação do Windows, cada instância do servidor efetua login no outro lado usando as credenciais do Windows da conta de usuário do Windows na qual o processo está sendo executado. A autenticação do Windows pode exigir alguma configuração manual de contas de login, da seguinte maneira:

    • Se as instâncias do SQL Server forem executadas como serviços na mesma conta de domínio, nenhuma configuração extra será necessária.
    • Se as instâncias do SQL Server forem executadas como serviços em diferentes contas de domínio (nos mesmos domínios ou em domínios confiáveis), o login de cada conta deverá ser criado no mestre em cada uma das outras instâncias do servidor e esse login deverá ser concedido CONNECT permissões no endpoint.
    • Se as instâncias do SQL Server forem executadas como a conta do Serviço de Rede, o logon da conta de cada computador host (DomainName \ ComputerName $) deverá ser criado no mestre em cada um dos outros servidores e esse login deverá receber as permissões CONNECT no endpoint. Isso ocorre porque uma instância do servidor em execução na conta do Serviço de Rede autentica usando a conta de domínio do computador host.
  3. Dependendo de como você tem os serviços do SQL Server configurados acima, talvez seja necessário configurar o login contas

Eu sei que isso é muita informação; Uma vez que você tenha a autenticação resolvida, você deve conseguir trabalhar com a GUI. Livros on-line também tem um exemplo realmente útil que inclui todo o TSQL que você precisa para fazer isso. Depois de ter a configuração de autenticação, você pode usar os códigos de exemplo para configurá-la. Exemplo: Configurando o espelhamento de banco de dados usando a autenticação do Windows (Transact-SQL)

    
por 07.03.2013 / 04:23