首页 > 解决方案 > Powershell 数据类型不兼容

问题描述

我正在研究一个从 SQL 表中读取数据库名称的 Powershell 脚本。表中只有一列。然后将数组中的数据库名称传递给名称字段中的 dbatools 备份命令。下一行应将数据库添加到辅助数据库。

$results = Invoke-Sqlcmd -ServerInstance "serverA" -database "someTable" -query "select * from dbo.Table1"

foreach ($item in $results) {

      Backup-DbaDatabase -sqlinstance serverA -path Z:\SQL.Backups -database $item
      Add-DbaAgDatabase -sqlinstance uw2-sql-tpr-003 -AvailabilityGroup tirepower_ag -database $item   }

但是,当我执行代码时,出现错误:

警告:[13:01:53][Backup-DbaDatabase] 没有数据库与备份请求匹配

我能找到的唯一原因是,$item 变量传递的是 dbatools 命令不理解的数据行,而不是字符串。

我确信有一个我没有看到的简单答案,但是如何将 $item 转换为字符串以供 dbatools 命令使用?

标签: powershell

解决方案


推荐阅读