Backup di una singola tabella con i suoi dati da un database in sql server 2008


94

Voglio ottenere un backup di una singola tabella con i suoi dati da un database in SQL Server utilizzando uno script.

Come posso fare ciò?


Procedura guidata di importazione / esportazione SQL. Fare clic con il tasto destro del mouse sul database in SMSS / Scegli esportazione articolo
reale3012

1
Voglio farlo con la sceneggiatura
EBS

4
si prega di accettare la risposta di
MGOwen

Risposte:


33

Ci sono molti modi in cui puoi riprendere il tavolo.

  1. BCP (BULK COPY PROGRAM)
  2. Genera script tabella con dati
  3. Crea una copia della tabella usando SELECT INTO, esempio qui
  4. SALVA i dati della tabella direttamente in un file Flat
  5. Esporta dati utilizzando SSIS in qualsiasi destinazione

10
Sebbene questo codice possa rispondere alla domanda, fornire un contesto aggiuntivo sul perché e / o come risponde alla domanda ne migliorerebbe significativamente il valore a lungo termine. Si prega di modificare la risposta di aggiungere qualche spiegazione.
CodeMouse92

Se è per il backup giornaliero, possiamo utilizzare la replica per replicare la tabella di cui desideri eseguire il backup. Quindi, eseguire il backup del database del sottoscrittore.
DBALUKE HUANG

@ CodeMouse92 Concordato. Ho votato verso il basso perché la risposta è breve e manca di spiegazione.
Kolob Canyon,

145
select * into mytable_backup from mytable

Crea una copia della tabella mytable e ogni riga in essa, chiamata mytable_backup .


9
È bello che questa query crei effettivamente la tabella "mytable_backup". Non me lo aspettavo e avevo creato una nuova tabella su cui eseguire il backup.
AidanO

Ho usato molto questo backup dei dati su uno schema diverso e ho appena notato che in determinate circostanze ci sono righe MANCANTI ! L'obiettivo potrebbe essere incompleto. Non sono sicuro del perché. Meglio controllare il conteggio delle righe dopo tale backup.
Ben

41

È possibile utilizzare la funzionalità "Genera script per oggetti di database" su SSMS.

  1. Fare clic con il tasto destro sul database di destinazione
  2. Seleziona Attività> Genera script
  3. Scegli il tavolo desiderato o l'oggetto specifico
  4. Premi il pulsante Avanzate
  5. In Generale, scegli il valore in Tipi di dati da scrivere . È possibile selezionare solo dati, solo schema e schema e dati . Schema e dati includono sia la creazione della tabella che i dati effettivi sullo script generato.
  6. Fare clic su Avanti fino al termine della procedura guidata

Questo ha risolto la mia sfida.
Spero che questo possa aiutare anche te.


21

È possibile creare script di tabella insieme ai relativi dati utilizzando i seguenti passaggi:

  1. Fare clic con il tasto destro sul database.
  2. Seleziona Attività> Genera script ...
  3. Fare clic su Avanti.
  4. Fare clic su Avanti.
  5. In Opzioni tabella / visualizzazione, impostare Dati script su True; quindi fare clic su Avanti.
  6. Seleziona la casella di controllo Tabelle e fai clic su Avanti.
  7. Seleziona il nome della tabella e fai clic su Avanti.
  8. Fare clic su Avanti fino al termine della procedura guidata.

Per ulteriori informazioni, vedere il blog di Eric Johnson.


11

Prova a utilizzare la seguente query che creerà la rispettiva tabella nello stesso o in un altro DB ("DataBase").

SELECT * INTO DataBase.dbo.BackUpTable FROM SourceDataBase.dbo.SourceTable



3

Metti la tabella nel proprio filegroup. È quindi possibile utilizzare il normale backup integrato di SQL Server per eseguire il backup del filegroup in cui in effetti esegue il backup della tabella.

Per eseguire il backup di un filegroup, vedere: https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-files-and-filegroups-sql-server

Per creare una tabella su un filegroup non predefinito (è facile) vedere: Creare una tabella su un filegroup diverso da quello predefinito


3

Questa query viene eseguita per me (per MySQL). mytable_backup deve essere presente prima di eseguire questa query.

insert into mytable_backup select * from mytable

4
La domanda riguarda SQL Server, non MySQL.
Stephen Kennedy,

2

Un altro approccio che puoi adottare se devi eseguire il backup di una singola tabella da più tabelle in un database è:

  1. Genera script di tabelle specifiche da un database (fare clic con il pulsante destro del mouse sul database, fare clic su Attività> Genera script ...

  2. Esegui lo script nell'editor di query. È necessario modificare / aggiungere la prima riga (USE DatabaseName) nello script a un nuovo database, per evitare di ottenere l'errore "Database già esistente".

  3. Fare clic con il tasto destro del mouse sul database appena creato e fare clic su Attività> Backup ... Il backup conterrà le tabelle selezionate dal database originale.


0

Per ottenere una copia in un file sul file system locale, questa sgangherata utility dal menu del pulsante di avvio di Windows ha funzionato: "C: \ Programmi (x86) \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTSWizard.exe"

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.