修改可用性组副本的会话超时期限

适用于:SQL Server

本主题介绍如何在 SQL Server 中使用 SQL Server Management Studio、Transact-SQL 或 PowerShell 来配置 Always On 可用性副本的会话超时期限。 会话超时期限是一个副本属性,用来控制可用性副本等待已连接副本的 ping 响应的时间(秒数),超过该期限则认为连接已失败。 默认情况下,副本等待 ping 响应的时长为 10 秒钟。 此副本属性仅适用于可用性组的给定辅助副本与主副本之间的连接。 有关会话超时期限的详细信息,请参阅 Always On 可用性组概述 (SQL Server)

先决条件

  • 您必须连接到承载主副本的服务器实例。

建议

我们建议您将超时期限保持为 10 秒或更长。 如果将值设置为低于 10 秒,则可能使高负荷系统丢失 PING 并声明错误故障。

权限

对可用性组要求 ALTER AVAILABILITY GROUP 权限、CONTROL AVAILABILITY GROUP 权限、ALTER ANY AVAILABILITY GROUP 权限或 CONTROL SERVER 权限。

使用 SQL Server Management Studio

更改可用性副本的会话超时期限

  1. 在对象资源管理器中,连接到承载主副本的服务器实例,然后展开服务器树。

  2. 依次展开“Always On 高可用性”节点和“可用性组”节点。

  3. 单击要配置其可用性副本的可用性组。

  4. 右键单击要配置的副本,然后单击 “属性”

  5. “可用性副本属性” 对话框中,使用 “会话超时(秒)” 字段更改此副本的会话超时期限的秒数。

“使用 Transact-SQL”

更改可用性副本的会话超时期限

  1. 连接到承载主副本的服务器实例。

  2. 按如下所示使用 ALTER AVAILABILITY GROUP 语句:

    ALTER AVAILABILITY GROUP group_name

    MODIFY REPLICA ON 'instance_name' WITH ( SESSION_TIMEOUT =seconds )

    其中 group_name 是可用性组的名称,instance_name 是托管要修改的可用性副本的服务器实例的名称,seconds 指定可用性副本在考虑连接失败之前等待连接副本的 ping 响应的秒数。 默认情况下,副本等待 ping 响应的时长为 10 秒钟。

    AccountsAG 可用性组的主要副本上输入的以下示例,将 INSTANCE09 服务器实例上的副本的会话超时值更改为 15 秒。

    ALTER AVAILABILITY GROUP AccountsAG   
       MODIFY REPLICA ON 'INSTANCE09' WITH (SESSION_TIMEOUT = 15);  
    

使用 PowerShell

更改可用性副本的会话超时期限

  1. 将目录 (cd) 更改为托管主副本的服务器实例。

  2. 结合使用 Set-SqlAvailabilityReplica cmdlet 和 SessionTimeout 参数,以更改指定的可用性副本上的会话超时期限的秒数。

    例如,以下命令将会话超时期限设置为 15 秒。

    Set-SqlAvailabilityReplica -SessionTimeout 15 `   
    -Path SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MyAg\AvailabilityReplicas\MyReplica  
    

    注意

    若要查看 cmdlet 的语法,请在 PowerShell 环境中使用 Get-Help SQL Server cmdlet。 有关详细信息,请参阅 Get Help SQL Server PowerShell

设置和使用 SQL Server PowerShell 提供程序

另请参阅

AlwaysOn 可用性组概述 (SQL Server)