在每个不同的行中将数据从 PowerShell 存储到 SQL 服务器 Table
Store data from PowerShell to SQL Server Table in each different row
我需要有关 PowerShell 脚本的帮助,我想将 PowerShell 输出的数据存储到 SQL 服务器 Table 的不同行中。不是字符串格式。
Powershell 查询
$failoverGroups = Get-AzSqlDatabaseFailoverGroup -ResourceGroupName $ResourceGroupName -ServerName $Server
$failoverGroupsNames=$failoverGroups.FailoverGroupName
$failoverGroupsNames
Write-Host "List of Failover Groups are : " $failoverGroupsNames
foreach($GroupNames in $failoverGroupsNames){
$failoverGroup = Get-AzSqlDatabaseFailoverGroup -ResourceGroupName $ResourceGroupName -ServerName $ServerName -FailoverGroupName $GroupNames
Write-Host $GroupNames
$DATABASENAME= $failoverGroup.DatabaseNames
Write-host "List of databases : " $DATABASENAME
$ResourceGroupName = $failoverGroup.ResourceGroupName
$insertfailover=@"
INSERT INTO FailoverGroupsDBNames (FAILOVERGROUPNAME,DATABASENAME,RESOURCEGROUP,SUBSCRIPTIONNAME)
VALUES('$GroupNames','$a','$ResourceGroupName','$SubscriptionName')
"@
$insertfailover_Conn=Invoke-Sqlcmd -ServerInstance $InsertServerName -Database $InsertDBName -Username $UserName -Password $Password -Query $insertfailover
}
我得到这样的输出。作为每一行中的字符串。
我想在每个不同的行中输出数据库名称。
您似乎在尝试拆分数据库名称字符串,并为每个字符串插入一条记录:
$DATABASENAME.split(" ") | ForEach {
$insertfailover=@"INSERT INTO FailoverGroupsDBNames
(FAILOVERGROUPNAME,DATABASENAME,RESOURCEGROUP,SUBSCRIPTIONNAME)
VALUES('$GroupNames','$_','$ResourceGroupName','$SubscriptionName')"@
$insertfailover_Conn=Invoke-Sqlcmd -ServerInstance $InsertServerName -Database $InsertDBName -Username $UserName -Password $Password -Query $insertfailover
}
我需要有关 PowerShell 脚本的帮助,我想将 PowerShell 输出的数据存储到 SQL 服务器 Table 的不同行中。不是字符串格式。
Powershell 查询
$failoverGroups = Get-AzSqlDatabaseFailoverGroup -ResourceGroupName $ResourceGroupName -ServerName $Server
$failoverGroupsNames=$failoverGroups.FailoverGroupName
$failoverGroupsNames
Write-Host "List of Failover Groups are : " $failoverGroupsNames
foreach($GroupNames in $failoverGroupsNames){
$failoverGroup = Get-AzSqlDatabaseFailoverGroup -ResourceGroupName $ResourceGroupName -ServerName $ServerName -FailoverGroupName $GroupNames
Write-Host $GroupNames
$DATABASENAME= $failoverGroup.DatabaseNames
Write-host "List of databases : " $DATABASENAME
$ResourceGroupName = $failoverGroup.ResourceGroupName
$insertfailover=@"
INSERT INTO FailoverGroupsDBNames (FAILOVERGROUPNAME,DATABASENAME,RESOURCEGROUP,SUBSCRIPTIONNAME)
VALUES('$GroupNames','$a','$ResourceGroupName','$SubscriptionName')
"@
$insertfailover_Conn=Invoke-Sqlcmd -ServerInstance $InsertServerName -Database $InsertDBName -Username $UserName -Password $Password -Query $insertfailover
}
我得到这样的输出。作为每一行中的字符串。
我想在每个不同的行中输出数据库名称。
您似乎在尝试拆分数据库名称字符串,并为每个字符串插入一条记录:
$DATABASENAME.split(" ") | ForEach {
$insertfailover=@"INSERT INTO FailoverGroupsDBNames
(FAILOVERGROUPNAME,DATABASENAME,RESOURCEGROUP,SUBSCRIPTIONNAME)
VALUES('$GroupNames','$_','$ResourceGroupName','$SubscriptionName')"@
$insertfailover_Conn=Invoke-Sqlcmd -ServerInstance $InsertServerName -Database $InsertDBName -Username $UserName -Password $Password -Query $insertfailover
}