"Error in TypeData" 在 Powershell 中使用 Backup-SqlDatabase 时出错

"Error in TypeData" errors when using Backup-SqlDatabase in Powershell

由于错误,我无法 运行 Backup-SqlDatabase。我得到以下信息:

PS C:\Users\Mik> Backup-SqlDatabase
Backup-SqlDatabase : The 'Backup-SqlDatabase' command was found in the module 'SqlServer', but the module could not be
loaded. For more information, run 'Import-Module SqlServer'.
At line:1 char:1
+ Backup-SqlDatabase
+ ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Backup-SqlDatabase:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CouldNotAutoloadMatchingModule

我 运行 按照建议导入模块并得到这个:

PS C:\Users\Mik> Import-Module SqlServer
Import-Module : The following error occurred while loading the extended type data file: Error in TypeData
"Microsoft.SqlServer.Management.Smo.NamedSmoObject": The member DefaultKeyPropertySet is already present.
Error in TypeData "Microsoft.SqlServer.Management.Smo.NamedSmoObject": The member DefaultDisplayPropertySet is already
present.
Error in TypeData "Microsoft.SqlServer.Management.Smo.NamedSmoObject": The member DefaultDisplayProperty is already
present.
At line:1 char:1
+ Import-Module SqlServer
+ ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Import-Module], RuntimeException
    + FullyQualifiedErrorId : FormatXmlUpdateException,Microsoft.PowerShell.Commands.ImportModuleCommand

我最近安装了 SQL Server 2016 和 2012,我不确定这是否导致了这个问题,因为我之前没有使用过任何这些 Powershell 命令。

确保您没有导入 SQLPS,这是 2016 年之前随 SQL Server 安装的模块。SqlServer 是与 SQL Server 2016 关联的模块,可用于以前的 SQL 版本。您可以在 http://www.mikefal.net/2016/07/12/out-with-the-sqlps-in-with-the-sqlserver/

找到很好的解释