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

CREATE DATABASE 语句

创建由多个操作系统文件组成的数据库。

快速链接:

转至参数

转至示例

转至用法

转至标准

转至权限

语法

CREATE DATABASE 

DBA USER DBA PASSWORD

[ TRANSACTION ] { LOG ON [  ]

 [ MIRROR  ] } ]

[ CASE { RESPECT | IGNORE } ]

[ PAGE SIZE catalog-page-size ]

[ COLLATION collation-label[( collation-tailoring-string ) ] ]

[ ENCRYPTED {algorithm-key-spec | OFF } ]

[ BLANK PADDING ON ]

[ JCONNECT { ON | OFF } ]

[ IQ PATH  ]

[ IQ SIZE  ]

[ IQ PAGE SIZE iq-page-size ]

[ BLOCK SIZE block-size ]

[ IQ RESERVE  ]

[ TEMPORARY RESERVE  ]

[ MESSAGE PATH  ]

[ TEMPORARY PATH  ]

[ TEMPORARY SIZE  ]

[ SYSTEM PROCEDURE AS DEFINER {ON | OFF} ]

catalog-page-size (bytes) - (back to Syntax)

{ 4096 | 8192 | 16384 | 32768 }

collation-label - (back to Syntax)

collation-tailoring-string - (back to Syntax)

algorithm-key-spec - (back to Syntax)

ON

| [ ON ] KEY  [ ALGORITHM AES-algorithm ]

| [ ON ] ALGORITHM  KEY key

| [ ON ] ALGORITHM 'SIMPLE'

AES-algorithm - (back to algorithm-key-spec)

'AES' | 'AES256' | 'AES_FIPS' | 'AES256_FIPS'

key: - (back to algorithm-key-spec)

iq-page-size (bytes) - (back to Syntax)

{ 65536 | 131072 | 262144 | 524288 }

block-size (bytes) - (back to Syntax)

{ 4096 | 8192 | 16384 | 32768 }

