none
Atach Database RRS feed

  • Pergunta

  • Olá,

    Fiz um atach de uma base sql server 2000 no 2005 e funcionou normalmente porém ficou mais lento que no 2000.

    Então alterei o nivel de compatiblidade para 2005 e mesmo assim continuou lento e por ultimo mandei recriar as estatisticas e não teve jeito.

    Alguma dica?

    Obrigado.

    quarta-feira, 28 de fevereiro de 2007 19:20

Todas as Respostas

  • ja vi muitos posts com pessoas com o mesmo problema que o seu, realmente nao estou vendo logica, posso pedir um teste, faca um backup no 2000 e restaure no 2005 para testar

    Abs;

    quarta-feira, 28 de fevereiro de 2007 19:35
  • Barbosa,

    Também é meio estranho.

    Você já pensou em excluir esta banco, criá-lo novamente no SQL Server 2005, com o nível de compatibilidade 80, restaurar o backup do banco que esta no SQL Server 2000 e depois mudar novamente o nível de compatibilidade 90.

    Outra possibilidade seria restaura um backup realizado ainda com o banco no SQL Server 2000, mas restaurando somente os dados sem sobrepor o banco.

    Ou então eliminar o banco, criar novamente com o nível de compatibilidade 90, e restaurar o backup do banco existente no SQL Server, mas somente os dados. 

    quarta-feira, 28 de fevereiro de 2007 19:41
    Moderador
  • Já fiz o teste de backup/Restore e nao funcionou... :(

    Mas por enquanto valew.

    quinta-feira, 1 de março de 2007 00:42
  • em um base de testes tente rodar essa rotina


    CREATE Proc sp_NEW_RBMS_DBMaintenenceProcess_Reindex
    As
    Set NoCount On
    Declare @Tabelas Table (Idx Int Identity(1,1), TblName Varchar(100))
    Insert into @Tabelas (TblName)
    Select Table_Name From Information_Schema.Tables Where Table_Type = 'Base Table'

    Declare @Start Int
    Declare @End Int
    Declare @Command Varchar(1000)

    Select @Start = 1, @end = Max(Idx) From @Tabelas
    While @Start <= @End
    Begin
     Select @Command = 'Dbcc DbReindex (' + TblName + ','''',80)' From @Tabelas Where Idx = @Start
     exec(@Command)
     Set @Start = @Start + 1
    End

    depois retorne para ver como ficou.

     

    Abs;

     

    quinta-feira, 1 de março de 2007 10:08
  • Msg 208, Level 16, State 1, Procedure sp_NEW_RBMS_DBMaintenenceProcess_Reindex, Line 5
    Invalid object name 'Information_Schema.Tables'
    quinta-feira, 1 de março de 2007 16:09
  • se collecte deve estar com case sensitive, troque o por INFORMATION_SCHEMA.TABLES

    tente fazer

    select * from INFORMATION_SCHEMA.TABLES

    Abs;

    sexta-feira, 2 de março de 2007 10:31
  • Verifique o campo scan density na consulta abaixo.

    DBCC SHOWCONTIG WITH TABLERESULTS, ALL_INDEXES.

    Caso os valores estejam distantes de 100 execute o script em anexo em um ambiente de teste e verifique se a lentidão persiste.

    set nocount on

    declare @comando varchar(255)
    declare @comando1 varchar(255)
    declare @comando2 varchar(255)
    declare @comando3 varchar(255)
    declare @comando4 varchar(255)
    declare @tabela varchar (100)
    declare @database varchar (225)

    declare base cursor for

    SELECT distinct TABLE_CATALOG FROM INFORMATION_SCHEMA.TABLES

    open base

    fetch next from base into @database


    declare tabelas cursor for
    select name from sysobjects where type='U' order by name

    open tabelas

    fetch next from tabelas into @tabela

    while @@fetch_status=0


    begin

     print 'Reindexando os indices da Tabela '+ @tabela
     set @comando = 'dbcc dbreindex ('+@tabela+')'
     exec (@comando)
     print '---------------------------------------------'
     print ' '
     print 'Verificando estrututura da tabela '+ @tabela
     set @comando1 ='dbcc checktable ('+@tabela+')'
     exec (@comando1)
     print '---------------------------------------------'
     print ' '
     print 'Verificando espaco alocado na tabela'+@tabela
     set @comando2= 'dbcc updateusage ('+@database+','+@tabela+')'
     exec (@comando2)
     print '---------------------------------------------'
     print ' '
     fetch next from tabelas into @tabela
    end

    Print 'Final da Manuntencao'
    print '*******************************************************************************************'
    print '**********************************************************************************'
    print '***************************************************************'
    close base
    close tabelas
    deallocate tabelas
    deallocate base


    Rafael Cardoso de Araújo MCTS - SQL Server 2005
    terça-feira, 14 de dezembro de 2010 12:53