论坛......我的 POS 技能仍然很重要。使用 dbatools .. 我正在尝试针对多个 SQL 实例运行一些信息查询。有没有办法从 CMS 派生/使用服务器名称来初始化 $server 变量?我怎么可能实现。我正在使用:
Get-DbaRegisteredServer -SqlInstance CMSServer
有一个包含服务器名称的 -ServerName 参数。我怎么能用它来做到这一点,针对每台服务器(或我开放的任何更好的方式)
Import-Module dbatools
$servers = "localhost\instance1" # this would be all the Live servers
get-dbadatabase -SqlInstance $servers -ExcludeDatabase master, model, msdb, tempdb | Select SqlInstance, Name, RecoveryModel, Compatibility, Owner, PageVerify, TargetRecoveryTime, IsReadCommittedSnapshotOn, SnapshotIsolationState, @{l="QueryStoreState";e={$_.QueryStoreOptions.ActualState}} | Export-Csv -Path c:\bin\databasestatus.csv
提前致谢!!
答案 0 :(得分:0)
Get-DbaRegisteredServer
的输出适合直接传入 Get-DbaDatabase
(它接受 SQL Server 实例的集合)。
$servers = Get-DbaRegisteredServer -sqlinstance CMSServer;
Get-DbaDatabase -SqlInstance $servers -excludesystem | Select-object SqlInstance, Name, RecoveryModel, Compatibility, Owner, PageVerify, TargetRecoveryTime, IsReadCommittedSnapshotOn, SnapshotIsolationState, @{l="QueryStoreState";e={$_.QueryStoreOptions.ActualState}} | Export-Csv -notypeinfo -Path c:\bin\databasestatus.csv