Instalar o SQL Server com o fileshare SMB como uma opção de armazenamento

A partir do SQL Server 2012, os bancos de dados de sistema (Mestre, Modelo, MSDB e TempDB) e os bancos de dados de usuário do Mecanismo de Banco de Dados podem ser instalados com um servidor de arquivos SMB como uma opção de armazenamento. Isso se aplica a instalações autônomas do SQL Server e a FCI (instalações de cluster de failover) do SQL Server.

ObservaçãoObservação

O fluxo de arquivos não tem suporte em um compartilhamento de arquivos SMB.

Considerações sobre instalação

Formatos de compartilhamento de arquivo SMB:

Embora especificando o compartilhamento de arquivos SMB, os formatos de caminho a seguir têm suporte da UNC (Convenção de Nomenclatura Universal) para bancos de dados autônomos e FCI.

  • \\Nomedoservidor\Nomedocompartilhamento\

  • \\Nomedoservidor\Nomedocompartilhamento

Para obter mais informações sobre a Convenção de Nomenclatura Universal, consulte UNC (https://go.microsoft.com/fwlink/?LinkId=245534).

O caminho UNC de loopback (um caminho UNC cujo nome de servidor é localhost, 127.0.0.1 ou o nome do computador local) não tem suporte. Como um caso especial, o SQL Server usando o cluster de servidor de arquivos que está hospedado no mesmo nó em que o SQL Server está sendo executado também não tem suporte. Para impedir essa situação, é recomendável que o SQL Server e o cluster de servidor de arquivos seja criado em clusters do Windows separados.

Os formatos de caminho UNC abaixo não têm suporte:

  • Caminho de loopback, por exemplo, \\localhost\.. \ ou \\127.0.0.1\... \

  • Compartilhamentos administrativos, por exemplo, \\servername\x$

  • Outros formatos de caminho UNC como \\? \x:\

  • Unidades de rede mapeadas.

Instruções DLL (linguagem de definição de dados) com suporte

As instruções DDL de Transact-SQL e os procedimentos armazenados de mecanismo de banco de dados a seguir dão suporte a compartilhamentos de arquivos SMB:

  1. CREATE DATABASE (Transact-SQL)

  2. ALTER DATABASE (Transact-SQL)

  3. RESTORE (Transact-SQL)

  4. BACKUP (Transact-SQL)

  5. sp_attach_db (Transact-SQL)

  6. sp_attach_single_file_db (Transact-SQL)

Opções de instalação

  • Na página de interface de usuário de instalação "Configuração do mecanismo de banco de dados", guia "Diretórios de Dados", defina o parâmetro Diretório raiz de dados como "\\fileserver1\share1\."

  • Na instalação do prompt de comando, especifique "/INSTALLSQLDATADIR" como "\\fileserver1\share1\."

    Veja aqui a sintaxe de exemplo para instalar o SQL Server em um servidor Autônomo usando a opção de compartilhamento de arquivos SMB:

    Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<StrongPassword>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<StrongPassword>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /IACCEPTSQLSERVERLICENSETERMS
    

    Para instalar uma instância de cluster de failover do SQL Server de único nó com o Mecanismo de Banco de Dados e o Analysis Services, instância padrão:

    setup.exe /q /ACTION=InstallFailoverCluster /InstanceName=MSSQLSERVER /INDICATEPROGRESS /ASSYSADMINACCOUNTS="<DomainName\UserName>" /ASDATADIR=<Drive>:\OLAP\Data /ASLOGDIR=<Drive>:\OLAP\Log /ASBACKUPDIR=<Drive>:\OLAP\Backup /ASCONFIGDIR=<Drive>:\OLAP\Config /ASTEMPDIR=<Drive>:\OLAP\Temp /FAILOVERCLUSTERDISKS="<Cluster Disk Resource Name - for example, 'Disk S:'" /FAILOVERCLUSTERNETWORKNAME="<Insert Network Name>" /FAILOVERCLUSTERIPADDRESSES="IPv4;xx.xxx.xx.xx;Cluster Network;xxx.xxx.xxx.x" /FAILOVERCLUSTERGROUP="MSSQLSERVER" /Features=AS,SQL /ASSVCACCOUNT="<DomainName\UserName>" /ASSVCPASSWORD="xxxxxxxxxxx" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="xxxxxxxxxxx" /INSTALLSQLDATADIR="\\FileServer\Share1\" /SQLCOLLATION="SQL_Latin1_General_CP1_CS_AS" /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="xxxxxxxxxxx" /SQLSYSADMINACCOUNTS="<DomainName\UserName> /IACCEPTSQLSERVERLICENSETERMS
    

    Para obter mais informações sobre o uso de várias opções de parâmetro de linha de comando no SQL Server 2012, consulte Instalar o SQL Server 2012 do prompt de comando.

Considerações sobre o sistema operacional (Protocolo SMB vs.SQL Server)

Sistemas operacionais Windows diferentes têm versões de protocolo SMB diferentes e a versão do protocolo SMB é transparente para o SQL Server. Você pode localizar os benefícios das versões diferentes do protocolo SMB com relação ao SQL Server 2012.

Sistema Operacional

versão do protocolo SMB2

Benefícios para o SQL Server

Windows Server 2008

2.0

  • Desempenho aprimorado em relação a versões de SMB anteriores.

  • Durabilidade, que ajuda a recuperar de pequenos problemas de rede temporários.

Windows Server 2008 R2

2.1

  • Suporte para MTU grande, que beneficia transferências de dados grandes, como backup e restauração de SQL. Este recurso deve ser habilitado pelo usuário. Para obter mais detalhes sobre como habilitar esse recurso, consulte Novidades no SMB (https://go.microsoft.com/fwlink/?LinkID=237319)

  • Melhorias de desempenho significativas, especificamente para cargas de trabalho de estilo OLTP do SQL. Estas melhorias de desempenho exigem a aplicação de um hotfix. Para obter mais informações sobre o hotfix, consulte isso (https://go.microsoft.com/fwlink/?LinkId=237320).

Windows Server 2012

3.0

  • O suporte para failover transparente de compartilhamentos de arquivos fornece zero tempo de inatividade sem a intervenção de administrador exigida para DBA do SQL ou administrador de servidor de arquivos em configurações do cluster de servidor de arquivos.

  • Suporte para ES usando diversas interfaces de rede simultaneamente, assim como tolerância para falhas de interface de rede.

  • Suporte para interfaces de rede com recursos de RDMA.

  • Para obter mais informações sobre esses recursos e protocolo SMB, consulte Visão geral do protocolo SMB (https://go.microsoft.com/fwlink/?LinkId=253174).

  • Suporte ao Servidor de Arquivos de Expansão (SoFS) com disponibilidade contínua.

Windows Server 2012 R2

3.02

  • O suporte para failover transparente de compartilhamentos de arquivos fornece zero tempo de inatividade sem a intervenção de administrador exigida para DBA do SQL ou administrador de servidor de arquivos em configurações do cluster de servidor de arquivos.

  • Suporte para ES usando diversas interfaces de rede simultaneamente, assim como tolerância para falhas de interface de rede, usando SMB Multichannel.

  • Suporte para interfaces de rede com recursos de RDMA, usando SMB Direct.

  • Para obter mais informações sobre esses recursos e protocolo SMB, consulte Visão geral do protocolo SMB (https://go.microsoft.com/fwlink/?LinkId=253174).

  • Suporte ao Servidor de Arquivos de Expansão (SoFS) com disponibilidade contínua.

  • Otimizado para pequena E/S de leitura/gravação aleatória comum a SQL Server OLTP.

  • A Unidade Máxima de Transmissão (MTU) é ativada por padrão, o que aumenta de forma significativa o desempenho em grandes transferências sequenciais como data warehouse do SQL Server e backup ou restauração de bancos de dados.

Considerações sobre segurança

  • A conta de serviço SQL Server e a conta de serviço SQL Server Agent devem ter as permissões de compartilhamento FULL CONTROL e permissões NTFS nas pastas de compartilhamento SMB. A conta de serviço do SQL Server podem ser uma conta de domínio ou uma conta de sistema se for usado um servidor de arquivos SMB. Para obter mais informações sobre compartilhamento e permissões NTFS, consulte Permissões de compartilhamento e NTFS em um servidor de arquivos (https://go.microsoft.com/fwlink/?LinkId=245535).

    ObservaçãoObservação

    As permissões de compartilhamento FULL CONTROL e as permissões NTFS nas pastas de compartilhamento SMB devem ser restritas a: conta de serviço do SQL Server, conta de serviço do SQL Server Agent e usuários do Windows com funções de servidor admin.

    Era recomendado usar a conta de domínio como uma conta de serviço do SQL Server. Se a conta de sistema for usada como uma conta de serviço, conceda as permissões para a conta do computador no formato: <domain_name>\<computer_name>$.

    ObservaçãoObservação
    • Durante instalação do SQL Server, será necessário especificar a conta de domínio como uma conta de serviço se o compartilhamento de arquivos SMB for especificado como uma opção de armazenamento. Com o compartilhamento de arquivos SMB, a conta de Sistema somente poderá ser especificada como uma conta de serviço após a instalação do SQL Server.

    • Contas virtuais não podem ser autenticadas em um local remoto. Todas as contas virtuais usam a permissão da conta de máquina. Provisione a conta de máquina no formato <domain_name>\<computer_name>$.

  • A conta usada para instalar o SQL Server deve ter permissões FULL CONTROL na pasta de compartilhamento de arquivos SMB usada como o diretório de dados ou qualquer outra pasta de dados (diretório de banco de dados de usuário, diretório de log de banco de dados de usuário, diretório de TempDB, diretório de log TempDB, diretório de backup) durante a instalação de cluster.

  • A conta usada para instalar o SQL Server deve ter privilégios SeSecurityPrivilege no servidor de arquivos SMB. Para conceder esse privilégio, use o console Política de Segurança Local no servidor de arquivos para adicionar a conta de instalação do SQL Server à política Gerenciar a auditoria e o log de segurança. Essa configuração está disponível na seção Atribuições de Direitos do Usuário, em Políticas Locais, no console Política de Segurança Local.

Problemas conhecidos

  • Ao desanexar um banco de dados do SQL Server 2012 que reside no armazenamento anexado por rede, você poderá ter um problema de permissão de banco de dados ao tentar reanexar o banco de dados do SQL Server. O problema é definido neste artigo da Base de Dados de Conhecimento (https://go.microsoft.com/fwlink/?LinkId=237321). Para resolver este problema, consulte a seção Mais Informações no artigo da Base de Dados de Conhecimento.

  • Se o compartilhamento de arquivos SMB é usado como uma opção de armazenamento para uma instância clusterizada do SQL Server, por padrão o log de diagnóstico do cluster de failover do SQL Server não pode ser gravado no compartilhamento de arquivos porque a DLL de recursos do SQL Server não tem a permissão de leitura/gravação no compartilhamento de arquivos. Para resolver esse problema, tente um dos seguintes métodos:

    1. Conceda permissões de leitura/gravação no compartilhamento de arquivos a todos os objetos de computador no cluster.

    2. Defina o local dos logs de diagnóstico como um caminho de arquivo local. Consulte o seguinte exemplo:

      ALTER SERVER CONFIGURATION
      SET DIAGNOSTICS LOG PATH = 'C:\logs';
      

Consulte também

Referência

Configurar contas de serviço e permissões do Windows

Conceitos

Planejando uma instalação do SQL Server

Outros recursos

Tópicos de instruções sobre a instalação