2016-09-28 2 views
0

Ich habe versucht, eine Kopie einer SQL Server-Datenbank (2014) zu erstellen, und die empfohlene Vorgehensweise mit SQL Server Management Studio scheint die folgende zu sein.SQL Server 2014 Erstellen einer Kopie einer vorhandenen Datenbank

Right Click Database > 
    Tasks > 
     Generate Scripts > 
      Advanced (Schema and Data) (Single file per object) 

Dann muß ich die Verweise auf den Namen der Datenbank aktualisieren, um den neuen Datenbank-Namen zu verwenden.

Dies funktioniert nicht für mich obwohl einige der Objektdateien, die es ausgibt, über ein GB sein können, was bedeutet, dass ich die Datei nicht öffnen kann, um den Datenbanknamen zu ändern.

Gibt es eine andere Möglichkeit, eine Kopie einer Datenbank in einer neuen Datenbank mit einem anderen Namen zu erstellen?

+2

Bei weitem der einfachste Weg in Bezug auf die Treue ist es, ein Backup zu machen und es unter einem anderen Namen wiederherzustellen. Irgendein Grund, der keine Option ist? –

+0

Ich dachte, das ist, was ich oben versuchte, wenn nicht, was ist der Prozess? – Trent

+3

[Sicherung] (https://msdn.microsoft.com/library/ms187510) und [restore] (https://msdn.microsoft.com/library/ms177429). Stellen Sie sicher, dass Sie eine Nur-Kopie-Sicherung verwenden, wenn es sich um eine Produktionsdatenbank handelt. –

Antwort

0

Sie die Datenbank kopieren können:

Rechtsklick-Datenbank> Aufgaben kopiert> Kopie Datenbank

der Datenbank Assistent führt Sie Ihre neue Kopie zu erstellen.

mehr Ressourcen hier: https://msdn.microsoft.com/en-us/library/ms188664.aspx

+0

Hallo Hermine, meine Installation hat nicht die Option Datenbank kopieren – Trent

+0

Ich sehe, würden Sie uns die Version/Edition der Datenbank und der Management-Studio geben? – hermione

+0

Es ist SQL Server Management Studio 2014 (Essentials) – Trent

1

Ich benutze dieses Skript dafür.

declare @nameSuffix varchar(50) = 'DB_NEW_NAME' 
declare @path varchar(250) = 'C:\Program Files\Microsoft SQL Server\YOUR PATH\MSSQL\' 
declare @backupfile varchar(250) = @path + 'Backup\' + @nameSuffix + '.bak' 
declare @moveFile varchar(300) = @path + 'DATA\' + @nameSuffix + '.mdf' 
declare @moveLogFile varchar(300) = @path + 'DATA\' + @nameSuffix + '_log.ldf' 

backup database DB1 
to disk = @backupfile 
with init, noformat, skip, stats=10 

use master 

restore database DB_NEW_NAME 
from disk = @backupfile 
with replace, 
recovery, 
move 'DB1' to @moveFile, 
move 'DB1_Log' to @moveLogFile 
+0

Ist dies ein TSQL-Skript? – Trent

+1

Ja, Sie können es von SQL Server Management Studio ausführen. Überprüfen Sie den Pfad zuerst, so dass Sie den richtigen Wert in der @path-Variablen haben – GuidoG

+0

Ich wirklich, wirklich wie diese Antwort, weil ich versuche, Verfahren in Code so viel wie möglich zu halten, aber ich bin nicht vertraut mit TSQL und ich bin mir nicht sicher, was zwei zusätzliche Dateien sind (MDF und LDF) – Trent

Verwandte Themen