none
[Dúvida] Take database offline RRS feed

  • Pergunta

  • Pessoal, boas!

     

    Me tirem um dúvida, estou precisando mudar um arquivo de log de diretório, para isso o primeiro passo a ser feito é colocar o banco em estado Offline, eu cliquei com o botão direto no banco >> Task >> Take Offline, porém o SQL Server está nesse processo a mais de 7 horas! Talvez tenha relação, mas esse meu banco tem 137gb... É normal essa demora devido ao tamanho do banco?

     

    Valeu!

    Abraços!

    terça-feira, 6 de setembro de 2011 11:30

Respostas

  • Damasceno,

    A demora pode estar sendo causada por conexoes que estao usando essa database. Verifique se existem conexoes para essa database  e finalize-as.

    Voce poderá ver as conexoes abertas em:

    USE
    master

    SELECT * FROM sys.sysprocesses WHERE dbid = DB_ID('SeuDB')

    Ou forçar fechar todas as conexoes...

    ALTER DATABASE <SeuDB> SET OFFLINE WITH ROLLBACK IMMEDIATE

    att.
    Rafael Melo

    terça-feira, 6 de setembro de 2011 12:51

Todas as Respostas

  • Seguem alguns links de apoio:

    http://www.mcdbabrasil.com.br/modules.php?name=News&file=article&sid=257

    http://social.technet.microsoft.com/Forums/pt-BR/sqlserver2000pt/thread/83d5ecba-7976-4957-90a3-c448a16c5949/

     

    Att.,


    Marco Antônio Pinheiro / MCTS - MCC http://marcoantoniopinheiro.blogspot.com
    terça-feira, 6 de setembro de 2011 12:12
  • Obrigado pela resposta Marco, vou testar do detach / atach.

     

    Mas com relação a essa demora para colocar o banco em offline, é normal, devido o tamanho do banco?

    terça-feira, 6 de setembro de 2011 12:49
  • Damasceno,

    A demora pode estar sendo causada por conexoes que estao usando essa database. Verifique se existem conexoes para essa database  e finalize-as.

    Voce poderá ver as conexoes abertas em:

    USE
    master

    SELECT * FROM sys.sysprocesses WHERE dbid = DB_ID('SeuDB')

    Ou forçar fechar todas as conexoes...

    ALTER DATABASE <SeuDB> SET OFFLINE WITH ROLLBACK IMMEDIATE

    att.
    Rafael Melo

    terça-feira, 6 de setembro de 2011 12:51
  • Damasceno,

     

    Não é normal não, o tamanho do banco não influencia na hora de coloca-lo offline ou realizar um detach.

    O que provavelmente estava acontecendo é que alguem estava utilizando seu banco, portanto seu processo entrou em lock, veja que para se colocar uma base offline, não necessariamente uma query deve estar sendo rodada, apenas alguem conectado ja teria problemas.

    Para se verificar os locks, execute essa query:

    SELECT * FROM SYS.SYSPROCESSES WHERE BLOCKED <>  0

    Provavelmente na primeira coluna ira aparecer o SPID da sua sessão cuja qual voce tentou coloca-lo offline, a terceira coluna, ira aparecer qual SPID esta bloqueando.

    Para ver se existe alguem na base, execute:
    SP_WHO2

    Analise se essa pessoa esta fazendo algo, se não, pode matar a sessão:

    KILL SpId

    Outra coisa, para a transferencia de disco de um arquivo de log, voce não iria conseguir fazer com a base simplismente offline, com ela simplismente offline, só os usuarios que não conseguirao se logar nela e utilizar seus objetos, mas a mesma ainda esta sendo reconhecida pelo SQL Server, portanto a movimentação do arquivo fisico se tornaria impossivel.

    O detach e atach ao meu ver é a melhor opção, porem outras opções como a criação de um novo arquivo de log com a base online no novo destino e a deleção do arquivo de log antigo podem ser uma alternativa para que essa manobra seja feita online. 


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    terça-feira, 6 de setembro de 2011 12:56
    Moderador
  • Rafael, valeu cara, isso mesmo... fechei as conexões que tinham no banco e depois consegui deixar o banco offline.

     

    Abraços!

    terça-feira, 6 de setembro de 2011 13:38