0

论坛....仍然对我的 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

提前致谢!!

4

1 回答 1

1

的输出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
于 2021-04-05T02:32:59.750 回答