提供7*24专业Sybase数据库远程及现场技术支持,Sybase ASE及Sybase SQL Anywhere数据库修复服务,
请联系电话: (微信),QQ: 289965371!
We supply technical support for Sybase ASE and Sybase SQL Anywhere, also have many years of experience in recovering data from damanged Sybase devices.
Please contact us:
Phone:
Wechat: 13811580958
QQ: 289965371 联系我们获取数据库技术支持!
Email: 289965371@qq.com
扫描下方微信,联系我们:
扫描雨翰数据恢复官方微信获取专业数据库恢复服务

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从https://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站https://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!

如有Sybase数据库技术问题需要咨询,请联系我!

  QQ :289965371 联系我们获取数据库技术支持!
  Email:

以下官方手册为ASE 15.7 ESD#2中文版:

  1. 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
  2. 新增功能摘要
  3. 新增功能指南
  4. ASE 15.7 发行公告
  5. 配置指南(windows)
  6. 安装指南(windows)
  7. 参考手册:构件块
  8. 参考手册:命令
  9. 参考手册:过程
  10. 参考手册:表
  11. Transact-SQL® 用户指南
  12. 系统管理指南,卷 1
  13. 系统管理指南,卷 2
  14. 性能和调优系列:基础知识
  15. 性能和调优系列:锁定和并发控制
  16. 性能和调优系列:监控表
  17. 性能和调优系列:物理数据库调优
  18. 性能和调优系列:查询处理和抽象计划
  19. 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
  20. 性能和调优系列:利用统计分析改进性能
  21. 程序员参考 jConnect for JDBC 7.0.7
  22. Adaptive Server Enterprise 中的 Java
  23. 组件集成服务用户指南
  24. Ribo 用户指南
  25. 内存数据库用户指南
  26. Sybase Control Center for Adaptive Server® Enterprise
  27. 安全性管理指南
  28. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

sp_dboption

说明 显示或更改数据库选项,并启用异步日志服务功能。

语法 sp_dboption [dbname, optname, optvalue [, dockpt]]

参数 dbname

是要在其中设置选项的数据库的名称。必须使用 master 来执行带参数 的 sp_dboption (即更改数据库选项)。但是,您不能更改 master 数据 库中的选项设置。

optname

是要设置的选项的名称。 Adaptive Server 可以识别属于选项名一部分 的任何唯一字符串。如果选项名是关键字或含有嵌入的空格或标点符 号,则请用引号将选项名引起来。

可以一次打开多个数据库选项。不能在用户定义的事务中更改数据库 选项。

optvalue

是设置的值。 true 将打开该选项, false 将关闭该选项。

dockpt

指定 sp_dboption 是否对 dbname 执行 checkpoint 命令。缺省值为 1,表 示自动执行 checkpoint。可以通过手动执行 checkpoint 命令来对 dbname 运行 checkpoint

示例 示例 1 显示数据库选项列表:

sp_dboption

Settable database options database_options

------------------------

abort tran on log full allow nulls by default allow wide dol rows async log service

auto identity dbo use only ddl in tran delayed commit

deferred table allocation enforce dump tran sequence full logging for all

full logging for alter table full logging for reorg rebuild full logging for select into identity in nonunique index



1> use pubs2

2> go

no chkpt on recovery no free space acctg read only

scratch database

select into/bulkcopy/pllsort single user

trunc log on chkpt trunc. log on chkpt.

unique auto_identity index

示例 2 将数据库 pubs2 设置为只读:

1> master..sp_dboption pubs2, "read", true 2> go

Database option 'read only' turned ON for database 'pubs2'.

Running CHECKPOINT on database 'pubs2' for option 'read only' to take effect. (return status = 0)

read 字符串在所有可用数据库选项中唯一确定 read only 选项。请注意, 应使用引号将关键字 read 引起来。

示例 3 使数据库 pubs2 重新变为可写,但通过为 dockpt 选项指定 0,您可以看 到消息 “Run the CHECKPOINT command in the database that was changed”:

