更改可用性副本的会话超时期限 (SQL Server)

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

开始之前

先决条件

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

建议

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

安全性

权限

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

使用 SQL Server Management Studio

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

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

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

  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 指定该副本在充当次要副本时将日志应用到数据库之前必须等待的最少秒数。 默认值为 0 秒,指示无应用延迟。

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

    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 的语法,请在 SQL Server PowerShell 环境中使用 Get-Help cmdlet。 有关详细信息,请参阅 Get Help SQL Server PowerShell

若要设置和使用 SQL Server PowerShell 提供程序,请参阅 SQL Server PowerShell 提供程序

另请参阅

AlwaysOn 可用性组概述 (SQL Server)