运行此命令时出现以下错误:
Get-dbaDatabase -sqlinstance server01 -NoFullBackup
错误:
Compare-DbaCollationSensitiveObject : Cannot bind argument to parameter 'Value' because it is null.
At C:Program FilesWindowsPowerShellModulesdbatools1.1.76allcommands.ps1:22322 char:109
+ ... bject -Property Name -In -Value $lastCopyOnlyBackups.Database -Collat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Compare-DbaCollationSensitiveObject], ParameterBindingValidationExcept
ion
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Compare-DbaCollationSensitiveObject
这种情况发生在多个版本的dbatools上,我认为它根本与dbatools无关。当我在另一个很久以前创建了配置文件的帐户上运行此程序时,我不会出错。新帐户配置文件似乎显示了此错误。我认为这可能与PowerShell中的设置有关,但我不确定它可能是什么。
在较旧的帐户配置文件中,该命令只返回任何内容,基本上是一行空白。更新的帐户都返回此错误。我在从Windows Server 2012到Windows Server 2019的计算机上运行过此命令。
我确实尝试在新服务器上使用一个在旧服务器上工作的帐户,在这种情况下,我确实收到了上面的错误。这似乎与创建配置文件的时间有关,这让我认为在组策略或机器策略级别设置了一些默认设置或行为。
PowerShell版本为5.1。
我希望有一些PowerShell专家可以为我指明正确的方向。
谢谢!
dbatools团队已确认这是函数中的一个错误。这是2021年末实现的一项相当新的功能。这应该在dbatools的未来更新中得到修复。