1> use pubs2

2> go

1> master..sp_dboption pubs2, "read", false, 0

2> go

Database option 'read only' turned OFF for database 'pubs2'. Run the CHECKPOINT command in the database that was changed. (return status = 0)

若要在 pubs2 上手动执行检查点,请输入:

1> checkpoint

2> go

示例 4 允许对 pubs2 数据库中的表进行 select intobcp 和并行排序操作。

select into 字符串在所有可用数据库选项中唯一确定 select into/ bulkcopy 选项:

use pubs2 go

master..sp_dboption pubs2, "select into", true go


image

注释 因为有嵌入的空格,所以需要用引号将选项引起来。

image


示例 5 自动在 mydb 中创建的新表中定义 10 位的 IDENTITY 列。如果在 创建新表时未指定主键、 unique 约束或 IDENTITY 列,则将在每个这样 的新表中定义 IDENTITY SYB_IDENTITY_COL

use mydb go

master..sp_dboption mydb, "auto identity", true go

示例 6 自动在 mydb 表的索引键中包括 IDENTITY 列,但前提条件是这 些表已经具有了 IDENTITY 列。在表上创建的所有索引都将是内部唯 一的:

use master go

sp_dboption mydb, "identity in nonunique index", true go

use mydb go

示例 7 自动为 pubs2 数据库中的新表包括带有唯一非聚簇索引的

IDENTITY 列:

use master go

sp_dboption pubs2, "unique auto_identity index", true go

use pubs2 go

示例 8 在指定的数据库中设置异步日志服务 (ALS),启用用户日志高速 缓存和日志写入器线程。

sp_dboption "mydb", "async log service", true use mydb

示例 9 在指定的数据库中禁用 ALS

sp_dboption "mydb", "async log service", false use mydb

示例 10 big_db 数据库强制执行转储事务序列:

sp_dboption 'big_db', 'enforce dump tran sequence', true

示例 11 mydb 数据库中对 select into alter table 命令启用完全日志记 录:

create database 命令创建 mydb

create database mydb on datadev=20 log on logdev=10


go

CREATE DATABASE:allocating 10240 logical pages (20.0 megabytes) on disk 'datadev' (10240 logical pages requested).

CREATE DATABASE:allocating 5120 logical pages (10.0 megabytes) on disk 'logdev' (5120 logical pages requested).

Database 'mydb' is now online.

mydb 数据库中对 select into 启用完全日志记录选项:

sp_dboption "mydb", "full logging for select into", "true" go

Database option 'full logging for select into' turned ON for database 'mydb'.

Running CHECKPOINT on database 'mydb' for option 'full logging for select into' to take effect.

(return status = 0)

mydb 数据库中对 alter table 启用完全日志记录选项:

sp_dboption "mydb", "full logging for alter table", "true" go

Database option 'full logging for alter table' turned ON for database 'mydb'.

Running CHECKPOINT on database 'mydb' for option 'full logging for alter table' to take effect.

(return status = 0)

运行 sp_helpdb 可显示 mydb 的设置:

sp_helpdb mydb go

name db_size owner dbid created durability status

---- ------- ----- ---- ------------ --------- -----------------------

mydb 30.0 MB sa 5 Dec 16, 2010 full full logging for select

into/alter table


(1 row affected)

device_fragments size usage created free kbytes

----------------- ------- ---------- ------------------- --------------

datadev 20.0 MB data only Dec 16 2010 6:08PM 18696

logdev 10.0 MB log only Dec 16 2010 6:08PM not applicable


--------------------------------------------------------------

log only free kbytes = 10184 (return status = 0)

1>

示例 12 pubs2 数据库启用延迟表创建:

sp_dboption pubs2, 'deferred table allocation', true


用法 不能更改 master 数据库选项设置。

