Exportar (0) Imprimir
Expandir Tudo

Como usar o disco de dados anexado para armazenar arquivos de banco de dados

Atualizado: fevereiro de 2014

Para instâncias do SQL Server executadas em uma máquina virtual do Azure, usar discos de dados anexados para armazenar arquivos de negócios, dados, log e backup é geralmente recomendado. Conforme observado no artigo Práticas recomentadas para o desempeinho do SQL Server em máquinas virtuais do Azure, armazene bancos de dados maiores que 10 GB em discos de dados anexados para obter um melhor desempenho.

Dependendo da imagem que você usar para provisionar uma instância do SQL Server em uma máquina virtual do Azure, o SQL Server e os bancos de dados podem ter sido instalados na unidade C: . Realocar os arquivos de bancos de dados para os discos de dados anexados e alterar o local padrão para os arquivos do banco de dados exigem mover os arquivos de bancos de dados e alterar as configurações de propriedades do servidor.

Veja a seguir os cenários comuns que exigem mover o banco de dados e muitas vezes reconfigurar as configurações de local do arquivo de banco de dados padrão.

 

Cenário

Ação necessária

Você fornece uma máquina virtual do Azure usando uma imagem da Galeria Azure que inclui o SQL Server. O SQL Server está pré-instalado na unidade C: e todos os arquivos do banco de dados do sistema estão armazenados na unidade C: . Este cenário também é semelhante a usar uma imagem personalizada que tem o SQL Server instalado na unidade C: .

Você deseja mover todos os arquivos de banco de dados, incluindo bancos de dados do sistema, para um disco de dados anexado. Você também deseja definir as configurações padrão do SQL Server, para que todos os novos bancos de dados sejam instalados no disco de dados anexado.

Mover arquivos de banco de dados

Configurar o local padrão do banco de dados

O SQL Server que está sendo executado em uma máquina virtual do Azure tem um banco de dados de usuário instalado na unidade C: . O tamanho do banco de dados agora é maior que 10 GB. Você quer mudar os arquivos do banco de dados da unidade C: para um disco de dados anexo baseado nas orientações fornecidas no tópico Práticas recomentadas para o desempeinho do SQL Server em máquinas virtuais do Azure.

Mover arquivos de banco de dados

Você deseja instalar um banco de dados específico em um disco de dados anexado devido ao tamanho ou outros requisitos.

Selecionar o disco de dados anexado para o local do arquivo de banco de dados

Você deseja restaurar um banco de dados e realocá-lo para um disco de dados anexado.

Restaurar para o disco de dados anexado

As seções a seguir descrevem as tarefas e as ferramentas que você pode usar para mover os arquivos de banco de dados, definir as configurações do SQL Server para instalar bancos de dados em um disco de dados anexado, selecionar um disco de dados anexado para um novo banco de dados e restaurar um banco de dados para um disco de dados anexado.

Neste exemplo: a unidade F: refere-se a um disco de dados anexo, inicializado, e etiquetado com a letra da unidade F. Para obter informações sobre como anexar discos a uma máquina virtual do Azure, consulte Como Anexar um Disco de Dados a uma Máquina Virtual (em inglês).

