Come duplicare il database MSSQL sullo stesso o su un altro server?


15

Sto cercando di realizzare quanto segue:

  1. Scatta un'istantanea del database originale, crea ed esatti un duplicato su un altro server?
  2. Scatta un'istantanea del database originale, creane uno duplicato sullo stesso server con un nome DB diverso

Tuttavia, non posso a causa di un'esperienza molto limitata con MSSQL. Eventuali suggerimenti?

Informazioni addizionali:

Server DB di origine: SQL Server 2000

Server DB di destinazione: SQL Server 2005

Risposte:


17
  1. eseguire il backup del database
  2. ripristinare il database con un nuovo nome e / o su un altro server

Entrambe queste operazioni possono essere eseguite da Enterprise Manager (SQL2000) o dal suo SQL Management Studio sostitutivo (SQL2005 +), oppure dai comandi TSQL BACKUP e RESTORE .

Nota: è possibile ripristinare un database di cui è stato eseguito il backup da SQL2000 su SQL2005 senza problemi nella maggior parte dei casi, ma non viceversa.


1
Grazie David. Come posso ripristinare DB con un nuovo nome su un altro server?
Alex N,

Il backup del database produce un file di backup (o ne estende uno esistente). Trasferire questo file sull'altro server, quindi utilizzare Management Studio (o un comando RESTORE emesso in altro modo) per ripristinare un database da quel file. Il processo di ripristino offre l'opportunità di dettare un nome per il database una volta ripristinato.
David Spillett,

7

Aggiungendo questo mentre mi sono imbattuto in questo mentre seguivo i passaggi sopra.
In SQL Server 2008 R2 almeno è possibile saltare un passaggio per ottenere un backup locale sul server.

  1. Database clic destro
  2. Fai clic su Ripristina database ..
  3. Impostare l'opzione Da database sul database che si sta copiando
  4. Impostare l'opzione Nel database sul nuovo nome
  5. Clicca OK

5

Probabilmente questa è la soluzione migliore:

1) Sul server DB di origine - Crea un backup su file locale

DECLARE @fileName nvarchar(400);
DECLARE @DB_Name nvarchar(50);

SET @DB_Name = 'NameOfSourceDatabase'
SET @fileName = 'c:\Test\original.bak'

BACKUP DATABASE @DB_Name TO DISK = @fileName

2) Copia il file di origine sul server di destinazione.
Se entrambi i server si trovano sullo stesso computer, potresti voler creare una copia di quel file:

EXEC master.dbo.xp_cmdshell 'COPY c:\Test\original.bak   c:\Test\clone.bak'

3) Sul server DB di destinazione : ripristinare il database dal file di backup

RESTORE DATABASE CloneDB

FROM DISK='c:\Test\clone.bak'

0

utilizzando MS SQLServer 2012, devi prima eseguire 3 passaggi di base, generare il file .sql contenente solo la struttura del DB di origine => fai clic con il pulsante destro del mouse sul DB di origine e quindi Attività quindi Genera script => segui la procedura guidata e puoi salvare il File .sql localmente Secondo, sostituisci nel file .sql il db di origine con quello di destinazione => fai clic con il pulsante destro del mouse sul file di destinazione e premi Nuova query e Ctrl-H o (modifica - trova e sostituisci - Sostituisci ciarlatano) infine, popola con i dati => fare clic con il tasto destro del mouse sul DB di rilevazione, quindi Attività e quindi Importa dati => Drop di origine dati impostato su "Processore di dati framework .NET per server sql" + imposta il campo di testo della stringa di connessione in DATA es: Origine dati = Mehdi \ SQLEXPRESS; Catalogo iniziale = db_test; ID utente = sa; Password = sqlrpwrd15 => Stessa cosa da fare con la destinazione =>selezionare la tabella che si desidera trasferire o selezionare la casella oltre a "origine: ....." per selezionarli tutti

hai fatto.

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.