如果为 optname 输入了一个不明确的值,则会显示一条错误消息。 例如,两个数据库选项分别为 dbo use only read only。使用 “only”作为 optname 参数的值将产生一条消息,因为它与两个名称 都匹配。将显示与所给的字符串匹配的完整名称,以便可以查看如 何使 optname 更具体。

若要显示数据库选项列表,请在 master 数据库中执行不带参数的

sp_dboption

若要得到关于特定数据库中设置的数据库选项的报告,请执行

sp_helpdb

如果用 sp_dboption 为同一个数据库同时设置了 no chkpt on recovery 选项和 trunc log on chkpt 选项,则前者将禁用后者。在 trunc log on chkpt 设置为缺省值 on tempdb 数据库中出现这种冲突的可能性非 常大。

数据库所有者或系统管理员可通过对 model 执行 sp_dboption 来为所 有新数据库设置或取消设置特定的数据库选项。

执行完 sp_dboption 之后,直到在为其更改选项的数据库中发出

checkpoint 命令之后,所进行的更改才会生效。

完全日志记录

缺省情况下, select into、某些类型的 alter table 以及 reorg rebuild 在最少 日志记录模式下运行。在执行这些命令之前,首先将 select into / bulk copy 数据库选项设置为 true,以便 Adaptive Server 能够中断转储序列,即执 行防止使用 dump transaction 的操作。

使用 “full logging for [select into | alter table | reorg rebuild | all]”选项时,命 令会在完全日志记录模式下运行。先前设置的任何 select into/bulk copy 值 均与目前在完全日志记录模式下运行的命令无关。

不支持对快速 bcp 和并行排序启用完全日志记录,除非将 select into / bulk copy 设置为 true,否则无法执行完全日志记录。

将操作设置为在完全日志记录模式下运行之后,便可像执行其它完全日 志记录操作那样对这些操作运行 dump transaction/load transaction 命令以 及进行恢复。

以下是对缺省情况下以最少日志记录模式运行的命令执行完全日志记录 的语法:

sp_dboption dbname, "full logging for

[select into | alter table | reorg rebuild | all]", true | false


其中:

full logging for select into – 要使 select into proxy table 在完全日志记录 模式下运行,请在托管实际表的远程服务器上将 “full logging for select into”选项设置为 true。如果在托管实际表的服务器上将 full logging for select into 选项设置为 false,该命令将在此数据库中以最少 日志记录模式执行,并且转储事务序列将中断。

full logging for alter table – 对以下需要移动数据的 alter table 版本启用 完全日志记录:

alter table add column not null

alter table drop column not null

alter table modify datatype of not null column

alter table partition

alter table 的其它变体已在完全日志记录模式下执行。


image

注释 如果通过 alter table lock 在所有页锁定表与数据页锁定表/数据 行锁定表这些锁定方案之间进行切换,则需要移动数据,但 full logging for alter table 不支持此行为。

image


full logging for reorg rebuild – 涉及到移动表数据。此操作对 reorg rebuild 索引命令没有影响,因为该命令已设置为在完全日志记录模 式下运行。此参数可启用 full logging for reorg rebuild 表语句。如果未 设置此选项 (或将此选项设置为 false), Adaptive Server 将在最少 日志记录模式下执行 reorg rebuild 表命令。

full logging for all – 启用上述所有完全日志记录选项。将 all 设置为

false 可禁用所有完全日志记录选项。


image

注释 该语法要求您指定要对哪些内容进行完全记录; “full logging” 本身并不是有效的选项。

image


无论使用哪个 full logging for 选项,该命令均会在完全日志记录模式下运 行。先前设置的任何 select into/bulk copy/pllsort 值均与目前在完全日志记 录模式下运行的命令无关。不支持对快速 bcp 和并行排序启用完全日志 记录;除非将 select into/bulk copy/pllsort 设置为 true,否则无法执行完全 日志记录。

将操作设置为在完全日志记录模式下运行之后,便可像执行其它完全日 志记录操作那样对这些操作运行 dump transaction/load transaction 命令以 及进行恢复。


