sp_modify_resource_limit {<name>, <appname>}
<rangename>, <limittype>, <limitvalue>, <enforced>, <action>, <scope>
<name>
是对其应用限制的 SAP ASE 登录名。必须指定 <name> 或 <appname>,或指定两者。若要修改应用于特定应用程序的所有用户的限制,可指定一个值为 null 的 <name>。
<appname>
是对其应用限制的应用程序名称。必须指定 <name> 或 <appname>,或指定两者。如果该限制应用于 <name> 所使用的所有应用程序,则指定 <appname> 的值为 null。如果该限制控制特定应用程序,则指定客户端程序在登录包中传递给 SAP ASE 服务器的应用程序的名称。
<rangename>
是强制执行限制的时间范围。您不能修改此值,但必须指定一个非空值来唯一地标识资源限制。
<limittype>
是对其应用限制的资源的类型。您不能修改此值,但必须指定一个非空值来唯一地标识资源限制。该值必须是下列值之一:
<limit_value>
是在 SAP ASE 服务器强制执行该限制前登录名或应用程序可以使用的服务器资源的最大量。该最大量必须是小于或等于 231 的正整数,或者为 null 以保持现有值。下表列出了应为每种限制类型指定的值:
<enforced>
确定是在执行查询前还是执行查询时强制应用限制。不能修改此值。将 null 用作占位符。
<action>
是在超出限制时采取的操作。以下代码应用于所有限制类型:
<scope>
是限制的作用域。不能修改此值。可以使用 null 作为占位符。
修改 <weekends> 时间范围内应用于由“robin”使用的所有应用程序的资源限制:
sp_modify_resource_limit robin, NULL, weekends, row_count, 3000, NULL,
1, NULL
设置该限制后,当预计查询返回超过 3000 行时,系统将发出警告。
修改每周 7 天、每天 24 小时应用于 <acctg> 应用程序的资源限制:
sp_modify_resource_limit NULL, acctg, "at all times", elapsed_time,
45, 2, 2, 6
设置该限制后,当预估查询处理时间超过 45 秒时,系统将中止查询批处理。
此例更改资源限制的值,该资源限制在 tu_wed_7_10 时间范围内限制 <payroll> 应用程序的所有用户的经历时间:
sp_modify_resource_limit NULL, payroll, tu_wed_7_10, elapsed_time, 90, null, null, 2
经历时间的限制值从 120 秒减少到 90 秒。执行时间、采取的措施和作用域的值都保持不变。
此例更改资源限制采取的措施,该资源限制在 saturday_night 时间范围内限制“joe_user”运行的所有即席查询和应用程序的行计数。以前代表采取措施的值是 3,即查询超过指定的行计数时将中止事务。新值为 2,即中止查询批处理。限制类型、执行时间和作用域的值都保持不变:
sp_modify_resource_limit joe_user, NULL,
saturday_night, row_count, NULL, NULL, 2, NULL
使用 sp_modify_resource_limit 时,还存在一些其它注意事项: