Database Scripts

  If you wanna find on which Data File your SQL Server Table is on, use the following query by providing the table name you are looking for:

 

Database Scripts

Use this SQL to find the last time a tables was used in SQL Server Database.

Note: the DMV will get reset when database services or servers are restart.

 

Artigo escrito por Otávio Freitas Teixeira.

Processo passo a passo de Migração dos bancos de dados Master, Msdb, Model.

O procedimento deve ser feito seguindo uma ordem. Primeiro deve-se migrar o banco master e depois o model, msdb e temp. O banco de dados temporário, segundo [1], deve ser direcionado o novo caminho. Pois cada vez que o serviço do banco de dados é iniciado o banco é reconstruído.

Todas as ações em um ambiente cluster deve ser realizado em todos os nós participantes. Abaixo descreverei o passo-a-passo para migrar os bancos de dados no nó ativo, assim como configurar os nós passivos do cluster.

 

Pré – Migração em ambiente Cluster.

Antes de iniciar o processo de migração dos bancos de dados de sistema deve ser verificar se o novo disco faz parte do Grupo Cluster da instancia ao qual terá seus bancos migrados.

No caso do disco não estiver presente no Grupo Cluster e não for dependente do serviço do SQL Server o erro abaixo é apresentado ao realizar o comando de mudança de localização dos arquivos de dados e logs.

1

Assim as seguistes ações devem ser realizadas:

  • Associar o disco ao Gupo Cluster

a – Identificar o Disco livre

2

 

b – Atribuir disco ao Grupo: Botão direito do mouse > More Actions… > Move this resource to another service or application

3

c – Escolher o Serviço do SQL Server que receberá o disco (No caso SQL Server (INSTANCEB)) clique em OK

4

  • Ajustar a dependência do disco com o serviço do SQL Server

a – Selecione na Coluna esquerda no item Services and Aplication o Serviço que teve o disco associado [No caso SQL Server (INSTANCEB) ]

5

b – Selecione o serviço do SQL Server

6

c – Clicar em Properties na coluna do lado direito (em amarelo)

7

 

9

 

d – Selecionar a aba Dependencies

10

e – Clicar em Insert, abrirá uma nova linha para selecionar o recurso.

11

Expandir o dropBox e selecionar o disco adicionado.

12

f – Clicar em Apply e OK

  • Nenhuma mensagem é emitida de confirmação da associação do disco

Para realizar a migração do banco de dados master.

  1. Acessar o banco de dados e executar o SQL abaixo para obter: nome lógico, caminho e status dos arquivos do banco de dados master.

    2.  No menu Start > Todos os programas > Microsoft SQL Server 2008 > Ferramentas de configuração > SQL Server Configuration Manager.

    1. No item SQL Server Services, clique-direito no serviço (por exemplo, SQL Server (MSSQLSERVER)) e escolha
    2. Na caixa de diálogo da propriedade do SQL Server (nome_instancia), clique na aba Avançado.
    3. Editar o item Startup Parameters informando os novos caminhos dos arquivos de DADOS e LOGS, do banco de dados
      1. Mover o arquivo de log de erros é opcional.

                         II. (-d) Caminho do arquivo de dados do banco de dados master

                         III. (-e) Caminho do arquivo de erros do SQL Server

                         IVI. (-l) Caminho do arquivo de log do banco de dados master.

  1. Stop na instancia do SQL Server.
    1. Na janela do Failover Cluster colocar o serviço do SQL Server offline. Botão direito mouse> Take this resource offline

13

  1. Mover os arquivos mdf e master.ldf para o novo local.
  2. Start na instancia do SQL Server em modo master-only recovery com o seguinte comando no banco prompt de comando.
    1. Abrir o Command Prompt como
    2. Executar:
      1. Para instância default
        1. NET START MSSQLSERVER /f /T3608
      2. Para instância nomeada
        1. NET START MSSQL$INSTANCEB /f /T3608
      3. Acessar o banco em modo exclusivo SQLCMD –E –S<Nome_instancia>
      4. Execute o seguinte comando que segue abaixo.
        1. Deve ser informado o novo caminho junto com o nome do arquivo *.mdf e *.ldf
        2. Modificar:
          1. Mssqlsystemresource Pelo nome do banco (No caso master)
          2. NAME=<nome_logico_obtido_do_SQL_item_1>
  • FILENAME=<novo_caminho_da_master_nome_do_arquivo.mdf>