dboption 是 “full logging for all”,不只是 “full logging”本身。


image

注释 执行在完全日志记录模式下运行的 select intoalter table reorg rebuild 命令可能需要大量的日志空间来保存事务日志。

image


缩减日志

如果在启用完全日志记录时发出 select intoalter table reorg rebuild 命 令,日志空间的需求将会大大增加,特别是大表。您可能需要增大日志 大小。完成命令后,可以使用 alter database log off 命令删除额外的日志 空间。请参见 《系统管理指南,卷 I》中的 “alter database”和 “缩减 日志空间”。

在下列数据库中不能为 select intoalter database reorg rebuild 设置完全 日志记录:

master 数据库

内存数据库 可更改下列数据库的设置:

包含混合日志和数据段的任何数据库;但只有在将数据库变更为不 再包含混合日志和数据段后,才会忽略此选项。

不具有完全持久性级别的数据库;但只有在将数据库变更为具有完 全持久性后,才会忽略此选项。

因为所有数据库都不允许执行 dump transaction 命令,所以上述限制均适 用。使用可完全恢复的 DDL 时会启用 dump transaction

允许宽行

allow wide dol rows 可将数据库配置为允许使用长度可变的仅数据锁定的

(DOL) 宽行。

必须分别为每个数据库启用 allow wide dol rows

只能在用户数据库中设置 allow wide dol rows 数据库选项。不能为

master 数据库设置 allow wide dol rows 数据库选项。

image

在将页面大小配置为 8K 或更少的 Adaptive Server 中启用 allow wide dol rows 不会产生任何作用。

image

禁用 allow wide dol rows 将会阻止 Adaptive Server 创建长度可变的 DOL 宽行;这并不会阻止您选择包含此类行的数据。然而,除非更 改操作生成的行不再包含宽数据,否则,只有在启用 allow wide dol rows 后才能更改包含宽数据的行。


只有在为临时数据库启用 allow wide dol rows 设置后,它们才能使用 较宽的 DOL 工作表。使用 tempdb 组时,要么为组中所有数据库都 启用 allow wide dol rows,要么不为组中的任何数据库启用此命令。 这样,无论特定的用户会话绑定到哪个 tempdb,工作表和查询处理 行为都会在组内保持一致。

异步日志服务 (ALS) 选项

启用 async log service (ALS) 将使 Adaptive Server 具有更大的可伸缩性, 从而可以为高端均衡多处理器系统的记录子系统提供更高的吞吐量。

缺省情况下禁用 ALS 选项。

不能在系统数据库 (例如 master model)中启用 ALS 选项。

• ALS 选项是持久的;在指定的数据库上启用 ALS 之后,您可以转储 和重新装载数据库而无需禁用 ALS。若要禁用此功能,您必须使用 sp_dboption 将参数设置为 false

enforce dump tran sequence 的注意事项

enforce dump tran sequence 可阻止执行禁止后续转储事务的操作:

false – (缺省值)不影响干扰转储事务的操作。

true – 不允许执行阻止转储事务的操作。 仅当数据库满足以下条件时,才能将此选项设置为 true

是专用日志数据库。

不是存档数据库。

不是本地或全局临时数据库。

不是只读。

未联机以供备用访问。

具有完全持久性。不允许具有 at_shutdown no_recovery 持久性的 数据库。

select into/bulk copy/pllsort trunc log on chkpt 设置为 false。如果其 中任一选项为 true,它们将自动重置为 false

由于存在以下任何原因而不需要 dump database。将此数据库选项设 置为 true 之前执行转储数据库。

执行了部分日志记录更新,例如,执行 select intoalter table modifyreorg rebuildfast bcp writetext

事务日志已截断。


数据库是新创建或升级的数据库。

如果数据库选项 enforce dump tran sequence true,则不能执行以下 操作:

