Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Por que meu tempdb redefine as permissões quando o servidor é reinicializado?


Primeiro, você não deve atribuir permissões diretamente ao tempdb. Pelas razões óbvias de que ele é recriado a cada reinicialização.

O que na verdade levanta uma questão:por que você precisa ter permissões diretas para esse banco de dados?

Você não precisa de nenhuma permissão além de poder se conectar ao sql server para criar tabelas temporárias. No entanto, se você estiver criando tabelas reais no tempdb, sugiro que você altere isso para usar um banco de dados dedicado para essa finalidade.

ATUALIZAÇÃO
Com base no comentário de Martin, tudo o que posso dizer é uau. Eu nunca teria considerado que isso seria uma opção.

Ok, agora que me recuperei do choque.

Crie um novo trabalho no sql server que seja executado em um agendamento. A agenda deve ser definida como "Iniciar automaticamente sempre que o SQL Server Agent for iniciado". O trabalho deve recriar suas permissões tempdb necessárias.

Em poucas palavras, quando o servidor for reinicializado, o SQL Server Agent será reiniciado (desde que o serviço seja definido dessa maneira). Quando for reiniciado, iniciará este trabalho que corrigirá suas permissões. Eu esperaria que o site permanecesse inativo por apenas alguns segundos a mais do que o necessário para o SQL Server reiniciar completamente.