2016-05-04 14 views
0

.bakファイルを作成せずにSQL Serverデータベースをコピーして名前を変更したいとします。出来ますか?例えば.bakなしの同じサーバー上でSQL Serverデータベースを複製する

その作品が、.BAKファイルを使用します。

DECLARE @backupPath nvarchar(400); 
DECLARE @sourceDb nvarchar(50); 
DECLARE @sourceDb_log nvarchar(50); 
DECLARE @destDb nvarchar(50); 
DECLARE @destMdf nvarchar(100); 
DECLARE @destLdf nvarchar(100); 
DECLARE @sqlServerDbFolder nvarchar(100); 

SET @sourceDb = 'db1' 
SET @sourceDb_log = @sourceDb + '_log' 
SET @backupPath = 'E:\tmp\' + sourceDb + '.bak' 
SET @sqlServerDbFolder = 'E:\DB SQL\MSSQL11.MSSQLSERVER\MSSQL\DATA\' 
SET @destDb = 'db2' 
SET @destMdf = @sqlServerDbFolder + @destDb + '.mdf' 
SET @destLdf = @sqlServerDbFolder + @destDb + '_log' + '.ldf' 

BACKUP DATABASE @sourceDb TO DISK = @backupPath 

RESTORE DATABASE @destDb FROM DISK = @backupPath 
WITH REPLACE, 
    MOVE @sourceDb  TO @destMdf, 
    MOVE @sourceDb_log TO @destLdf 
+2

デタッチは、名前を変更WinDocksの共同創立者午前、再x 2をアタッチしますが、これにはダウンタイムが含まれます - バックアップ/リストアには何が問題なのですか? –

+1

@AlexK。あなたは上記のコピー手順を逃した。 –

+0

@AlexK。クライアントは、ディスク上に余分なファイルを作成したくない。 – NIC

答えて

0

のMicrosoft SQL Server Management Studioのは、この機能(Expressエディションに含まれていない)を提供します。データベースを右クリックしてタスクを選択し、データベースを試してみてください。

参照のためにこのリンクをチェックすることができます。 https://msdn.microsoft.com/en-us/library/ms188664.aspx

0

もう1つのオプションは、それぞれが同じデータベースを実行しているsql Serverコンテナインスタンスを追加するだけです。

Windocksは、Windows 8、10に、以降のSQL Server 2008のすべてのエディションをサポートし、サーバー2012と2016

開示:私は

関連する問題