select into/bulk copy/pllsort 设置为 true。不允许在部分日志记录 模式下运行的命令。

trunc log on chkpt 设置为 true。不能通过 checkpoint 进程截断 日志。

执行 dump tran with truncate_only dump tran with no_log。要截断 日志,必须将其转储到存档设备。

将数据库标记为只读。

将持久性从 full 更改为 at_shutdown no_recovery

更改为 mixed-log-and-data 数据库。在 load database dbcc findstranded 等情况下,可将数据库更改为混合日志和数据。

数据库选项

当指定数据库的日志段中超过了最后机会阈值时, abort tran on log full 选项将决定如何处理正在运行的事务。其缺省值是 false,表示事 务被挂起并只有在空间释放后才被激活。如果将此设置更改为 true,则所有需要写入事务日志的用户查询都将被注销,直到日志 中的空间被释放。

allow nulls by default 选项设置为 true 可以将列的缺省值从 not null 更 改为 null,以符合 SQL 标准。列的 Transact-SQL 缺省值是 not null, 表示除非在 create table alter table 列定义中指定了 null,否则列值 不能为空, allow nulls by default true 与此相反。

不能使用 allow nulls by default select into 语句中更改列的可空性。 而应使用 convert 指定结果列的可空性。

auto identity 选项设置为 true (打开)时,如果在创建新表时未指 定 primary 键、unique 约束或 IDENTITY 列,则将在每个新表中定义 一个 10 位的 IDENTITY 列。当使用 select * 语句选择所有列时,该 列不可见。若要检索它,必须在选择列表中明确列出此列的名称 SYB_IDENTITY_COL

若要设置自动 IDENTITY 列的精度,请使用 size of auto identity column 配置参数。

尽管可以在 tempdb 中将 auto identity 设置为 true,但其并不被承认和 使用,且在该数据库中创建的临时表也不会自动包括 IDENTITY 列。


若要得到有关包含 IDENTITY 列的特定表中索引的报告,请执行

sp_helpindex

dbo use only 选项设置为 true (打开)时,只有数据库所有者才能 使用该数据库。

ddl in tran option 被设置为 true (打开)时,可以在事务中使用某 些数据定义语言命令。如果在特定数据库中 ddl in tran true,则允 许在该数据库的事务中使用诸如 create tablegrant alter table 等命 令。如果在 model 数据库中 ddl in tran true,则对于那些在 model 中 设置了 ddl in tran 之后创建的所有数据库来说,允许在事务中使用这 些命令。


image

警告!数据定义语言 (DDL) 命令在系统表 (例如 sysobjects)上持 有锁。应避免在事务中使用它们;如果必须使用的话,请保持事务 尽量简短。

在事务中对 tempdb 使用任何 DDL 命令可能导致系统速度减慢甚至 挂起。应始终将 tempdb 中的 ddl in tran 设置为 false

image


当将 ddl in tran 选项设置为 true 时,以下命令可用在用户定义的事 务中:

alter table – 允许使用除 partition

unpartition 之外的子句

create default create index create procedure create rule create schema create table create trigger create view

drop default drop index drop procedure drop rule

drop table drop trigger drop view grant revoke


在任何情况下,以下命令都不能用在用户定义的事务中:

alter database alter table...lock alter table...partition

alter table...unpartition create database

disk init

dump database

dump transaction drop database load transaction load database select into truncate table update statistics


另外,不能在用户定义的事务中使用创建临时表或更改 master 数据 库的系统过程。


可以对 model 数据库启用 deferred table allocation,但不能对任何其它 系统数据库 (包括 mastersybsystemprocssybsystemdb)或任何 临时数据库启用此命令。

identity in nonunique index 自动在表的索引键中包含一个 IDENTITY 列,以使在表上创建的全部索引具有唯一性。此数据库选项使逻辑 上非唯一的索引在内部唯一,并使这些索引可用于处理可更新游标 和隔离级别 0 读取。

