我想打开始终对SSIS的支持。我可以使用UI来执行此操作(右键单击Integration Services目录,单击“始终启用支持”)。我想看看是否有一种方法可以使用microsoft.sqlserver.management.integrationservices
在Power Shell或C#中执行此操作这是始终支持支持的用户界面
答案 0 :(得分:0)
Powershell解决方案
首先在您可以使用的实例上启用始终在线可用性组功能:
Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance
然后,您应该创建一个Always on可用性组并将SSISDB数据库添加到该组:
在上面的链接中,您应该按照以下步骤操作:
- 将目录(cd)更改为承载主副本的服务器实例。
- 为主副本创建一个内存中的可用性副本对象。
- 为每个辅助副本创建一个内存中的可用性副本对象。
- 创建可用性组。
- 将新的辅助副本加入可用性组
- 对于可用性组中的每个数据库,通过使用以下方法还原主数据库的最新备份来创建辅助数据库 恢复无恢复。
- 将每个新的辅助数据库加入可用性组。
- (可选)使用Windows dir命令验证新可用性组的内容。
上面的链接中提供的示例
# Backup my database and its log on the primary
Backup-SqlDatabase `
-Database "SSISDB" `
-BackupFile "\\share\backups\SSISDB.bak" `
-ServerInstance "PrimaryComputer\Instance"
Backup-SqlDatabase `
-Database "SSISDB" `
-BackupFile "\\share\backups\SSISDB.log" `
-ServerInstance "PrimaryComputer\Instance" `
-BackupAction Log
# Restore the database and log on the secondary (using NO RECOVERY)
Restore-SqlDatabase `
-Database "SSISDB" `
-BackupFile "\\share\backups\SSISDB.bak" `
-ServerInstance "SecondaryComputer\Instance" `
-NoRecovery
Restore-SqlDatabase `
-Database "SSISDB" `
-BackupFile "\\share\backups\SSISDB.log" `
-ServerInstance "SecondaryComputer\Instance" `
-RestoreAction Log `
-NoRecovery
# Create an in-memory representation of the primary replica.
$primaryReplica = New-SqlAvailabilityReplica `
-Name "PrimaryComputer\Instance" `
-EndpointURL "TCP://PrimaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 12 `
-AsTemplate
# Create an in-memory representation of the secondary replica.
$secondaryReplica = New-SqlAvailabilityReplica `
-Name "SecondaryComputer\Instance" `
-EndpointURL "TCP://SecondaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 12 `
-AsTemplate
# Create the availability group
New-SqlAvailabilityGroup `
-Name "MyAG" `
-Path "SQLSERVER:\SQL\PrimaryComputer\Instance" `
-AvailabilityReplica @($primaryReplica,$secondaryReplica) `
-Database "SSISDB"
# Join the secondary replica to the availability group.
Join-SqlAvailabilityGroup -Path "SQLSERVER:\SQL\SecondaryComputer\Instance" -Name "MyAG"
# Join the secondary database to the availability group.
Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryComputer\Instance\AvailabilityGroups\MyAG" -Database "SSISDB"