我正在尝试创建一个python脚本,它将动态恢复.bak文件中的数据库。运行查询
RESTORE DATABASE db_name FROM DISK = '\\path\to\db\db_name.bak' WITH REPLACE
如果原始数据库名称不存在,则工作正常,但由于存在多个服务器且通常重复名称,因此情况并非总是如此。
如果.bak文件中包含的.mdf名称确实存在,则WITH MOVE语法非常有用,如下所示
RESTORE DATABASE db_name
FROM DISK = '\\path\to\db\db_name.bak'
WITH
MOVE 'Logical_name' TO '\\somepath\...\MyDB.mdf'
不幸的是,这需要在运行查询之前了解逻辑名称,因此对于通用脚本不是很有用。有没有办法获得逻辑名称并动态填充它以使其更通用?
答案 0 :(得分:2)
使用restore filelistonly
commamd