表必须已经具有 IDENTITY 列, identity in nonunique index 选项才能 工作。 IDENTITY 列可用 create table 语句或在创建表之前通过将 auto identity 数据库选项设置为 true 来创建。

如果计划在具有非唯一索引的表上使用游标和隔离级别 0 读取,则 可以使用 identity in nonunique index。唯一索引可确保下一次在游标处 执行 fetch 时,游标定位于正确的行。如果打算在具有唯一索引和任 何隔离级别的表上使用游标,则最好使用 unique auto_identity index 选项。

不要将 identity in nonunique index 选项与 unique auto_identity index 混 淆,后者用于向新表添加具有唯一非聚簇索引的 IDENTITY 列。

若要得到有关包含 IDENTITY 列的特定表中索引的报告,请执行

sp_helpindex

no free space acctg 禁止对数据段执行可用空间计数和阈值操作。将 no free space acctg 设置为 true 可缩短恢复时间,因为不重新计算数 据段的可用空间量。

当保留有数据库的最新副本时, no chkpt on recovery 选项将设置为 true (打开)。在这些情况下,将既有 “主”数据库又有 “辅助” 数据库。最初,主数据库被转储并被装载到辅助数据库中。然后, 每隔一段时间,主数据库的事务日志被转储并装载到辅助数据库中。

如果将此选项设置为 false (关闭)(缺省状态),则当重新启动 Adaptive Server 时,在数据库恢复之后会向其添加一个检查点记 录。此检查点可以确保不会不必要地再次运行恢复机制,并且可以 更改序列号,从而使主数据库中对事务日志随后进行的装载失败。

如果将辅助数据库的此选项设置为 true (打开),则可以防止从恢 复进程中取得检查点,从而保证主数据库中随后的事务日志转储能 够被装载到其中。

read only 选项表示用户可以从数据库检索数据,但不能修改任何 数据。

select into/bulkcopy/pllsort 必须设置为 on,才可执行不在日志中保留 事务完整记录的操作,这些操作包括:


使用 writetext 实用程序。

对永久表执行 select into

使用 bcp 执行 “快速”批量复制。缺省情况下,快速 bcp 用于 没有索引的表。

执行并行排序。

事务日志转储不能恢复这些最低限度记录的操作,因此禁止对转储 设备执行 dump transaction。但是,仍可以使用 dump transaction...with no_log dump transaction...with truncate_only。在执行不在记录范围内 的操作后,请将 select into/bulk copy/pllsort 设置为 false (关闭)并发 出 dump database

在用 select into、批量复制或并行排序对数据库进行了未记录的更改 之后发出 dump transaction 语句将产生一条错误消息,指出应使用 dump database。(writetext 命令没有这样的保护。)

因为从不恢复 tempdb,所以对临时表执行 select into 时无需将 select into/bulkcopy/pllsort 选项设置为 true。不必为在带有索引的表上运行 bcp 而将该选项设置为 true,这是因为带有索引的表始终采用较慢形 式的批量复制进行复制,而且将记录日志。

设置 select into/bulkcopy/pllsort 不会阻塞日志转储,但对数据进行的 最小记录的更改会阻塞常规 dump transaction 的使用。

缺省情况下,在新创建的数据库中 select into/bulkcopy/pllsort 被关闭。 若要更改该缺省设置,请在 model 数据库中打开此选项。

single user 设置为 true 时,每次只有一个用户可以访问该数据库

(单用户模式)。

不能在存储过程的用户数据库中或当用户已打开数据库时将 single user 设置为 true。不能将 tempdb single user 设置为 true

trunc log on chkptt 选项表示如果事务日志的已提交事务超过 50 行, 则每次 checkpoint 检查进程发生时 (通常每分钟超过一次),都会 截断事务日志 (已提交的事务将被删除)。但是,当数据库所有者 手动运行 checkpoint 时,该日志不会截断。在进行开发工作时,为 防止日志增长可能需要将此选项打开。