参数

  • TRANSACTION LOG 数据库服务器用来记录所有数据库更改的文件。事务日志在系统恢复中起着重要的作用。如果不指定任何 TRANSACTION LOG 子句,或者如果您省略文件名的路径,则事务日志将位于 .db 文件所在的同一目录中。但是,应该将它放在不同于 .db 和 .iq 的物理设备上。无法在原始分区上创建该文件。

  • MIRROR 是与事务日志完全相同的一个副本,通常在单独的设备上进行维护,以便更好地保护您的数据。缺省情况下,SAP IQ 不使用镜像事务日志。如果您不想使用事务日志镜像,则必须提供文件名。如果使用相对路径,则相对于目录存储库 (db-name.db) 所在的目录创建事务日志镜像。提示:始终创建事务日志的镜像副本。

  • CASE 对使用 CASE RESPECT 创建的数据库而言,在比较和字符串操作中,所有受影响的值都区分大小写。数据库对象名称(如列、过程或用户 ID)则不受影响。无论是否指定 CASE,Dbspace 名称始终不区分大小写。缺省值 (RESPECT) 为所有比较均区分大小写。CASE RESPECT 提供了比 CASE IGNORE 更高的性能。

  • PAGE SIZE 数据库(包含目录表)的 SQL Anywhere 段的页大小可以为 4096、8192、16384 或 32768 字节。通常,使用缺省值 4096 (4 KB)。大型数据库可能需要比缺省大小更大的页大小以便提高性能。较小的值可能会限制数据库能够支持的列数。如果指定一个小于 4096 的页大小,则 SAP IQ 将使用 4096 的页大小。

  • COLLATION 用于在数据库中对字符数据类型进行排序和比较的归类序列。归类为所使用的编码(字符集)提供字符比较和排序信息。如果不指定 COLLATION 子句,SAP IQ 会根据操作系统语言和编码选择一种归类。对大多数操作系统来说,缺省归类序列为 ISO_BINENG,该序列可提供最佳性能。在 ISO_BINENG 中,归类顺序与 ASCII 字符集中的字符顺序相同。所有大写字母均位于所有小写字母之前(例如,'A' 和 'B' 均位于 'a' 的前面)。 可以从支持归类的列表中选择归类。对于在 SAP IQ 服务器上创建的 SAP SQL Anywhere 数据库,归类也可以是 Unicode 归类算法 (UCA)。如果已指定 UCA,则还应指定 ENCODING 子句。SAP IQ 不支持 SAP IQ 数据库的任何基于 UCA 的归类。如果在数据库的 CREATE DATABASE 语句中指定基于 UCA 的归类,则服务器将返回错误不支持 UCA 归类且数据库创建将会失败。创建数据库后无法更改归类序列。 您还可以指定归类定制选项 (),以便能够对字符的排序和比较进行更多的控制。这些选项采用“关键字=值”对的形式,包括在圆括号内,位于归类名后。 该表包含 SAP IQ 数据库支持的关键字、允许的替代表单以及归类定制选项 () 允许的值: 关键字归类替代形式允许值CaseSensitivity支持的全部归类CaseSensitive、Caserespect – 区分字母间的大小写差异。对于 UCA 归类,这等效于 UpperFirst。对于其它归类,respect 的值取决于归类自身。 ignore – 忽略字母间的大小写差异。 UpperFirst – 始终将大写排在前面 (Aa)。 LowerFirst – 始终将小写排在前面 (aA)。 注意如果针对在 SAP IQ 服务器上创建的 SAP SQL Anywhere 数据库指定了 UCA 归类,则系统支持若干归类定制选项。对于所有其它归类以及 SAP IQ,仅支持区分大小写定制。另外,使用归类定制选项创建的数据库无法使用 15.0 之前版本的数据库服务器启动。

  • respect – 区分字母间的大小写差异。对于 UCA 归类,这等效于 UpperFirst。对于其它归类,respect 的值取决于归类自身。

  • ignore – 忽略字母间的大小写差异。

  • UpperFirst – 始终将大写排在前面 (Aa)。

  • LowerFirst – 始终将小写排在前面 (aA)。

  • ENCRYPTED 使存储在物理数据库文件中的数据变为不可读。使用 CREATE DATABASE ENCRYPTED 关键字(不包含 TABLE 关键字)可加密整个数据库。使用 ENCRYPTED TABLE 子句仅对 SQL Anywhere 表启用表加密。SAP IQ 表不支持表级别加密。启用表加密将意味着,会使用您在创建数据库时指定的设置,对随后使用 ENCRYPTED 子句创建或变更的表进行加密。 数据库加密具有两个级别:简单加密和强加密。 简单加密等效于模糊处理。虽然这些数据无法阅读,但了解加密技术的人可能会破解数据。对于简单加密,请指定 CREATE DATABASE 子句 ENCRYPTED ON ALGORITHM 'SIMPLE'、ENCRYPTED ALGORITHM 'SIMPLE',或者指定 ENCRYPTED ON 子句而不指定算法或密钥。 强加密可通过使用 128 位算法和安全密钥实现。如果没有密钥,数据将不可读取,而且基本上无法被破解。要进行强加密,请指定使用 128 位或 256 位 AES 算法的 CREATE DATABASE 子句 ENCRYPTED ON ALGORITHM,并使用 KEY 子句来指定加密密钥。应选择满足以下条件的密钥值:长度至少为 16 个字符,混合使用大小写并包含数字、字母和特殊字符。 每次启动数据库时,都需要此加密密钥。 只能在数据库创建期间指定加密。要对某个现有数据库引入加密,需要完全卸载、重新创建数据库,然后重新装载所有数据。如果使用 ENCRYPTED 子句但未指定算法,则缺省算法为 AES。缺省情况下,加密处于关闭状态。 警告请保护好您的加密密钥!将密钥副本存储在一个安全位置。丢失了密钥将导致数据库完全无法访问,而无法访问的数据库是无法进行恢复的。

  • 简单加密等效于模糊处理。虽然这些数据无法阅读,但了解加密技术的人可能会破解数据。对于简单加密,请指定 CREATE DATABASE 子句 ENCRYPTED ON ALGORITHM 'SIMPLE'、ENCRYPTED ALGORITHM 'SIMPLE',或者指定 ENCRYPTED ON 子句而不指定算法或密钥。

  • 强加密可通过使用 128 位算法和安全密钥实现。如果没有密钥,数据将不可读取,而且基本上无法被破解。要进行强加密,请指定使用 128 位或 256 位 AES 算法的 CREATE DATABASE 子句 ENCRYPTED ON ALGORITHM,并使用 KEY 子句来指定加密密钥。应选择满足以下条件的密钥值:长度至少为 16 个字符,混合使用大小写并包含数字、字母和特殊字符。 每次启动数据库时,都需要此加密密钥。

  • BLANK PADDING 将忽略用于比较用途的尾随空白 (BLANK PADDING ON),并且嵌入式 SQL 程序将填充读入字符数组中的字符串。提供此选项是为了与 ISO/ANSI SQL 标准兼容。CREATE DATABASE 不再支持 BLANK PADDING OFF。

  • JCONNECT 要使用 SAP jConnect for JDBC 驱动器来访问系统目录信息,请安装 jConnect 支持。将 JCONNECT 设置为 OFF 以排除 jConnect 系统对象(缺省设置为 ON)。只要不访问系统信息,您就仍然可以使用 JDBC。

  • IQ PATH 包含 SAP IQ 数据的主要段文件的路径名。可以指定操作系统文件或 I/O 设备的原始分区。(针对所用平台的《SAP IQ 安装和更新指南》说明了如何指定原始分区的格式。)SAP IQ 会自动检测基于指定路径名的类型。如果使用相对路径,则将相对于目录存储库(.db 文件)所在的目录创建文件。 如果省略 IQ PATH 子句,则指定以下任一选项将生成错误:IQ SIZE、IQ PAGE SIZE、BLOCK SIZE、MESSAGE PATH、TEMPORARY PATH 和 TEMPORARY SIZE。

  • IQ SIZE 通过 IQ PATH 子句指定的原始分区或操作系统文件的大小(以 MB 为单位)。对于原始分区,应不指定 IQ SIZE 而始终采用缺省值,使用缺省值可允许 SAP IQ 使用整个原始分区;如果为 IQ SIZE 指定一个值,则该值必须匹配 I/O 设备的大小,否则 SAP IQ 将返回一个错误。对于操作系统文件,您可以指定一个值,范围从下表中的最小值一直到最大值 100TB。 操作系统文件的缺省大小取决于 IQ PAGE SIZE: IQ PAGE SIZEIQ SIZE 缺省值TEMPORARY SIZE 缺省值显式 IQ SIZE 最小值显式 TEMPORARY SIZE 最小值65536409600020480004 MB2 MB131072819200040960008 MB4 MB26214416384000819200016 MB8 MB524288327680001638400032 MB16 MB

  • IQ PAGE SIZE 数据库的 SAP IQ 段(包含 IQ 表和索引)的页大小(以字节为单位)。该值必须为 2 的幂,从 65536 到 524288 字节。缺省值为 131072 (128 KB)。该大小的其它值都将更改为下一个更大的大小。IQ 页大小可确定缺省的 I/O 传输块大小和数据库的最大数据压缩。 为获得最佳性能,请使用以下最小页大小: 64 KB (IQ PAGE SIZE 65536),适用于最大表最多包含 10 亿行的数据库,或总大小小于 8 TB 的数据库。这是新数据库的绝对最小值。在 32 位平台上,IQ 页大小设置为 64 KB 可实现最佳性能。128 KB (IQ PAGE SIZE 131072),适用于 64 位平台上最大表所含行数超过 10 亿但少于 40 亿的数据库,或总大小可能增至 8 TB 或更大的数据库。128 KB 为缺省 IQ 页大小。256 KB (IQ PAGE SIZE 262144),适用于 64 位平台上最大表所含行数超过 40 亿的数据库,或总大小可能增至 8 TB 或更大的数据库。

  • 64 KB (IQ PAGE SIZE 65536),适用于最大表最多包含 10 亿行的数据库,或总大小小于 8 TB 的数据库。这是新数据库的绝对最小值。在 32 位平台上,IQ 页大小设置为 64 KB 可实现最佳性能。

  • 128 KB (IQ PAGE SIZE 131072),适用于 64 位平台上最大表所含行数超过 10 亿但少于 40 亿的数据库,或总大小可能增至 8 TB 或更大的数据库。128 KB 为缺省 IQ 页大小。

  • 256 KB (IQ PAGE SIZE 262144),适用于 64 位平台上最大表所含行数超过 40 亿的数据库,或总大小可能增至 8 TB 或更大的数据库。

  • BLOCK SIZE 数据库的 SAP IQ 段的 I/O 传输块大小(以字节为单位)。该值必须小于 IQ PAGE SIZE,并且必须为介于 4096 到 32768 之间的 2 的幂。该大小的其它值都将更改为下一个更大的大小。缺省值取决于 IQ PAGE SIZE 子句的值。对于大多数应用程序,此缺省值是最佳的。

  • IQ RESERVE 指定要为主 IQ 存储库 (IQ_SYSTEM_MAIN dbspace) 保留的空间大小(以 MB 为单位),以便将来可以增加该 dbfile 的大小。sizeMB 参数可以为大于 0 的任意数字。创建 dbspace 后不能更改保留大小。指定 IQ RESERVE 后,数据库将更多空间用于内部(空闲列表)结构。如果保留大小过大,则内部结构所需的空间可能会大于指定大小,这会导致错误。

  • TEMPORARY RESERVE 指定要为临时 IQ 存储库 (IQ_SYSTEM_TEMP dbspace) 保留的空间大小(以 MB 为单位),以便将来可以增加该 dbfile 的大小。sizeMB 参数可以为大于 0 的任意数字。创建 dbspace 后不能更改保留大小。指定 TEMPORARY RESERVE 后,数据库将更多空间用于内部(空闲列表)结构。如果保留大小过大,则内部结构所需的空间可能会大于指定大小,这会导致错误。 注意 如果从备份恢复数据库,则临时 dbspace 的保留大小和模式将丢失。

  • MESSAGE PATH 包含 SAP IQ 消息跟踪文件的段的路径名。您必须指定操作系统文件;消息文件不能位于原始分区上。如果使用相对路径或省略该路径,则将相对于 .db 文件所在目录创建消息文件。

  • TEMPORARY SIZE 通过 TEMPORARY PATH 子句指定的原始分区或操作系统文件的大小(以 MB 为单位)。对于原始分区,应不指定 TEMPORARY SIZE 而始终采用缺省值,使用缺省值可允许 SAP IQ 使用整个原始分区。操作系统文件的缺省值始终为 IQ SIZE 值的二分之一。如果 IQ 存储库位于原始分区上且临时存储库为操作系统文件,则缺省的 TEMPORARY SIZE 为 IQ 存储库原始分区大小的二分之一。

  • DBA USER 和 DBA PASSWORD 数据库的 DBA 用户 ID 和口令。 缺省情况下,口令的长度至少为 6 个字符(除非已指定 MINIMUM PASSWORD LENGTH 子句并设置为不同值)。口令应由 7 位 ASCII 字符组成。如果服务器不能将客户端字符集转换为 UTF-8,则其它字符可能无法正常使用。

  • SYSTEM PROCEDURE AS DEFINER 定义是以调用者(执行过程的人员)特权还是定义者(过程的所有者)特权来运行特许系统过程。OFF(缺省值)或未指定,表示将通过调用者特权执行所有特许系统过程。使用 sp_proc_priv() 可标识运行系统过程所需的系统特权。 ON 表示 16.0 之前版本的特许系统过程以定义者特权来执行。16.0 或更高版本的特许系统过程以调用者特权来执行。

    示例

  • 示例 1 (Windows) 以下示例创建了一个名为 mydb 的 SAP IQ 数据库,其对应的 mydb.db、mydb.iq、mydb.iqtmp 和 mydb.iqmsg 文件位于 C:\s1\data 目录中: CREATE DATABASE 'C:\\s1\\data\\mydb'DBA USER 'DBA' DBA PASSWORD 'passwd'BLANK PADDING ONIQ PATH 'C:\\s1\\data'IQ SIZE 2000IQ PAGE SIZE 131072

  • 示例 2 (UNIX) 以下命令将创建一个带有用于 IQ PATH 和 TEMPORARY PATH 的原始设备的 SAP IQ 数据库。将应用 128 KB 的缺省 IQ 页大小。 CREATE DATABASE '/s1/data/bigdb'DBA USER 'DBA' DBA PASSWORD 'passwd'IQ PATH '/dev/md/rdsk/bigdb'MESSAGE PATH '/s1/data/bigdb.iqmsg'TEMPORARY PATH '/dev/md/rdsk/bigtmp'

  • 示例 3 (Windows) 以下命令将创建一个带有用于 IQ PATH 的原始设备的 SAP IQ 数据库。请注意原始设备名中使用的双反斜线(Windows 要求): CREATE DATABASE 'company'DBA USER 'DBA' DBA PASSWORD 'passwd'IQ PATH '\\\\.\\E:'JCONNECT OFFIQ SIZE 40

  • 示例 4 以下 UNIX 示例将使用 AES 加密算法和密钥 “is!seCret”,创建强加密 SAP IQ 数据库。 CREATE DATABASE 'marvin.db'DBA USER 'DBA' DBA PASSWORD 'passwd'BLANK PADDING ONCASE RESPECTCOLLATION 'ISO_BINENG'IQ PATH '/filesystem/marvin.main1'IQ SIZE 6400IQ PAGE SIZE 262144TEMPORARY PATH '/filesystem/marvin.temp1'TEMPORARY SIZE 3200ENCRYPTED ON KEY 'is!seCret' ALGORITHM 'AES'

    用法

    创建具有所提供名称和属性的数据库。必须使用 IQ PATH 子句才能创建 SAP IQ 数据库;否则,可创建标准的 SAP SQL Anywhere 数据库。

    当 SAP IQ 创建数据库时,将自动生成四个数据库文件以存储构成数据库的不同类型的数据。每个文件都对应一个 dbspace,即 SAP IQ 用来标识数据库文件的逻辑名:

  • 为保存目录 dbspace SYSTEM 的文件。该文件包含用来描述数据库及任何添加的标准 SAP SQL Anywhere 数据库对象的系统表和存储过程。如果您没有添加 .db 扩展名,SAP IQ 将添加它。此初始 dbspace 包含目录存储库,以后您可以添加 dbspace 来增加其大小。无法在原始分区上创建该文件。

  • 为用来保存主数据 dbspace IQ_SYSTEM_MAIN 的文件的缺省名称,其中包含 IQ 表和索引。您可以使用 IQ PATH 子句指定不同的文件名。此初始 dbspace 包含 IQ 存储库。 警告IQ_SYSTEM_MAIN 是特殊 dbspace,它包含打开数据库所需的所有结构:IQ db_identity 块、IQ 检查点日志、每个已提交事务和每个活动的检查点事务的 IQ 前滚/回退位图、增量备份位图和空闲列表根页。打开数据库后,IQ_SYSTEM_MAIN 始终处于联机状态。 管理员可能允许在 IQ_SYSTEM_MAIN 中创建用户表,特别是当这些表比较小而又非常重要时。但是,更常见的情况是在创建数据库后,管理员立即创建另一个主 dbspace,撤消所有用户在 dbspace IQ_SYSTEM_MAIN 中的 create 特权,向选定用户授予对新的主 dbspacecreate 特权,并将 PUBLIC.default_dbspace 设置为新的主 dbspace

  • 为用来保存初始临时 dbspace IQ_SYSTEM_TEMP 的文件的缺省名称。该文件包含特定查询生成的临时表。此文件所需的大小可能会根据查询类型和数据量的不同而发生改变。您可以使用 TEMPORARY PATH 子句指定不同的名称。此初始 dbspace 包含临时存储库。

  • 为包含消息跟踪 dbspace IQ_SYSTEM_MSG 的文件的缺省名称。您可以使用 MESSAGE PATH 子句指定不同的文件名。

    除这些文件之外,数据库还拥有一个事务日志文件 (db-name.log),并且还可能拥有一个事务日志镜像文件。

    dbbackup 实用程序将数据库名称截断为 70 个字符,并使用截断名称创建目标文件。同步辅助服务器时,SAP IQ 使用 dbbackup。由于 dbbackup 限制,数据库名称长度必须小于 70 个字符。

    文件名(、<log-file-name>、)为包含操作系统文件名的字符串。作为文字字符串,它们必须用单引号括起来。

    在 Windows 中指定路径时,任何后面跟有 n 或 x 的反斜线字符 (\) 都必须成对出现。这样可防止系统按照 SQL 中的字符串规则将这些反斜线解释为换行符 (\n) 或十六进制数 (\x)。反斜线始终成对出现是较为安全的做法。例如:

    CREATE DATABASE 'c:\\SAP\\mydb.db'
    

    DBA USER 'DBA' DBA PASSWORD 'passwd'

    LOG ON 'e:\\logdrive\\mydb.log'

    JCONNECT OFF

    IQ PATH 'c:\\SAP\\mydb'

    IQ SIZE 40

    如果未指定路径或指定了相对路径:

  • 相对于服务器的工作目录创建目录存储文件 ()。

  • IQ 存储库、临时存储库和消息日志文件都创建在目录存储库所在的目录下或其相对目录下。

    应使用相对路径名。

    警告数据库文件、临时 dbspace 和事务日志文件必须位于数据库服务器所在的同一物理计算机上。不要将数据库文件和事务日志文件放在网络驱动器上。但事务日志应与其镜像分别位于不同的设备上。 在类似于 UNIX 的操作系统中,您可以创建符号链接,此类链接为间接指针,其中包含所指文件的路径名。可将符号链接用作相对路径名。为数据库文件名创建符号链接具有以下几个优点:

  • 指向原始设备的符号链接可以具有有意义的名称,而实际设备名语法可能模糊不清。

  • 使用符号名称可能会消除在恢复自备份后已移至新目录的数据库文件时存在的问题。

    要创建符号链接,请使用 ln -s 命令。例如:

    ln -s /disk1/company/iqdata/company.iq company_iq_store

    创建该链接后,您可以在诸如 CREATE DATABASERESTORE DATABASE 之类的命令中指定符号链接而不是完全限定路径名。

    创建数据库或 dbspace 时,每个 dbspace 文件的路径必须唯一。如果您的 CREATE DATABASE 命令为这两种存储库定了相同的路径名和文件名,将收到一条错误。

    可使用以下任一方式创建唯一路径:

  • 为每个文件指定一个不同的扩展名(如 mydb.iq 和 mydb.iqtmp)

  • 指定一个不同的文件名(如 mydb.iq 和 mytmp.iq)

  • 指定一个不同的路径名(如 /iqfiles/main/iq 和 /iqfiles/temp/iq)或不同的原始分区

  • 在创建数据库时省略 TEMPORARY PATH。在此情况下,将在与目录存储库相同的路径下创建临时存储库,缺省名称和扩展名为 dbname.iqtmp,其中 为数据库名称。

    警告在类似于 UNIX 的操作系统上,为保持数据库的一致性,必须指定链接到不同文件的文件名。SAP IQ 无法检测到链接文件指向的目标。即使命令中的文件名不同,也应确保它们不会指向同一个操作系统文件。

    插入到表中的字符串始终以它们输入时的大小写形式存储,无论数据库是否区分大小写。如果将字符串 Value 插入到字符数据类型的列中,该字符串在数据库中始终以大写 V 和其余字母小写的形式存储。SELECT 语句返回的字符串为 Value。但是,如果数据库不区分大小写,所有比较都会将 Value 与 value、VALUE 等不同大小写形式的字符串视为相同。SAP IQ 服务器可以大小写字母的任意组合返回结果,因此,不区分大小写的数据库中的结果不能区分大小写 (CASE IGNORE)。

    例如,假定有以下表和数据:

    CREATE TABLE tb (id int NOT NULL,
    

                     string VARCHAR(30) NOT NULL);

    INSERT INTO tb VALUES (1, 'ONE');

    SELECT * FROM tb WHERE string = 'oNe';

    SELECT 的结果可以为 "oNe"(如在 WHERE 子句中所指定的那样),而不必一定为 "ONE"(如在数据库中所存储的那样)。

    同样,以下的结果可能为 "ONE":

    SELECT * FROM tb WHERE string = 'One';

    以下的结果可能为 "ONe":

    SELECT * FROM tb WHERE string = 'ONe';

    在创建任何数据库时,都需要至少使用一个用户 ID (DBA) 和口令 ()。

    在新数据库中,所有口令都区分大小写,而与数据库是否区分大小写无关。用户 ID 不受 CASE RESPECT 设置的影响。

    启动数据库时,其页大小不能大于当前服务器的页大小。服务器页大小可从启动的第一组数据库中获取,或者在服务器命令行上使用 -gp 命令行选项来设置。

    任何语句的命令行长度都限制为目录页大小。在大多数情况下,4 KB 缺省值已足够用;但在某些情况下,为了容纳非常长的命令(如引用多个 dbspaceRESTORE DATABASE 命令),需要更大的 PAGE SIZE 值。此外,执行涉及大量表或视图的查询时,可能需要较大的页大小。

    由于缺省目录页大小为 4 KB,因此仅当连接指向 utility_db 等数据库(页大小为 1024)时才会出现问题。此限制可能会导致引用大量 dbspaceRESTORE DATABASE 命令失败。为避免此问题,请确保 SQL 命令行长度小于目录页大小。

    或者,使用 -gp 32768 启动引擎以增大目录页大小。

    副作用:

  • 自动提交

    标准

  • SQL - ISO/ANSI SQL 语法的服务商扩充。

  • SAP 数据库产品 - SAP ASE 提供了一个 CREATE DATABASE 语句,但具有不同选项。

    权限

    执行此语句所需的权限是通过 -gu 服务器命令行选项设置的,如下所示:

  • 无 任何用户都不能发出此语句。

  • DBA 需要 SERVER OPERATOR 系统特权。

  • UTILITY_DB 只有能够连接到 utility_db 数据库的那些用户才能发出此语句。

    运行服务器时所使用的帐户必须对创建文件的目录具有写权限。