我有几个数据库备份,我想将它们全部还原到服务器。
有人可以用 SQL 脚本为我指出正确的方向,将逻辑文件名修改为正确的路径,而不是数据库中的路径吗?
Restore FILELISTONLY FROM DISK='E:\New folder\Thursday - DB_Order.bak'
RESTORE DATABASE Business_Data_TSQL
FROM DISK='E:\New folder\Thursday - DB_Order.bak'
WITH
MOVE 'DBOrder_Data' TO 'E:\New folder\Business_Data.mdf',
MOVE 'DBOrder_Log' TO 'E:\New folder\Business_Data_log.ldf'
使用查询 1 我得到逻辑名称,然后需要为查询 2 手动设置这些名称,但是当有多个数据库时,这真的很困难。
请帮我写一个脚本,我只传递备份文件的物理路径和新的数据库名称,然后恢复该数据库。
如果有任何问题,请询问。提前致谢。
这是您可以使用的东西。它不是完全自动化的,但这绝对是一个非常有用的脚本。
您可以使用 SQLCMD / Batch 文件传入您的数据库名称和物理文件名的参数并尝试将其自动化。
我使用这样的 PowerShell 脚本将备份还原到新目标,重置路径和文件名: