none
Migrazione DB SQL 2005 -> SQL 2012 RRS feed

  • Domanda

  • Ciao a tutti ragazzi.

    A seguito dell'acquisto di nuove licenze per MS SQL 2012, ci troviamo alle prese con la migrazione del DB aziendale di produzione, da MS SQL 2005 R2 a MS SQL 2012 appunto.

    Scopo di questa discussione è comprendere le Best Practises per poter rendere il tutto fattibile, essendo nati dei dubbi sull'efficacia in termini di massime performance/affidabilità relativamente alla procedura che prevede:

    a) Backup del DB da SQL 2005

    b) Restore dello stesso su SQL 2012

    Relativamente agli indici e alle chiavi primarie ad esempio, il nuovo SQL 2012 reinterpreta il tutto adattandolo al nuovo motore oppure ad esempio potrebbe essere più "elegante" una formula che ricrea lo schema del DB su SQL Server 2012 (con le tabelle vuote ma dotate di FK e PK) e che in seguito popola lo stesso DB con Insert Select che leggono dal DB SQL 2005 da migrare?

    Grazie a tutti coloro che vorranno darci una mano.

    venerdì 7 giugno 2013 13:01

Risposte

  • Ciao Maurizio.. 

    puoi tranquillamente fare il backup & restore, ma evita di impazzire in quella maniera solo per ricreare degli indici.. :)

    Nel caso servisse ti lascio questa procedura che esegue la reindex delle varie tabelle del DB.

    -----------------------------------------
    -- Creazione procedura
    -----------------------------------------
    
    CREATE PROC SP_IndexRebuild AS
    
    DECLARE @TableName SYSNAME
    
    DECLARE Reindexer CURSOR FOR SELECT table_name FROM information_schema.tables WHERE table_type = 'base table' 
    
    OPEN Reindexer
    
    FETCH NEXT FROM Reindexer INTO @TableName
    
    WHILE @@FETCH_STATUS = 0
    BEGIN
    	
    	PRINT 'Reindexing ' + @TableName + ' table'
    	
    	DBCC DBREINDEX (@TableName, ' ', 80)
    	
    	FETCH NEXT FROM Reindexer INTO @TableName
    END
    CLOSE Reindexer
    DEALLOCATE Reindexer
    
    -----------------------------------------
    -- Esecuzione procedura
    -----------------------------------------
    
    EXECUTE SP_IndexRebuild

    domenica 9 giugno 2013 22:18