Compartilhar via


Instalar o SQL Server com o armazenamento de compartilhamento do arquivo SMB

Aplica-se a:SQL Server para Windows

No SQL Server 2012 (11.x) e versões posteriores, bancos de dados do sistema (master, modele msdbtempdb) e bancos de dados de usuário do Mecanismo de Banco de Dados podem ser instalados com o servidor de arquivos SMB (Server Message Block) como uma opção de armazenamento. Isso se aplica às instalações autônomas do SQL Server e do cluster de failover do SQL Server (FCI).

Observação

No momento, não há suporte para FILESTREAM em um compartilhamento de arquivos SMB.

Considerações sobre instalação

Formatos de compartilhamento de arquivos SMB

Quando você especifica o compartilhamento de arquivos SMB, os seguintes valores têm suporte para os formatos do caminho UNC (convenção de nomenclatura universal) para os bancos de dados autônomos e de FCI:

  • \\ServerName\ShareName\
  • \\ServerName\ShareName

Para obter mais informações, consulte Convenção Universal de Nomenclatura.

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 com o Cluster do Servidor de Arquivos hospedado no mesmo nó que o SQL Server também não tem suporte. Para evitar essa situação, você deve criar o SQL Server e o Cluster do Servidor de Arquivos em clusters separados do Windows.

Não há suporte para os seguintes formatos de caminho UNC:

  • Caminho de loopback, como \\localhost\...\ ou \\127.0.0.1\...\
  • Compartilhamentos administrativos, como \\servername\x$
  • Outros formatos de caminho UNC como \\?\x:\
  • Unidades de rede mapeadas

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

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

  1. CRIAR BANCO DE DADOS
  2. ALTERAR BANCO DE DADOS
  3. Instruções RESTORE
  4. BACKUP

Opções de instalação

  • Na interface do usuário de instalação, na página Configuração do Mecanismo do Banco de Dados, na guia Diretórios de Dados, defina o parâmetro diretório raiz de dados como \\<FileServer>\<Share1>\. Substitua <FileServer> e <Share1> pelos valores do seu ambiente.

  • Na instalação do prompt de comando, especifique /INSTALLSQLDATADIR como \\<FileServer>\<Share1>\.

    Aqui está 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="<password>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<password>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /IACCEPTSQLSERVERLICENSETERMS
    

    Para o SQL Server 2022 (16.x) e versões posteriores, leia os Termos de Licença de Software do Microsoft SQL Server em aka.ms/useterms.

    Para instalar uma instância de cluster de failover do SQL Server de único nó com o Mecanismo do Banco de Dados e 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="<password>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<password>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /SQLCOLLATION="SQL_Latin1_General_CP1_CS_AS" /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<password>" /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, consulte Instalar e configurar o SQL Server no Windows no prompt de comando.

Observação

Suas senhas devem seguir a política de senha padrão do SQL Server. Por padrão, a senha precisa ter pelo menos oito caracteres e conter caracteres de três dos seguintes quatro conjuntos: letras maiúsculas, letras minúsculas, dígitos de base 10 e símbolos. As senhas podem ter até 128 caracteres. Use senhas longas e complexas.

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.

Sistema Operacional versão do protocolo SMB2 Benefícios do SQL Server
Windows Server 2012 e versões posteriores, incluindo o Server Core 3.0 Suporte para o failover transparente de compartilhamentos de arquivos que fornecem tempo de inatividade zero, sem nenhuma intervenção necessária para os administradores do banco de dados ou administrador do servidor de arquivos nas configurações do cluster do servidor de arquivos.

Suporte para E/S usando várias interfaces de rede simultaneamente, com tolerância a falhas nas interfaces de rede.

Suporte para interfaces de rede com recursos de RDMA.

Para obter mais informações sobre esses recursos e o Bloco de Mensagens do Servidor, consulte a visão geral do Bloco de Mensagens do Servidor.

Suporte SoFS (Servidor de arquivo de expansão) com disponibilidade contínua.
Windows Server 2012 R2 e versões posteriores, incluindo o Server Core 3.2 Suporte para o failover transparente de compartilhamentos de arquivos que fornecem tempo de inatividade zero, sem nenhuma intervenção necessária para os administradores do banco de dados ou administrador do servidor de arquivos nas configurações do cluster do servidor de arquivos.

Suporte para IO usando diversas interfaces de rede simultaneamente e tolerância a falhas de adaptador 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 o Bloco de Mensagens do Servidor, consulte a visão geral do Bloco de Mensagens do Servidor.

Suporte SoFS (Servidor de arquivo de expansão) com disponibilidade contínua.

Otimizado para desempenhar pequenas operações aleatórias de leitura e gravação, comuns em cargas de trabalho transacionais do SQL Server.

O MTU (Unidade de transmissão máxima) é ativado por padrão, o que melhora significativamente o desempenho em grandes transferências sequenciais como data warehouse do SQL Server e o backup de banco de dados ou restauração.

Considerações de segurança

  • A conta de serviço do SQL Server e a conta de serviço do agente do SQL Server devem ter FULL CONTROL permissões de compartilhamento 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 permissões de compartilhamento e NTFS, consulte Permissões de Compartilhamento e NTFS em um Servidor de Arquivos.

    Observação

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

    Use uma conta de domínio como uma conta de serviço do SQL Server. Se a conta do 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ção

    Durante a instalação do SQL Server, você deve 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 System conta só pode ser especificada como uma conta de serviço depois de instalar o SQL Server.

    As 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 do computador 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 diretório de dados ou quaisquer outras pastas de dados (diretório do banco de dados do usuário, diretório de log do banco de dados do usuário, tempdb diretório, diretório de log tempdb, diretório de backup) durante a Instalação do Cluster.

  • A conta usada para instalar o SQL Server deve receber SeSecurityPrivilege privilégios 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.

Limitações e problemas conhecidos

Depois de desanexar um banco de dados do SQL Server que reside no armazenamento anexado à rede, você poderá encontrar problemas de permissão de banco de dados ao tentar reanexar o banco de dados do SQL Server. Para obter mais informações, consulte Erro 5120.

Se o compartilhamento de arquivos SMB for usado como opção de armazenamento para uma instância em cluster do SQL Server, por padrão, o log de diagnóstico de cluster de failover do SQL Server não poderá ser gravado no compartilhamento de arquivos porque a DLL de recursos do SQL Server não tem 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';
    

Quando você hospeda arquivos de dados do SQL Server em compartilhamentos de arquivos SMB, todas as E/S nos arquivos passam pela interface de rede no servidor ou na máquina virtual. Verifique se há largura de banda de rede suficiente para dar suporte à E/S exigida pela carga de trabalho.

A indisponibilidade do compartilhamento de arquivos que hospeda os arquivos de dados do SQL Server devido a problemas de conectividade de rede ou outra falha pode resultar em atrasos ou falhas de E/S no SQL Server. Para cargas de trabalho de missão crítica, verifique se há redundância na rede e no compartilhamento, e se o compartilhamento de arquivos oferece suporte ao failover transparente do SMB 3.0, também conhecido como disponibilidade contínua.