trunc log on chkpt 选项打开时,因为不能使用截断的事务日志转储 从介质故障中恢复,所以禁止对转储设备执行 dump transaction。如 果发出 dump transaction 语句,则会产生一条错误消息,指出应使用 dump database


trunc log on chkpt 在新建的数据库中处于关闭状态。若要更改该缺省 设置,请在 model 数据库中打开此选项。


image

警告!如果在 model 中将 trunc log on chkpt 设置为打开,而且需要将 一组数据库和事务日志装载到一个新创建的数据库中,则一定要在 新数据库中关闭该选项。

image


缺省情况下禁用 delayed commit 选项。启用此选项时,所有本地事 务都将使用延迟提交。也就是说,提交时控制将返回到客户端,而 不等待日志页中的 I/O 完成,并且不在最后的日志缓冲区中为延迟 的提交事务发出 I/O。当为数据库同时启用 delayed commit ALS 选 项时,将不使用延迟提交。

unique auto_identity index 选项设置为 true 时,它向新表添加具有唯 一非聚簇索引的 IDENTITY 列。缺省情况下,IDENTITY 列为 10 位 的数值数据类型,但可以使用 size of auto identity column 配置参数更 改此缺省值。同 auto identity 一样,当您用 select * 语句选择了所有列 时, IDENTITY 列是不可见的。若要检索它,必须在选择列表中明 确列出此列的名称 SYB_IDENTITY_COL

如果需要使用游标或具有非唯一索引的隔离级别 0 读取,请使用

identity in nonunique index 选项。

尽管可以在 tempdb 中将 unique auto_identity index 设置为 true,但此选 项并不被识别或使用,并且在这里创建的临时表不会自动包括具有 唯一索引的 IDENTITY 列。

image

unique auto_identity index 选项提供一种机制,可用来创建具有自动 IDENTITY 列的表,这种列具有可与可更新游标一起使用的唯一索 引。表的唯一索引可确保在 fetch 后游标位于正确的行。(如果正在 使用隔离级别 0 读取且需要使非唯一索引在内部逻辑上唯一,以便 它们可以处理可更新的游标,可使用 identity in nonunique index 选项。)

在某些情况下,unique auto_identity index 选项可避免以下原因引起的

Halloween 问题:

用户不能更新 IDENTITY 列;因此它不能用于游标更新。

自动创建了具有唯一非聚簇索引的 IDENTITY 列,以便将其用 于可更新的游标扫描中。

有关 Halloween 问题、 IDENTITY 列和游标的详细信息,请参见

Transact-SQL 用户指南》中的第 18 章 “游标:访问数据”以及

《性能和调优系列:查询处理和抽象计划》中的第 8 章 “游标的 优化”。


image

不要将 unique auto_identity index 选项与 identity in nonunique index 选项 混淆,后者用于通过在表的索引键中包括 IDENTITY 列来使表中的 所有索引具有唯一性。

权限 sp_droptype 的权限检查因您的细化权限设置而异。

image

细化权限已启用 在启用细化权限的情况下,您必须是数据库所有者或是具有 own database 特 权的用户。

任何用户都可以显示数据库选项。

细化权限已禁用 在禁用细化权限的情况下,您必须是数据库所有者或是具有 sa_role 的用户。 任何用户都可以显示数据库选项。别名为数据库所有者的用户不能执行

sp_dboption 来更改数据库选项。


审计 sysaudits 表的 event extrainfo 列中的值如下所示:

image

审计的命令或访

事件 审计选项

问权限 extrainfo 中的信息

38 exec_procedure 执行过程 角色 – 当前活动角色

关键字或选项 NULL

先前值 NULL

当前值 NULL

其它信息 – 所有输入参数

代理信息 set proxy 有效时的初始登录名


另请参见 文档 . 有关数据库选项的详细信息,请参见 《系统管理指南》。

命令 . checkpointselect

系统过程 . sp_configuresp_helpdbsp_helpindex sp_helpjoins

