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

sp_logiosize

语法


sp_logiosize ["default" | "<size>" | "all"]

参数

default

如果大小为两个逻辑页的内存池可用于高速缓存中,则将当前数据库的日志 I/O 大小设置为 SAP ASE 服务器的缺省值(两个逻辑页)。否则,SAP ASE 服务器将该日志 I/O 大小设置为一个逻辑页。因为 default 是关键字,所以在指定此参数需使用引号。

<size>

是用于设置当前数据库的日志 I/O 的大小。其值是逻辑页大小的倍数,最大为该大小的 4 倍。必须用引号将该值引起来。

all

显示为按高速缓存名称分组的所有数据库配置的日志 I/O 大小。

示例

示例 1

显示为当前数据库配置的日志 I/O 大小:


sp_logiosize

The transaction log for database 'master' will use I/O size of 2 Kbytes.

示例 2

更改当前数据库的日志 I/O 大小以使用 8K 内存池。如果数据库的事务日志被绑定到不具有 8K 内存池的高速缓存,则 SAP ASE 服务器返回一个错误消息,指示此类内存池不存在,并且当前日志 I/O 大小不更改:


sp_logiosize "8"

示例 3

将当前数据库的日志 I/O 大小更改为 SAP ASE 服务器的缺省值(一个逻辑页大小)。如果对于内存池而言其逻辑页大小在事务日志使用的高速缓存中不存在,则 SAP ASE 服务器使用 2K 内存池:


sp_logiosize "default"

示例 4

显示为所有数据库配置的日志 I/O 大小:


sp_logiosize "all"

Cache name: default data cache
Data base                       Log I/O Size
------------------------------  ------------
master                          2 Kb
tempdb                          2 Kb
model                           2 Kb
sybsystemprocs                  2 Kb
pubs3                           2 Kb
pubtune                         2 Kb
dbccdb                          2 Kb
sybsyntax                       2 Kb

用法

使用 sp_logiosize 时,还存在一些其它注意事项:

  • sp_logiosize 显示或更改当前数据库的日志 I/O 大小。任何用户都可以执行 sp_logiosize 以显示配置的日志 I/O 大小。只有系统管理员才可以更改该日志 I/O 大小。

  • 如果您指定不含参数的 sp_logiosize,则 SAP ASE 服务器显示当前数据库的日志 I/O 大小。

  • 在更改日志 I/O 大小后,该大小将立即生效。SAP ASE 服务器将在 sysattributes 表中记录数据库的新 I/O 大小。

  • 为 sp_logiosize 指定的任何值都必须和现有内存池相对应,此内存池为数据库的事务日志使用的高速缓存而配置。使用 sp_poolconfig 系统过程指定这些内存池。

    如果大小为两个逻辑页的内存池可用于高速缓存中,则 SAP ASE 服务器将数据库的缺省日志 I/O 大小定义为两个逻辑页。否则,SAP ASE 服务器将日志 I/O 大小设置为一个逻辑页(一个逻辑页的内存池在任何高速缓存中都始终存在)。对于大多数工作负荷,两个逻辑页的日志 I/O 大小的执行效果要比一个逻辑页的日志 I/O 大小的执行效果好得多,因此事务日志使用的每一高速缓存都应具有该逻辑页大小的内存池。

  • 如果一个或多个数据库的事务日志被绑定到 logonly 类型的高速缓存,则该高速缓存中其 I/O 大小大于为这些数据库定义的日志 I/O 大小的任何内存池都将不被使用。

    例如,在一个 2K 服务器上,假定只有两个数据库将其事务日志绑定到包含 2K、4K 和 8K 内存池的“仅日志”高速缓存上。缺省情况下,sp_logiosize 按 4K 设置这些参数的日志 I/O 大小,并且不使用 8K 内存池。因此,为避免浪费高速缓存空间,配置日志 I/O 大小时应十分小心。

  • 在恢复期间,只有缺省高速缓存的内存池的逻辑页大小是活动的,而与为数据库配置的日志 I/O 大小无关。事务日志被读入缺省高速缓存的此内存池,并且必须被回退或前滚的所有事务都将数据页读入缺省数据高速缓存。