Permissões para envio de logs de transações do SQL Server 2005

4

Estou tentando enviar os logs de transação do Servidor A para o Servidor B. Continuo recebendo os erros de permissão negada quando o agente tenta executar porque não está usando as credenciais corretas para se conectar ao compartilhamento da pasta de backup.

  • Nenhum servidor está em um domínio (e isso não é uma opção).
  • Eu configurei uma pasta compartilhada no Servidor B para colocar os arquivos, mas o Servidor A precisa de acesso para gravar nela. (Ou vice-versa, o Servidor B precisa ler um compartilhamento que o Servidor A fornece).
  • Não posso conceder permissão no compartilhamento do Servidor B para o SQL Agent do Servidor A porque os servidores estão separados.

Existe uma maneira de especificar as credenciais de login para o Servidor A usar ao conectar-se ao Servidor B?

Estou me referindo à primeira caixa de texto nesta tela:

    
por The Matt 28.05.2009 / 07:15

3 respostas

3

eu acho que se você fizer as credenciais de login tem o mesmo nome de usuário & senha em cada servidor pode funcionar. Ou você já tentou isso?

    
por 28.05.2009 / 07:20
1

Você precisará criar uma conta nos dois servidores com o mesmo nome e a mesma senha. Você precisará configurar o SQL Server e o SQL Agent para serem executados nesses logins, nos quais o servidor sempre estará empurrando / puxando os arquivos para a outra máquina.

    
por 28.05.2009 / 07:41
0

Configure uma conta de usuário local no sistema de origem.

Configure uma conta de usuário local no sistema de destino com o nome de usuário e senha exatamente igual .

Defina a conta de serviço MSSQLSERVER do sistema de origem (ou a instância apropriada desse serviço) para usar a conta local recém-criada.

Crie um compartilhamento no sistema de destino e forneça as permissões de leitura / gravação da conta recém-criada à pasta.

O servidor de destino não precisa necessariamente ser executado com essa conta de serviço, é opcional.

Como alternativa, você também pode fazer o seguinte. Requer uma senha de texto não criptografado em um trabalho, por isso não é recomendável. Em seu script de backup, faça o seguinte:

exec sp_configure 'xp_cmdshell', 1 reconfigurar

exec 'xp_cmdshell' 'net use \ targetserver \ caminho / usuário: shareusername / senha: shareuserpassword' ''

exec sp_configure 'xp_cmdshell', 0 reconfigurar

Substitua em um usuário / senha que você criou no servidor de destino. Deve ser uma conta que tenha acesso apenas a esse compartilhamento e nada mais, nem um administrador ou qualquer coisa, para minimizar o impacto da segurança de uma senha em texto puro.

Teoricamente, você poderia fazer isso como um SP de inicialização do sistema e ele deveria funcionar. Eu provavelmente colocaria no trabalho de backup.

Isso também pressupõe que você está deixando o xp_cmdshell desativado, que é a opção padrão, correta e de alta segurança. Se você estiver deixando o programa ligado o tempo todo, você pode remover as instruções sp_configure e reconfigure.

    
por 29.05.2009 / 20:28