Mover
os arquivos mssqlsystemresorce.mdf e mssqlsystemresorce.ldf para o novo local. 

  1. Saia do sqlcmd
    1. Comando
  2. Stop instância do SQL Server
    1. Para instância default
      1. NET STOP MSSQLSERVER
    2. Para instância nomeada
      1. NET STOP MSSQL$INSTANCEB
    3. Start instância do SQL Server na Janela do Failover Cluster. Botão direito > Bring this resource online 

14

 

  1. Verifique se o banco de dados foi modificado com sucesso. Execute o SQL abaixo

 

Para realizar a migração do banco de dados model.

  1. Executar a consulta abaixo:

Alterar o caminho dos arquivos de dados e log do banco de dados com o comando abaixo.

Modificar o nome do banco de dados

  1. Informar o novo caminho.
  1. Stop na instância do SQL Server.
  2. Mover os arquivos de mdf e ldf do banco de dados model
  3. Start da instância do SQL Server.
  4. Executar novamente a consulta abaixo e verificar se o banco está como os caminhos corretos

 

Para realizar a migração do banco de dados msdb.

  1. Executar a consulta abaixo:

  1. Alterar o caminho dos arquivos de dados e log do banco de dados com o comando abaixo.

Modificar o nome do banco de dados

  1. Informar o novo caminho.
  1. Stop na instância do SQL Server.
  2. Mover os arquivos de mdf e ldf do banco de dados msdb
  3. Start da instância do SQL Server.
  4. Executar novamente a consulta abaixo e verificar se o banco está como os caminhos corretos

 

Para realizar a migração do banco de dados tempdb.

Para o banco de dados tempdb não é necessário que o DBA movimente os arquivos de dados e log, pois toda vez que o banco de dados é inicializado esses arquivos são recriados no diretório configurado no parâmetro Startup Parameters. Assim deve-se apenas modificar os caminhos no catálogo.

  1. Executar a consulta abaixo:

  1. Alterar o caminho dos arquivos de dados e log do banco de dados com o comando abaixo.

Modificar o nome do banco de dados 

  1. Modificar o caminho lógico dos arquivos de dados e log do banco.
  2. Informar o novo caminho.
  3. Stop na instância do SQL Server.
  4. Start da instância do SQL Server.
  5. Executar novamente a consulta abaixo e verificar se o banco está como os caminhos corretos

As configurações abaixo devem ser realizadas nos nós participantes do Cluster

Configurando o SQL Server Agent

  1. Acessar Start > run
  2. Digitar REGEDIT
  3. Acessar o diretório: HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Microsoft SQL Server / MSSQL10.<INSTANCIA> / SQLServerAgent

               a –    Modificar as chaves de registro, informando o novo diretório

                             I – ErrorLogFile

                             II – WorkingDirectory

Configurando diretório de ErrorDump

  1. Acessar Start > run
  2. Digitar REGEDIT
  3. Acessar o diretório: HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Microsoft SQL Server / MSSQL10.<INSTANCIA> / CPE

a – Modificar as chaves de registro, informando o novo diretório

                    I – ErrorDumpDir

Configurando diretório de Backup

  1. Acessar Start > run
  2. Digitar REGEDIT
  3. Acessar o diretório: HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Microsoft SQL Server / MSSQL10.<INSTANCIA> / MSSQLServer

               a –   Modificar as chaves de registro, informando o novo diretório

                    I –    BackupDirectory

Configurando diretório de Replicação

  1. Acessar Start > run
  2. Digitar REGEDIT
  3. Acessar o diretório: HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Microsoft SQL Server / MSSQL10.<INSTANCIA> / Replication

                  a – Modificar as chaves de registro, informando o novo diretório

                         I – WorkingDirectory

Configurando diretório de Full Text

  1. Acessar Start > run
  2. Digitar REGEDIT
  3. Acessar o diretório: HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Microsoft SQL Server / MSSQL10.<INSTANCIA> / Setup

            a – Modificar as chaves de registro, informando o novo diretório

                            I – FullTextDefaultPath

                            II – SQLDataRoot

 

Esse artigo foi escrito por Otávio Freitas Teixeira.