SQL Server 2012 com conta NT Service \ MSSQLSERVER acesso negado no domínio

7

Há alguns meses, instalamos o SQL Server 2012 no Windows 2008 R2 sob a conta virtual " NT Service \ MSSQLSERVER ", tudo bem.

Alguns dias atrás, um dos administradores do departamento de TI instalou o componente Full Text Search no SQL Server 2012 (o problema é que ele não conseguia lembrar as configurações exatamente escolhidas durante a instalação) e, depois disso, poucos problemas vêm:

A. Verificamos os Logs do Windows, no aplicativo, descobrimos que o MSSQLServer tem muitos logs anormais, como:

The SQL Server Network Interface library could not register the Service Principal Name (SPN) [ MSSQLSvc/FooComputer.FooDomain.com:1433 ] for the SQL Server service. Windows return code: 0xffffffff, state: 63. Failure to register a SPN might cause integrated authentication to use NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies and if the SPN has not been manually registered.

Parece ser a causa, mas não se sabe por que e como resolvê-lo.

B. As tarefas SQL com proprietários que são usuários de domínio como ("MyDomain \ FooUser") falharão com a seguinte mensagem:

The job failed. Unable to determine if the owner (MyDomain\FooUser) of job JOBNAME has server access (reason: Could not obtain information about Windows NT group/user 'MyDomain\FooUser', error code 0x6e. [SQLSTATE 42000] (Error 15404)).

Fizemos pesquisas intensivas e, finalmente, substituímos o proprietário por "sa" e resolvemos o problema, embora não seja tão decente. Ainda assim, gostaríamos de descobrir o porquê.

C. Não é possível acessar recursos de rede como uma pasta em outros computadores, por exemplo, o seguinte sql retornará "access is denied":

DECLARE @CopyCommand nvarchar(1000)
set @CopyCommand = 'dir ' + Char(34) + '\FooComputer\FooFolder\' + Char(34)
EXEC master..xp_cmdshell @CopyCommand

Para o problema C, de acordo com o MSDN ( link ), tentamos conceder acesso total ao controle para a conta "MyDomain \ SQLServerComputerName $" para a pasta, ainda o mesmo resultado.

    
por unruledboy 14.05.2013 / 04:19

3 respostas

7

Esses três problemas são todos resultado da conta que está executando o SQL Service não sendo uma conta de domínio, e todos eles serão corrigidos ao alterar o SQL para ser executado em uma conta de domínio. Especificamente:

A - um SPN é um recurso de segurança do Kerberos que requer uma conta de domínio e não funciona com contas locais

B - Para ler a partir do diretório ativo, o serviço precisa das credenciais de uma conta de domínio

C - Contas locais não são reconhecidas por computadores remotos, por isso negam a tentativa de conexão.

Aqui está uma explicação sobre como alterar a conta de serviço:

link

    
por 14.05.2013 / 05:23
1

Quando chegamos a esse problema, nossa solução foi localizar a pasta e adicionar as permissões necessárias para a conta virtual precisar disso. Depois de adicionarmos a conta, simplesmente digitando-a, monitoramos os arquivos de log e descobrimos que não temos mais o problema em relação a essa pasta / arquivo.

    
por 21.10.2014 / 19:43
0

Pergunta antiga, mas não parece ter uma resposta adequada. NT Service \ MSSQLSERVER sendo uma conta virtual local, acessa a rede como a conta do computador. E enquanto a conta do computador tiver acesso a compartilhamentos e sistemas de arquivos, você poderá, por exemplo, fazer o backup para caminhos UNC na rede. Consulte Configurar contas de serviço e permissões do Windows .

    
por 26.03.2018 / 15:22