SQL Server 无法识别restore-sqldatabase中的AutoRelocateFile参数

ni65a41a  于 2022-12-03  发布在  其他
关注(0)|答案(2)|浏览(153)

我一直在尝试使用powershell中的restore-sqldatabase模块恢复数据库,该模块似乎工作得很好,除非存在多个数据文件的情况。
为了解决这个问题,我尝试使用参数AutoRelocateFile。下面是用于执行数据库备份的脚本,其中有多个数据文件。
Restore-SqlDatabase -SqlCredential $credentialName -ServerInstance $DestinationSQLInstanceName -Database $DestinationDBName -BackupFile $BackupPath -Verbose -ReplaceDatabase -AutoRelocateFile
此脚本应该替换服务器中的现有DB。但是它抛出了以下错误。
Restore-SqlDatabase : A parameter cannot be found that matches parameter name 'AutoRelocateFile'.
注意:备份和还原发生在两个不同的服务器上,并且备份以BLOB形式存在。
Update-1:已找出遗失的Cmdlet,这是因为模块已过时。已更新模块,且Cmdlet会出现在Intellisense中。不过,还原仍会掷回错误。以下是目前的片段。
Restore-SqlDatabase -AutoRelocateFile -ServerInstance $DestinationSQLInstanceName -Database $DestinationDBName -BackupFile $BackupPath -SqlCredential $credentialName
这将引发以下错误。

Restore-SqlDatabase : An exception occurred while executing a Transact-SQL statement or batch.
At F:\ps_test\Backup-Restore\Restore-BLOB.ps1:543 char:10
+          Restore-SqlDatabase -AutoRelocateFile  -ServerInstance $Dest

如果没有提到-autorelocate选项,并且使用-RelocateFile选项手动重新定位文件,则代码可以正常工作。

plupiseo

plupiseo1#

此选项-AutoRelocateFile已在21.1.18102版本中引入,因此请检查您使用的模块版本是否正确
附言:我看到了你的更新。你删除了模块的旧版本吗?或者尝试用-RequiredVersion选项导入模块,如下所示

Import-Module SqlServer -RequiredVersion 21.1.18102
uajslkp6

uajslkp62#

即使在导入21.1.18102 sql server模块之后,伊势仍然无法识别自动重定位,而且我也没有看到智能感知中出现这种情况

相关问题