MS Sql Server Mirroring

1

Estamos analisando o espelhamento de um banco de dados MS SQL (para um aplicativo da Web) devido à maneira exclusiva como o aplicativo foi desenvolvido, cada usuário possui uma conta de usuário de Logon do servidor SQL que tem permissões para nosso banco de dados de aplicativo da web.

Não conseguimos descobrir ou fazer com que o banco de dados MS SQL espelhe as contas de usuário de um servidor para o outro.

É possível fazer isso ou o espelhamento do MS SQL é limitado apenas às tabelas / dados do banco de dados.

    
por Matt Seymour 10.04.2012 / 17:28

4 respostas

2

O espelhamento de banco de dados é limitado apenas ao banco de dados e não inclui nenhuma informação no nível da instância, como logins e trabalhos. Eles precisarão ser migrados usando um script ou processo manual. A Microsoft forneceu um procedimento armazenado chamado sp_help_revlogin que exportará os logons (e os SIDs associados aos usuários do SQL) e a saída deste script pode ser executado no servidor DR. Isso criará os logins com a mesma senha e, como os usuários do banco de dados (não logons, são separados) são mapeados para os logins da instância usando SIDs e os SIDs ainda são os mesmos, isso deve resolver o problema. Você terá que fazer o script dos trabalhos SQL separadamente, embora eu ache que o Bill Graziano tem um utilitário de script que executa essas duas funções e pode ser agendado, embora eu não consiga encontrar o link para ele agora.

Encontrado o link .

    
por 10.04.2012 / 19:52
1

É limitado apenas a bancos de dados.

    
por 10.04.2012 / 17:32
1

O espelhamento MSSQL Banco de dados não atualiza a segurança mútua nem as configurações de login.

No entanto, você pode usar a segurança integrada do Windows e adicionar novos usuários a um grupo de segurança "webapp".

    
por 10.04.2012 / 17:45
1

O SQL Server 2012 introduz bancos de dados contidos ( link ) - essencialmente, esses são bancos de dados que são < em> um tanto isolado do resto da instância do SQL Server.

Ao configurar seu banco de dados para contenção parcial, você pode criar usuários contidos - as credenciais e os privilégios são armazenados no banco de dados em vez de no mestre e, assim, um usuário contido se autentica nesse banco de dados em vez da instância do SQL Server. Como resultado, se você estiver usando o espelhamento de banco de dados, o login e as permissões serão transferidos automaticamente para o espelho.

Para criar usuários contidos, você também precisa definir a opção sp_configure 'contained database authentication' como 1 em ambos, o principal e o espelho ( link )

Existem algumas práticas recomendadas de segurança a serem seguidas para garantir que seu banco de dados permaneça seguro - consulte o link para mais.

Se você não está usando o SQL 2012, percebo que isso não é muito útil, mas talvez seja um bom motivo para atualizar!

    
por 15.04.2012 / 22:10