本主题介绍如何在 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
更改可用性副本的会话超时期限
在对象资源管理器中,连接到承载主副本的服务器实例,然后展开服务器树。
依次展开 “AlwaysOn 高可用性” 节点和 “可用性组” 节点。
单击要配置其可用性副本的可用性组。
右键单击要配置的副本,然后单击 “属性”。
在 “可用性副本属性” 对话框中,使用 “会话超时(秒)” 字段更改此副本的会话超时期限的秒数。
“使用 Transact-SQL”
更改可用性副本的会话超时期限
连接到承载主副本的服务器实例。
按如下所示使用 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
更改可用性副本的会话超时期限
将目录 (
cd
) 更改为承载主副本的服务器实例。使用
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 提供程序。