Para mover os arquivos de banco de dados do disco do sistema operacional para a unidade F:, siga as seguintes etapas:

  1. Crie uma pasta na unidade F: para a instância do SQL Server e nomeie-a com a ID da instância. Este é o diretório raiz para todos os arquivos de banco de dados. Por exemplo, se você estiver movendo arquivos de uma instância padrão do SQL Server, crie uma pasta chamada MSSQL11.MSSQLSERVER. Se você estiver movendo arquivos do banco de dados em várias instâncias, crie uma pasta para cada instância.

  2. Obtenha uma lista de todos os dados e arquivos de log usando a seguinte consulta:

    SELECT      db.name AS [DatabaseName]
    ,f.name AS [LogicalFileName]
    ,f.physical_name AS [PhysicalFileName]
    FROM        sys.databases db, sys.master_files f
    WHERE       db.database_id = f.database_id
    AND         f.type_desc IN (N'ROWS', N'LOG')
    ORDER BY    db.name
    
    
  3. Atualize os caminhos para todos os arquivos de dados e arquivos de log de transação para apontarem para a unidade F:. Você pode usar a instrução ALTER DATABASE para fazer as atualizações para todos os bancos de dados exceto o banco de dados mestre do sistema.

    Os novos caminhos devem corresponder aos caminhos do diretório antigo. Por exemplo, se o caminho antigo for C:\Arquivos de Programas\Microsoft SQL Server\MSSQL11.MSSQLSERVER\ MSSQL\DATA\master.mdf, o novo caminho deverá ser F:\ MSSQL11.MSSQLServer\MSSQL\DATA\master.mdf. Crie as subpastas necessárias no diretório raiz.

    1. Atualizando o Local do Arquivo de Banco de Dados Mestre: no SQL Server Gerenciador de Configurações, clique em Serviços de SQL Server. Selecione a instância do SQL Server e clique com o botão direito para selecionar Propriedades. Selecione a guia Parâmetros de Inicialização e atualize os valores para os parâmetros –d e -l.

    2. Atualizando o Local do Arquivo para todos os outros bancos de dados: Para alterar o local do arquivo, use a instrução ALTER DATABASE. Execute a seguinte instrução para cada arquivo de dados e de log que você está movendo.

      ALTER DATABASE <DatabaseName> MODIFY FILE (NAME='<LogicalFileName>', FILENAME='<Path/OSFileName>')
      
      
      
      Para obter mais informações, consulte Movendo arquivos de banco de dados.

  4. Pare o Serviço do SQL Server.

  5. Para todos os bancos de dados com caminhos atualizados, copie os arquivos para o novo local na unidade F: . Configurar as permissões do sistema de arquivos para acesso ao mecanismo de banco de dados. Veja a seguir duas maneiras de configurar as permissões do Sistema de Arquivos:

    1. No Windows Explorer, defina as permissões para o diretório DATA e todos os arquivos no diretório DATA. Para obter mais informações, consulte Configurar permissões do sistema de arquivos para acesso ao mecanismo de banco de dados.

    2. Use o icacls utility para definir as permissões. Os comandos do exemplo a seguir copiam o ACL do diretório DATA antigo e restaura-o para os novos diretórios e arquivos.

      O primeiro comando copia o ACL pelo diretório DATA e o salva num nome de arquivo ACLFile_dir. O segundo comando copia o ACL para todos os arquivos no diretório DATA para um nome do arquivo ACLFile_Files.

      icacls "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA" /save ACLFile_Dir 
      icacls "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\*" /save ACLFile_Files
      
      Os dois comandos a seguir restauram o ACL copiado na etapa anterior e o aplica nos novos diretórios e arquivos.

      icacls "F:\mssql11.mssqlserver\mssql" /restore AClFile_Dir 
      icacls "F:\mssql11.mssqlserver\mssql\data" /restore ACLFile_Files
      
      Para obter mais informações sobre o utilitário icacls, consulte Icacls.

  6. Reinicie o serviço SQL Server. Os bancos de dados devem agora estar apontando para o novo local.

Para alterar o local de instalação padrão dos arquivos de banco de dados, altere as entradas do local padrão do banco de dados em Propriedades do servidor. O banco de dados criado depois dessa alteração usa o novo local para armazenar os arquivos. Para obter mais informações, consulte Propriedades do servidor - Página de configuração do banco de dados

Ao criar um banco de dados, use a instrução CREATE DATABASE e especifique o novo local no disco de dados anexado com o argumento FILENAME. Para obter mais informações, consulte Criar banco de dados (Transact-SQL).

Para realocar os dados e os arquivos de log ao restaurar um backup de banco de dados para um disco de dados anexado, use o argumento WITH MOVE para especificar o novo local. Para obter mais informações, consulte Restaurar (Transact-SQL).

Mostrar:
© 2014 Microsoft