实用程序. bcp




--------------------------------------华丽的分割线-------------------------------------------------------------------------

Sybase SQL Anywhere数据库恢复工具ReadASADB:

之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具: ReadASADB。
此工具支持ASA v5.0, v6.0, v7.0, v8.0, v9.0, v10.0, v11.0, v12.0, v16.0, v17.0等版本。
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具。
恢复Sybase SQL Anywhere的工具在国内处于领先水平。

Sybase SQL Anywhere数据库恢复工具ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具
  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x,16.x,17.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集,包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

Sybase SQL Anywhere数据库恢复工具ReadASADB的应用场景:

1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page
7、*** ERROR *** Assertion failed: 201417 (7.0.4.3541) Invalid count or free space offset detected on a table page
8、Internal database error *** ERROR *** Assertion failed: 201425 (8.0.3.5594) Invalid count or free space offset detected on a free list page -- transaction rolled back.
9、Internal database error *** ERROR *** Assertion failed: 100702 (8.0.1.2600) Unable to modify indexes for a row referenced in rollback log -- transaction rolled back


-------------------------------------------------------------------------------------------

Sybase ASE数据库恢复工具READSYBDEVICE:

一个不依赖数据库管理系统、直接从Sybase数据库设备文件上提取数据的业内领先的恢复工具!
能够从损坏的Sybase ASE设备文件(.dat)上提取数据的非常规恢复工具。

Sybase ASE数据库恢复工具READSYBDEVICE的主要功能:

  1. 被勒索病毒加密数据文件及备份文件情况下的恢复;
  2. 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
  3. 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
  4. delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
  5. 各种Sybase内部系统表损坏、索引错误的修复;
  6. master数据库损坏而无法正常运行情况下的恢复;
  7. Sybase数据库被标记为可疑,不可用等情况的恢复;
  8. Sybase数据库中数据文件内部出现坏块情况下的恢复;
  9. Sybase数据库无数据文件但有日志文件的情况下的恢复;
  10. Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
  11. Sybase数据文件被误删除情况下的碎片提取恢复;
  12. 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
  13. 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
  14. Sybase数据库还原数据库出现失败情况下的恢复;
  15. Sybase数据库只剩下损坏的备份文件情况下的恢复。

Sybase ASE数据库恢复工具READSYBDEVICE支持的版本:

Sybase ASE 11.0.x,11.5.x,11.9.x,12.0.x,12.5.x,15.0.x,15.5.x,15.7.x,16.0.x


-------------------------------------------------------------------------------------------

SQL Server数据库恢复工具SQLRescue:

一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!
能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。

SQL Server数据库恢复工具SQLRescue的主要功能:

  1. 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
  2. 断电导致数据库文件损坏情况下的恢复;
  3. 硬盘坏道造成数据库损坏情况下的恢复;
  4. 数据文件内部存在坏页情况下的恢复;
  5. 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
  6. 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
  7. 无法读取并闩锁页sysindexes失败情况下的修复;
  8. 数据文件被误删除情况下的碎片提取恢复;
  9. 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
  10. master数据库损坏而无法正常运行情况下的恢复;
  11. 数据文件无法附加情况下的数据恢复;
  12. 数据库被标记为可疑,质疑,不可用等情况的恢复;
  13. 数据库sysobjects等系统表损坏情况下的恢复;
  14. 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
  15. 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
  16. 数据库被误格式化等情况下的数据库恢复;
  17. 日志收缩造成数据库损坏情况下的恢复;
  18. 仅剩损坏的备份文件情况下的恢复。

SQL Server数据库恢复工具SQLRescue技术特点:

只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。
  1. 从数据文件中直接恢复数据
  2. 不能附加时直接恢复数据并生成新的数据库
  3. 系统表损坏的数据库修复
  4. 快速修复SQL 823错误、连接中断错误

SQL Server数据库恢复工具SQLRescue支持的版本:

Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------