Eseguire il backup e il ripristino del database del server SQL con il filegroup FILESTREAM


8

Uso SQL Server e ho un enorme database con due filegroup:

  • Primario : che contiene tutti i dati tranne i file di grandi dimensioni (1 MB +)
  • FILESTREAM (lettura / scrittura) : contiene i file di grandi dimensioni

Ora, lo scenario di backup è:

  • Ogni venerdì ricevi un backup completo (2:00)
  • Ogni giorno della settimana tranne il venerdì ottiene un backup differenziale (2 AM)

Poiché il database è di grandi dimensioni ed è in produzione su un server remoto, ogni volta che voglio portare il database nel mio ambiente locale per creare un database di test (settimanale), devo portare sia il primario che il filestream.

Vorrei poter cambiare il modo in cui vengono eseguiti i backup e i ripristini, in modo tale da dover solo portare il filegroup primario, ignorando il filestream. In questo modo, ogni settimana porterei solo il filegroup primario e non tutte le informazioni che suppongono il filestream.

Penso che ci possano essere molti problemi e tutti i riferimenti a filestream possono andare persi quando si accede ai file. Vorrei sapere se è possibile modificare il contenuto di tutte le colonne di filestream durante l'esecuzione di un backup o utilizzare un filestream diverso ospitato nell'ambiente di test. Inoltre, ho sentito parlare di Piecemeal Restore solo di alcuni filegroup, ma ho molti dubbi su come eseguirlo.

Domanda 1: posso avere questo scenario?

Domanda 2: è una buona idea avere un solo backup completo e portare backup differenziali / registri delle transazioni nell'ambiente di test?

Domanda 3: posso avere uno scenario migliore per il backup e il ripristino?

Sono tutto a posto ai consigli. Se hai qualche caso di esempio, per favore mostrami con una query T-SQL.


Panoramica di Filestream ci dice esplicitamente che puoi escludere gruppi FILESTREAM dai tuoi backup. L'implementazione di TSQL sarebbe fantastica da vedere, comunque
clifton_h,

Sì, puoi escludere FILESTREAM dal tuo backup, ma nel processo di ripristino dovrai fornirlo. Penso che ciò sia sempre necessario quando il tuo gruppo di filestream è in lettura-scrittura. Ciò significa che è possibile eseguire solo un backup parziale dei dati e un altro backup inclusi i filegroup di lettura / scrittura (che contiene i file)
Mario Navarro Claras,

Risposte:


1

Vorrei sapere se è possibile modificare il contenuto di tutte le colonne di filestream durante l'esecuzione di un backup

No.

Vorrei creare il mio database di test con lo stesso schema del database di produzione e quindi scrivere uno script personalizzato per sincronizzare i dati nel filegroup primario (questo è abbastanza semplice poiché il sistema di produzione è l'origine, quindi la sincronizzazione è solo in una direzione ).

Quindi, con i dati filestream, stub i file, che potrebbe essere fatto in molti modi. In cima alla mia testa, in qualche modo genererei file a zero byte sul lato test.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.