Sql server SQL Server';s DB(更改.mdf和.log文件)

Sql server SQL Server';s DB(更改.mdf和.log文件),sql-server,automation,Sql Server,Automation,我在工作中有一系列重复的任务。其中之一是从模板创建新数据库 为了实现这一点,我们有一个*master_db*数据库,其作用类似于模板,其位置类似于C:\Backup\master_db.bak 创建新数据库new\u db后,右键单击该数据库并执行任务->恢复->数据库。在常规选项卡中,我从设备中选择,然后将C:\Backup\master_db.bak设置为还原源。在选项选项卡中,我将选择覆盖现有数据库,并且我还需要更改.mdf和.log文件(当前C:\SQLData\master\u db.

我在工作中有一系列重复的任务。其中之一是从模板创建新数据库

为了实现这一点,我们有一个*master_db*数据库,其作用类似于模板,其位置类似于
C:\Backup\master_db.bak

创建新数据库
new\u db
后,右键单击该数据库并执行任务->恢复->数据库。在常规选项卡中,我从设备中选择,然后将
C:\Backup\master_db.bak
设置为还原源。在选项选项卡中,我将选择覆盖现有数据库,并且我还需要更改.mdf和.log文件(当前
C:\SQLData\master\u db.mdf
C:\SQLData\master\u db\u log.ldf
C:\SQLData\new\u db.mdf
C:\SQLData\new\u db\u log.ldf

这台国际热核聚变实验堆运行正常,但为了自动化起见,我需要通过代码完成这一步。我该怎么办?什么参数需要我的
RESTORE
命令?我应该使用什么命令来正确设置.mdf和.ldf文件?

从磁盘还原数据库new\u db='C:\Backup\master\u db.bak'
restore database new_db from disk = 'C:\Backup\master_db.bak'
with
    move '<data_file>' to 'C:\SQLData\new_db.mdf',
    move '<log_file>' to 'C:\SQLData\new_db_log.ldf',
    replace
具有 将“”移动到“C:\SQLData\new_db.mdf”, 将“”移动到“C:\SQLData\new\u db\u log.ldf”, 代替

您需要使用这些文件的逻辑文件名更新
。您应该能够在GUI中看到它们。

我想需要的逻辑名称是指master_db?您确认了吗?是的,逻辑文件名与该数据库相关。您也可以这样找到它们:进入已使用您的方法还原的数据库,并在该数据库中运行
sp\u helpfile
。第一列包含名称。