我正在尝试创建一个 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'
不幸的是,这需要在运行查询之前了解逻辑名称,因此对于通用脚本来说不是很有用。有没有办法获取逻辑名称并动态填充它以使其更通用?
最佳答案
使用restore filelistonly
命令
关于sql - 从 .bak 文件恢复时动态获取数据库逻辑名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35903084/