Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve o suporte para arquivos de banco de dados de rede no SQL Server e como configurar o SQL Server para armazenar um banco de dados em um servidor de rede ou em um servidor de armazenamento NAS.
Versão original do produto: SQL Server
Número original do KB: 304261
Resumo
A Microsoft geralmente recomenda que você use uma SAN (Rede de Área de Armazenamento) ou um disco anexado localmente para o armazenamento de seus arquivos de banco de dados do Microsoft SQL Server, pois essa configuração otimiza o desempenho e a confiabilidade do SQL Server. Por padrão, o uso de arquivos de banco de dados de rede armazenados em um servidor de rede ou em um servidor NAS (Network Attached Storage) não está habilitado para o SQL Server.
No entanto, você pode configurar o SQL Server para armazenar um banco de dados em um servidor em rede ou em um servidor NAS. Os servidores usados para essa finalidade devem atender aos requisitos do SQL Server para garantias de gravação, ordenação e gravação de dados. Eles são detalhados na seção Mais informações .
As condições a seguir descrevem o uso de arquivos de banco de dados de rede armazenados em um servidor de rede ou servidor NAS:
Esse uso é habilitado por padrão no Microsoft SQL Server 2008 R2 e versões posteriores.
Esse uso requer que o sinalizador de rastreamento de inicialização -T1807 funcione no Microsoft SQL Server 2008 e em versões anteriores. A partir do SQL Server 2012, o sinalizador de rastreamento não é mais necessário. Para obter mais informações sobre como habilitar sinalizadores de rastreamento de inicialização, consulte Opções de inicialização do serviço Mecanismo de Banco de Dados.
Dispositivos qualificados pelo WHQL (Laboratório de Qualidade de Hardware) do Windows
Os servidores Microsoft Windows e servidores em rede ou servidores de armazenamento NAS qualificados pelo WHQL (Windows Hardware Quality Lab) atendem automaticamente às garantias de gravação, ordenação e gravação de dados necessárias para dar suporte a um dispositivo de armazenamento SQL Server. A Microsoft oferece suporte a problemas relacionados a aplicativos e armazenamento nessas configurações.
Observação
Para ter suporte do SQL Server, a solução de armazenamento NAS também deve atender a todos os requisitos listados no documento de download: Requisitos do programa de confiabilidade de E/S do SQL Server.
Outros dispositivos
Se você usar um dispositivo de armazenamento não qualificado pelo WHQL com o SQL Server que dê suporte às garantias de E/S para uso de banco de dados transacional descritas neste artigo, a Microsoft fornecerá suporte completo para o SQL Server e aplicativos baseados no SQL Server. No entanto, problemas com ou causados pelo dispositivo ou seu subsistema de armazenamento serão encaminhados ao fabricante do dispositivo. Se você usar um dispositivo de armazenamento não qualificado pelo WHQL que não ofereça suporte às garantias de E/S para uso de banco de dados transacional descritas neste artigo, a Microsoft não poderá fornecer suporte para SQL Server ou aplicativos baseados em SQL Server. Para determinar se o dispositivo de armazenamento não qualificado pelo WHQL dá suporte às garantias de E/S para uso de banco de dados transacional descritas neste artigo ou projetadas para uso em banco de dados, verifique com o fornecedor do dispositivo. Além disso, entre em contato com o fornecedor do dispositivo para verificar se você implantou e configurou corretamente o dispositivo para uso do banco de dados transacional.
Mais informações
Por padrão, no SQL Server 2008 e versões anteriores, você não pode criar um banco de dados do SQL Server em um compartilhamento de arquivos de rede. Qualquer tentativa de criar um arquivo de banco de dados em um local de rede mapeado ou UNC gera uma das seguintes mensagens de erro:
Mensagem de erro 1
5105 "Erro de ativação do dispositivo"
Mensagem de erro 2
5110 "O arquivo 'file_name' está em um dispositivo de rede não suportado para arquivos de banco de dados."
O comportamento é esperado. O sinalizador de rastreamento 1807 ignora a verificação e permite que você configure o SQL Server com arquivos de banco de dados baseados em rede. O SQL Server e a maioria dos outros sistemas de banco de dados corporativos usam um log de transações e a lógica de recuperação associada para manter a consistência do banco de dados transacional no caso de uma falha do sistema ou de um desligamento não gerenciado. Esses protocolos de recuperação dependem da capacidade de gravar diretamente na mídia de disco para que, quando uma solicitação de gravação de entrada/saída (E/S) do sistema operacional retornar ao gerenciador de banco de dados, o sistema de recuperação possa ter certeza de que a gravação foi concluída ou que a conclusão da gravação pode ser garantida. Qualquer falha de qualquer componente de software ou hardware em honrar este protocolo pode causar uma perda ou corrupção parcial ou total de dados no caso de uma falha do sistema. Para obter mais informações sobre esses aspectos dos protocolos de log e recuperação no SQL Server, consulte Descrição dos algoritmos de log e armazenamento de dados que estendem a confiabilidade dos dados no SQL Server.
A Microsoft não oferece suporte a arquivos de banco de dados em rede do SQL Server no NAS ou em servidores de armazenamento em rede que não atendam a esses requisitos de write-through e ordem de gravação.
Devido aos riscos de erros de rede que comprometem a integridade do banco de dados, juntamente com possíveis implicações de desempenho que podem resultar do uso de compartilhamentos de arquivos de rede para armazenar bancos de dados, a Microsoft recomenda que você armazene arquivos de banco de dados em subsistemas de disco local ou em SANs (Redes de Área de Armazenamento).
Um sistema NAS (Network Attached Storage, armazenamento conectado à rede) é um sistema de armazenamento baseado em arquivo ao qual os clientes se conectam por meio do redirecionador de rede usando um protocolo de rede (como TCP/IP). Por padrão, se o acesso a um recurso de disco exigir que um compartilhamento seja mapeado ou se o recurso de disco aparecer como um servidor remoto por meio de um caminho UNC (por exemplo, \Servername\Sharename) na rede, o sistema de armazenamento em disco não terá suporte como um local para bancos de dados do SQL Server.
Problemas de desempenho
O SQL Server, como outros sistemas de banco de dados corporativos, pode colocar uma grande carga em um subsistema de E/S. Na maioria dos aplicativos de banco de dados grandes, a configuração e o ajuste de E/S física desempenham um papel significativo no desempenho geral do sistema. Há três fatores principais de desempenho de E/S a serem considerados:
- Largura de banda de E/S: a largura de banda agregada, normalmente medida em megabytes por segundo, que pode ser sustentada em um dispositivo de banco de dados.
- Latência de E/S: a latência, normalmente medida em milissegundos, entre uma solicitação de E/S pelo sistema de banco de dados e o ponto em que a solicitação de E/S é concluída.
- Custo da CPU: o custo da CPU do host, normalmente medido em microssegundos de CPU, para que o sistema de banco de dados conclua uma única E/S.
Qualquer um desses fatores de E/S pode se tornar um gargalo e você deve considerar todos esses fatores ao projetar um sistema de E/S para um aplicativo de banco de dados.
Em sua forma mais simples, uma solução NAS usa uma pilha de software redirecionador de rede padrão, placa de interface de rede (NIC) padrão e componentes Ethernet padrão. A desvantagem dessa configuração é que toda a E/S de arquivo é processada por meio da pilha de rede e está sujeita às limitações de largura de banda da própria rede. Isso pode criar problemas de desempenho e confiabilidade de dados, especialmente em programas que exigem altos níveis de E/S de arquivo, como o SQL Server. Em algumas configurações de NAS testadas pela Microsoft, a taxa de transferência de E/S foi de um terço (1/3) da de uma solução de armazenamento de conexão direta no mesmo servidor. Nessa mesma configuração, o custo da CPU para concluir uma E/S por meio do dispositivo NAS era o dobro de uma E/S local. À medida que os dispositivos NAS e a infraestrutura de rede evoluem, essas proporções também podem melhorar em relação ao armazenamento conectado diretamente ou SANs. Além disso, se os dados do aplicativo estiverem armazenados em cache no buffer pool do banco de dados e você não encontrar nenhum dos gargalos de E/S descritos, o desempenho em um sistema baseado em NAS provavelmente será adequado para seu aplicativo.
Considerações de backup e restauração
O SQL Server fornece a VDI (Interface de Dispositivo Virtual) para backup. A VDI fornece aos fornecedores de software de backup um meio de alto desempenho, escalonável e confiável para executar backups dinâmicos e restaurar bancos de dados do SQL Server.
O software de backup opera em arquivos de banco de dados armazenados em dispositivos NAS por meio de VDI, sem suporte especial específico para o NAS. No entanto, isso resulta em muito tráfego de rede adicional durante o backup e a restauração. Durante o backup por meio da VDI, o SQL Server lê os arquivos remotamente e passa os dados para o software de backup de terceiros que está sendo executado no computador do SQL Server. A operação de restauração é análoga.
Para evitar a sobrecarga extra da rede, o fornecedor de backup deve fornecer suporte específico ao NAS pelo fornecedor de backup e pelo fornecedor do NAS. A VDI do SQL Server permite que o software de backup aproveite as tecnologias de hardware (split-mirror) ou software (copy-on-write) suportadas pelos dispositivos NAS para fazer cópias rápidas dos arquivos de banco de dados locais para o NAS. Essas tecnologias não apenas evitam a sobrecarga de copiar os arquivos pela rede para backup, mas também podem reduzir os tempos de restauração em ordens de magnitude.
Os backups armazenados no NAS são vulneráveis às mesmas falhas que afetam os arquivos de banco de dados armazenados no NAS. Você deve considerar a proteção desses backups copiando-os para uma mídia alternativa.
Cuidado
Você pode corromper o banco de dados no backup se usar tecnologias de backup NAS sem suporte a VDI do SQL Server. Essa corrupção inclui páginas rasgadas ou inconsistências entre o log e os arquivos de dados se eles estiverem armazenados em dispositivos separados. O SQL Server pode não detectar as páginas interrompidas ou inconsistências até que você restaure o banco de dados e acesse os dados corrompidos. A Microsoft não oferece suporte ao uso de tecnologias de backup NAS que não são coordenadas com o SQL Server.
O suporte de backup e o suporte do fornecedor de NAS para a VDI do SQL Server variam. Verifique com seus fornecedores de software de backup e NAS para obter detalhes sobre o suporte a VDI.
A Microsoft recomenda que os clientes que estão considerando a implantação de uma solução NAS para bancos de dados SQL Server consultem seu fornecedor de NAS para garantir que o design da solução de ponta a ponta seja para uso em banco de dados. Muitos fornecedores de NAS têm guias de práticas recomendadas e configurações certificadas para esse uso. A Microsoft também recomenda que os clientes comparem seu desempenho de E/S para garantir que nenhum dos fatores de E/S mencionados anteriormente cause um gargalo em seu aplicativo.
A lista a seguir descreve o suporte para arquivos baseados em rede em clusters de failover do SQL:
SQL Server 2008 R2 e versões anteriores: sem suporte
SQL Server 2012 e versões posteriores: com suporte
Para obter mais informações, consulte o seguinte tópico dos Manuais Online do SQL Server:
Instalar o SQL Server com armazenamento de compartilhamento de arquivos SMB
Observações adicionais
O uso incorreto de software de banco de dados com um produto NAS, ou o uso de banco de dados com um produto NAS configurado incorretamente, pode resultar em perda de dados, incluindo perda total do banco de dados. Se o dispositivo NAS ou o software de rede não honrar completamente as garantias de dados, como pedidos de gravação ou gravação, falhas de hardware, software ou até mesmo de energia podem comprometer seriamente a integridade dos dados.