如何以不同的名称还原sql server中的数据库

cetgtptt  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(477)

我有一个生产数据库的备份,我想在同一台服务器上创建一个完全相同的副本,以便进行测试。因此,每当我尝试用不同的名称还原它时,就会出现一个错误,即“由于数据库正在使用,无法获得独占访问”。由于组织策略,无法使源数据库脱机或断开连接。

h79rfbju

h79rfbju1#

为了还原同一示例上具有不同名称的数据库副本,并且不以任何方式中断原始数据库,您需要确保还原到不同的数据库名称,并且需要将与副本关联的所有文件移动到不同的位置。
这将为您创建逻辑文件列表(我们称之为“a”):

RESTORE FILELISTONLY FROM DISK = 'C:\temp\PRODUCTION_DB.bak';

这将告诉您当前文件的位置(我们称之为“b”):

EXEC [PRODUCTION DB].sys.sp_helpfile;

然后你可以创建你的 RESTORE 根据这些输出手动命令:

RESTORE DATABASE PRODUCTION_DB_COPY
  FROM DISK = 'C:\temp\PRODUCTION_DB.bak'
  WITH REPLACE, RECOVERY,
  MOVE 'LogicalName1_fromA' TO 'path_from_filename1_fromB\PhysicalName1_fromA_copy.mdf',
  MOVE 'LogicalName2_fromA' TO 'path_from_filename2_fromB\PhysicalName2_fromA_copy.mdf',
  ...;

老实说,我建议不要尝试通过managementstudio中的ui来实现这一点。它试图帮助,但失败了。即使您指定了一个新的数据库名称,它显然是在试图恢复现有的数据库,并且错误地指向和单击此处可能是灾难性的。

polkgigr

polkgigr2#

这些是步骤
获取数据库的备份
确保没有活动连接
展开管理文件夹
双击活动监视器
备份现有的数据库,比如\u test.bak数据库

Right click database
    Select Tasks
    Select Back Up
    Verify Database says ABC_test
    Verify Backup Type says full
    Verify Backup component says Database
    Verify Name says ABC_test-Full Database Backup
    Select Backup to Disk
    Select Add
    Select Backup Device
    Select ABC_test
    Under Options…Select the Overwrite all existing backup sets

步骤2:创建新数据库。比如说样品。

CREATE DATABASE [Sample] ON  PRIMARY 
( NAME = N'Sample', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.ANUSHADB\MSSQL\DATA\Sample.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'Sample_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.ANUSHADB\MSSQL\DATA\Sample_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO

用\u test backup右键单击database select tasks选择restore select database还原示例数据库

Verify the To database says ABC_test
    Select to the From device option
    Select …
    Set Backup media to Backup device
    Select Add
    Select ABC_test
    Check Restore
    Under Options…Select Overwrite the existing database
    Rename the physical names of the log and data files to Sample\Sample.MDF and .LDF

相关问题