您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_setrowlockpromote_ptn

语法

设置服务器级别的分区锁升级阈值:


sp_setrowlockpromote_ptn "server", null, <new_lwm>, <new_hwm>, <new_pct>

设置数据库和表级别的分区锁升级阈值:


sp_setrowlockpromote_ptn "database | table",
    <objname>, <new_lwm>, <new_hwm>, <new_pct>

参数

server

为锁升级阈值设置全服务器范围的值。

"database" | "table"

指定是为数据库还是为表设置锁升级阈值。这些是 Transact-SQL 关键字,因此需加引号。

<objname>

是要为其设置锁升级阈值的分区、表或数据库的名称;如果要设置全服务器范围的值,则为空值。如果要设置全分区范围的值,则对 <objname> 使用 <table_name>.<partition_name> 格式。

<new_lwm>

指定在 SAP ASE 获取分区锁之前必须获取的最小行锁数。

<new_hwm>

指定 SAP ASE 尝试升级到分区锁之前对象上允许的最大行锁数。

<new_pct>

指定一个已锁定行的百分比(基于表大小),如果超过此百分比,SAP ASE 便会在锁数量介于 <new_hwm><new_lwm> 锁升级之间时尝试获取分区锁。

示例

示例 1

将全服务器范围的分区锁升级阈值 LWM 设置为 200,将 HWM 设置为 300,将 PCT 设置为 50:


sp_setrowlockpromote_ptn "server", NULL, 200, 300, 50

示例 2

为 master 数据库设置分区锁升级阈值:


sp_setrowlockpromote_ptn "database", master, 1000, 1100, 45

示例 3

为 pubs2 数据库中的 titles 表设置分区锁升级阈值。从 pubs2 数据库中发出此命令:


sp_setrowlockpromote_ptn "table", "pubs2..titles", 500, 700, 10