我正在尝试以不同的名称在同一实例上还原数据库,我需要替换数据和日志文件的物理文件名。为此,我想使用 -FileMapping 参数,但我不断收到
文件 xxx.MDF 已存在于 yyyy 并由另一个数据库拥有,无法恢复
这是脚本的一部分
$FileStructure = @{
'Database_data' = "$DestinationDataDir\dm\$X_DBName.mdf"
'Database_Log' = "$DestinationLogDir\dm\$X_DBName.ldf"
}
Write-Output $FileStructure
#Restore-DbaDatabase -SQLServer $Instance -Path $BackupPath -
DestinationDataDirectory $DestinationDataDir -DestinationLogDirectory
$DestinationLogDir -DatabaseName $X_DBName -ReplaceDbNameInFile -
WithReplace -OutputScriptOnly
Restore-DbaDatabase -SQLServer $Instance -Path $BackupPath -FileMapping
$FileStructure -DatabaseName $X_DBName -WithReplace -OutputScriptOnly
写入输出 $FileStructure, $BackupPath
名称 值
---- -----
Database_data E:\Data2016\dmu\dm\X_ENTWICKLUNG_DM.mdf
Database_Log F:\Log2016\dmu\dm\X_ENTWICKLUNG_DM.ldf
我查看了文档(参见示例 15) `,但我一定做错了其他事情。
已编辑:在 SSMS 中看起来像这样 因此“还原为”下的文件需要不同的名称。这就是我想要达到的目标。
有人知道如何修复 PowerShell 来做到这一点吗?我想我一定错过了一些愚蠢的东西。谢谢