小编Den*_* M.的帖子

使用引用文本文件中的实例列表的 Powershell 查询多个 SQL Server 实例

我们不是通过 SQL Server Management Studio 为每个实例发出查询,而是尝试创建一个 powershell 脚本来通过循环引用文本文件来查询多个实例,其中假设有 100 个 SQL Server 实例。遍历每个 SQL Server 实例,发出查询,然后导出到 CSV。

下面是我们目前拥有的powershell脚本:

$ServerInstance = "C:\Users\<NAME>\Documents\InstanceList.txt"

foreach ($i in $ServerInstance)
{

$sql = "SELECT 
    DB_NAME(dbid) as DBName, 
    COUNT(dbid) as NumberOfConnections,
    RTRIM(loginame) as LoginName,
       RTRIM(Hostname) As HostName, Login_Time,Program_name
FROM
    sys.sysprocesses
WHERE --DB_NAME(dbid) = 'genesys_wfm' and 
    dbid > 5
       --and HostName = 'xxxx'
       and loginame not in ('NT AUTHORITY\SYSTEM','ACE','domain\xxxx')
GROUP BY 
    dbid, loginame,Hostname, Login_Time,Program_name
       order by Login_Time desc;"

Invoke-Sqlcmd -ServerInstance $i -Query $sql -ConnectionTimeout 60 -QueryTimeout 99999 …
Run Code Online (Sandbox Code Playgroud)

sql-server powershell

5
推荐指数
2
解决办法
2626
查看次数

标签 统计

powershell ×1

sql-server ×1