none
Dividere un file ndf in più file RRS feed

  • Domanda

  • Salve 

    attualmente mi trovo con un DB Sql Server 2012 composto da tre file xxx.ndf

    il primo file   pippo_Data_1.ndf  dimensione circa 7 GB

    il secondo   pippo_Data_2.ndf  dimensione circa 8 GB

    il terzo file   pippo_Data_3.ndf  dimensione circa 135 GB

    essendo il terzo diventato molto grande vorrei dividerlo in più file al fine di migliorare l'uso del DB

    come è possibile fare?

    Grazie

    mercoledì 20 novembre 2013 15:00

Tutte le risposte

  • Ciao, ma questi file sono compresi in un filegroup?

    In base alle informazioni che hai dato, mi viene da suggerire che potresti aggiungere dei nuovi file al database e poi rimpicciolire quello più grosso.

    Quindi riassumendo in due step:

    1) ALTER DATABASE pippo ADD FILE (Name = pippo_Data_4 , FILENAME = \\percorso\pippo_Data_4.ndf , SIZE = xxx MB, MAXSIZE = xxx MB, FILEGROWTH = x MB)

    ADD FILE lo puoi scrivere per il numero di file che vuoi aggiungere. Se c'è un filegroup devi aggiungere i file al filegroup.

    2) ALTER DATABASE pippo MODIFY  FILE (NAME = pippo_Data_3, SIZE = xxx MB).

    Questo è il link al sito Microsoft con tutte le opzioni dell'istruzione ALTER DATABASE : http://msdn.microsoft.com/it-it/library/bb522469%28v=sql.105%29.aspx

    mercoledì 20 novembre 2013 23:43
  • ciao

    Aggiungo a quanto detto da Andrea, che poi dovrai però spostare le tabelle ed i relativi indici che già occupavano il file che vai a ridurre. Dovrai andare a spostare il puntamento al FILEGROUP corretto (uno di quelli nuovi a questo punto) facendo attenzione al fatto che migrazioni di questo tipo, se fatte su tabelle ed indici molto grandi, non sono poco onerose.

    Quindi preparati un bello script di migrazione (o fatti aiutare dal designer) ma fai attenzione perché il tuo ambiente di produzione ne risentirà in proporzione alla grandezza degli oggetti che vai a muovere.

    ciao


    Alessandro Alpi SQL Server MVP


    giovedì 21 novembre 2013 12:01
    Moderatore