随着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数据库技术问题需要咨询,请联系我!
以下官方手册为ASE 15.7 ESD#2中文版:
- 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
- 新增功能摘要
- 新增功能指南
- ASE 15.7 发行公告
- 配置指南(windows)
- 安装指南(windows)
- 参考手册:构件块
- 参考手册:命令
- 参考手册:过程
- 参考手册:表
- Transact-SQL® 用户指南
- 系统管理指南,卷 1
- 系统管理指南,卷 2
- 性能和调优系列:基础知识
- 性能和调优系列:锁定和并发控制
- 性能和调优系列:监控表
- 性能和调优系列:物理数据库调优
- 性能和调优系列:查询处理和抽象计划
- 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
- 性能和调优系列:利用统计分析改进性能
- 程序员参考 jConnect for JDBC 7.0.7
- Adaptive Server Enterprise 中的 Java
- 组件集成服务用户指南
- Ribo 用户指南
- 内存数据库用户指南
- Sybase Control Center for Adaptive Server® Enterprise
- 安全性管理指南
- 实用程序指南
dbcc
说明 数据库一致性检查程序 (dbcc) 检查数据库的逻辑和物理一致性,并提供 统计、计划和修复功能。
有些 dbcc 命令只适用于共享磁盘集群。请参见针对各集群分别列出的
dbcc 语法。
语法 dbcc addtempdb (dbid | database_name)
dbcc checkalloc [(database_name[, fix | nofix])] dbcc checkcatalog [(database_name[, fix])
dbcc checkdb [(database_name[, skip_ncindex])]
dbcc checkindex ({table_name | table_id}, index_id
[, bottom_up[, partition_name | partition_id]]) dbcc checkstorage [(database_name)]
dbcc checktable (table_name | table_id
[, skip_ncindex | fix_spacebits | "check spacebits" | bottom_up | NULL[, partition_name | partition_id)
dbcc checkverify (dbname[, tblname[, ignore_exclusions]]) dbcc complete_xact (xid, {["commit", "1pc"] | "rollback"}) dbcc dbrepair (database_name, dropdb)
dbcc engine ({offline, [enginenum] | "online"}) dbcc fix_text ({table_name | table_id})
dbcc forget_xact (xid)
dbcc indexalloc (table_name | table_id, index_id
[, optimized | fast | NULL [, fix | nofix | NULL [, partition_name | partition_id]]])
dbcc monitor (increment, <group name>) dbcc monitor (decrement, <group name>) dbcc monitor (reset, <group name>)
dbcc pravailabletempdbs
dbcc rebuild_text (table_name | table_id | "all"[, column[, text_page
[, data_partition_name | data_partition_id]]]) dbcc reindex ({table_name | table_id})
dbcc serverlimits dbcc stackused
dbcc tablealloc (table_name | table_id [, full | optimized | fast | NULL
[, fix | nofix | NULL [, data_partition_name | data_partition_id]]])
dbcc textalloc (table_name | table_id [, full | optimized | fast | NULL
[, fix | nofix | NULL [, data_partition_name | data_partition_id]]]) dbcc {traceon | traceoff} (flag [, flag ...])
dbcc tune ({ascinserts, {0 | 1} , table_name | cleanup, {0 | 1} |
cpuaffinity, start_cpu {, on| off} | des_greedyalloc, dbid, object_name,
" {on | off}" | deviochar vdevno, "batch_size" | des_bind, dbid, object_name
des_unbind, dbid, object_name
doneinproc {0 | 1}})
dbcc upgrade_object [ ( dbid | dbname
[,[database.[owner].]compiled_object_name' | 'check' | 'default' | 'procedure' | 'rule' | 'trigger' | 'view'
[, 'force' ] ] )
仅适用于集群的 dbcc 语法:
dbcc nodetraceon(trace_flag_number) dbcc nodetraceoff(trace_flag_number)
dbcc set_scope_in_cluster("cluster"|"instance"|"scope") dbcc quorum
参数 addtempdb
将一个临时数据库添加到可用临时数据库的全局列表。如果数据库不 存在或不是临时数据库,则会产生错误。如果数据库已经是列表的成 员,则会显示信息性消息。
dbid
是数据库 ID。
database_name
是要检查的数据库名。如果不提供数据库名,则 dbcc 使用当前数据库。
checkalloc 检查指定数据库,来确定正确分配了所有页,且使用了所有分配的 页。如果不提供数据库名,则 checkalloc 检查当前数据库。它通常使 用 optimized 报告选项 (请参见 tablealloc)。
checkalloc 报告分配和使用的空间量。
确定 dbcc 是否修正发现的分配错误。 checkalloc 的缺省模式是 nofix。 必须将数据库置于单用户模式才能使用 fix 选项。有关 Adaptive Server 中页分配的详细信息,请参见 《系统管理指南》。
在系统表中和系统表之间检查一致性。例如, checkcatalog 确认 syscolumns 中的每一个类型在 systypes 中都有一个匹配的条目, sysobjects 中的每个表和视图在 syscolumns 中都至少有一列,且 syslogs 中的最后一个检查点是有效的。请参见 第 276 页的 “ dbcc checkcatalog 执行的检查 ”。您可以在存档数据库中使用 checkcatalog,但不是 fix 版本的 checkcatalog。
checkcatalog 还报告已定义的任何段。如果不提供数据库名,则
checkcatalog 检查当前数据库。
fix
确定 dbcc 是否修复它所找到的 sysindexes 错误。 checkcatalog 的缺省 模式是不修复错误。必须将数据库置于单用户模式才能使用 fix 选项。 新的 sysindexes 检查可能会产生新的错误,它们不是由低于 12.5.2 版 的 Adaptive Server 中的 dbcc checkcatalog 引起的。
运行与 checktable 相同的检查,但是检查指定数据库中的每个表,包 括 syslogs。如果不提供数据库名,则 checkdb 检查当前数据库。您可 以在存档数据库中使用 checkdb。
导致 dbcc checktable 或 dbcc checkdb 跳过对用户表上非聚簇索引的检 查。缺省情况下是检查所有索引。
checkindex
运行与 checktable 相同的检查,但是只检查指定的索引。您可以在存 档数据库中使用 checkindex。
bottom_up
(仅针对仅数据锁定表)当在 checkindex 中指定此选项时,按照自下 而上的顺序检查索引。 bottom_up 检查涉及检验每个数据行是否有对 应的索引行。
partition_name | partition_id
为要检查的数据分区的名称或 ID。如果指定分区,则 dbcc 跳过全局 索引。
检查指定数据库的分配、对象分配映射 (OAM) 页条目、页一致性、 文本值列、文本值列的分配以及文本列链。每个 dbcc checkstorage 操 作的结果都存储在 dbccdb 数据库中。有关使用 dbcc checkstorage 的详 细信息,以及有关从 dbccdb 创建、维护和生成报告的详细信息,请 参见 《系统管理指南》。
checktable 检查指定的表,来查看索引和数据页是否正确链接,索引的排序顺序 是否正确,所有指针是否一致,每页上的数据信息是否合理,以及页 偏移是否合理。您可以在存档数据库中使用 checktable。
对 dbcc checktable 的某些更改会引用虚拟散列表:
• 除了执行常规检查外, checktable 还会验证散列区域中数据和
OAM 页的布局是否正确。
• 不在为每个布局的 OAM 页保留的扩充中分配数据页。
• 只在分配单元的第一个扩充中分配 OAM 页。
table_name | table_id
是要检查的表的名称或对象 ID。
fix_spacebits 用于使用数据页或数据行锁定的表,并检查空白位的有效性,以及修 正任何无效的空白位。空间位按页存储,并指示页中可用于新的插入 的空间。
check spacebits 检查使用数据页或数据行锁定表的表中的空白位。如果指定 check spacebits,则 dbcc 不检查非聚簇索引。
检验针对指定的数据库最后一次运行 dbcc checkstorage 的结果。有关 使用 dbcc checkverify 的详细信息,请参见 《系统管理指南》。
ignore_exclusions
启用或禁用排除列表。值为缺省值 0 (启用排除列表)或 1 (禁用排 除列表)。
通过提交或回退其工作尝试完成一个事务。 Adaptive Server 保留 master.dbo.systransactions 表中关于所有尝试完成的事务的信息,因此 外部事务协调器能够知道事务是如何完成的。
警告!尝试完成处于就绪状态的事务时,可能会在整个分布式事务中 造成不一致的结果。系统管理员尝试提交或回退事务的决定可能会与进 行协调的 Adaptive Server 或协议的决定相矛盾。
是 systransactions.xactname 列中的事务名称。也可以用 sp_transactions
确定有效的 xid 值。
1pc
通过正在协调此完成过程的外部事务管理器, 1pc 尝试完成一个进行 单阶段提交协议 (不是常规的两阶段提交协议)优化的事务。此选 项允许尝试提交未处于就绪状态的事务。
删除来自 master.dbo.systransactions 的尝试完成事务的完成状态。 forget_xact 可以在系统管理员不希望协调服务知道正尝试完成的事务 时,或者是当外部事务协调器不可用于清除 systransactions 中的提交 状态时使用。
警告! 不要在常规 DTP 环境中使用 dbcc forget_xact,因为应该允许外部 事务协调器检测尝试完成的事务。 X/Open XA 兼容的事务管理器和 Adaptive Server 事务协调服务可自动清除 systransactions 中的提交状态。
dbrepair ( database_name, dropdb)
删除损坏的数据库。不能对损坏的数据库执行 drop database。
发出此 dbcc 语句时,任何人都不能使用正被删除的数据库 (包括发 出此语句的用户)。
将 Adaptive Server 引擎脱机或联机。如果未指定 enginenum,则 dbcc engine (offline) 会使编号最高的引擎脱机。请参见 《系统管理指南》 中的 “管理多处理器服务器”。
在 Adaptive Server 字符集从任意字符集更改为新的多字节字符集之后 升级 text 值。
更改为多字节字符集会使 text 数据的管理更为复杂。由于 text 值可以 大到占据多页,所以 Adaptive Server 必须能够处理跨越页边界的字 符。为此,服务器需要有关每个 text 页的其它信息。系统管理员或表 所有者必须在每个包含 text 数据的表上运行 dbcc fix_text,才能计算所 需的新值。请参见 《系统管理指南》。
indexalloc 检查指定索引,来确定正确分配了所有页,且使用了所有分配的页。 这是 checkalloc 的较小版本,可对单个索引进行相同的完整性检查。 您可以在存档数据库中使用 indexalloc。
indexalloc 生成与 tablealloc 相同的三种类型的报告:full、 optimized 和 fast。如果未指定任何类型或者使用 null, Adaptive Server 将使用 optimized。fix | nofix 选项也可用于 indexalloc,就像用于 tablealloc 一样。
注释 注意:只有包括报告的类型值 (full、 optimized、 fast 或 null)时, 才可以指定 fix或 nofix。
table_name | table_id
是表名或表的对象 ID。
indid
是执行 dbcc indexalloc 期间所检查的索引的 ID。
fix_spacebits
用于 datapages 或 datarows lockscheme 类型的表,并检查空间位的有 效性,以及修正任何无效的空间位。空间位按页存储,并指示页中可 用于新的插入的空间。
check spacebits
检查数据页或数据行锁定表的空白位。如果指定 check spacebits,则 dbcc 不检查非聚簇索引。
报告所有类型的分配错误。
根据索引的对象分配映射 (OAM) 中列出的分配页生成报告。它不报 告也无法修正 OAM 页中未列出的分配页中的未引用扩充。 optimized 选项是缺省选项。
不生成分配报告,但对已引用而未在扩充中分配的页生成例外报告
(2521 级别错误)。
fix | nofix
确定 indexalloc 是否修正表中发现的错误。对除系统表中的索引外的 所有索引来说缺省值是 fix,系统表中的索引的缺省值是 nofix。若要将 fix 选项用于系统表,必须先将数据库设置为单用户模式。
只有包括报告的类型值 (full、 optimized、 fast 或 null)时才可以指定 fix 或 nofix。
partition_name | partition_id
如果指定了分区 ID,则分配检查将在由 (indid, partition id) 所标识的分 区上执行。
显示可用临时数据库的全局列表。
为 text、unitext 或 image 数据重建或创建内部 Adaptive Server 12.0 或更 高版本数据结构。此数据结构可使 Adaptive Server 在数据查询期间执 行随机访问和异步预取。您可以对数据库中的所有表、单个表或数据 分区运行 rebuild_text。
table_name | table_id | "all"
是表名或表的对象 ID,或者数据库中的所有对象。
column
是文本列的 ID 或列名。 dbcc rebuild_text 会重建此列的每个文本值的 内部数据结构。
text_page
是第一个文本页的逻辑页码。 dbcc rebuild_text 会重建此文本页的内部 数据结构。
data_partition_name | data_partition_id
为数据分区的名称或 ID。如果指定了 text_page,则忽略 data_partition_name (或 data_partition_id)。
monitor increment, group name
increment 命令将指定组中的监控计数器的使用量计数增加 1, decrement 命令将指定组中的监控计数器的使用量计数减少 1。reset 命 令将指定组中的监控计数器的使用量计数设置为 0。这将关闭此组的 监控数据的收集。
group name 可以是下列值之一:
• ‘ all ’– 通过选择 @@monitors_active 全局变量确定 all 组的使用量 计数,该组包含大部分监控计数器。
• spinlock_s – 由 dbcc resource 命令报告的 spinlock_s 的使用量计数。
• appl – 由 dbcc resource 命令报告的 appl 的使用情况计数。
通过运行 dbcc checktable 的快速版本,检查用户表索引的完整性。它 可以和表名或表的对象 ID (来自 sysobjects 的 id 列)一起使用。 reindex 在发现第一个与索引相关的错误时会显示消息,然后删除并重 新创建可疑索引。当 Adaptive Server 的排序顺序已经更改,且索引由 Adaptive Server 标记为 “可疑”后,系统管理员或表所有者必须运行 dbcc reindex。
当 dbcc 发现损坏的索引时,它会删除并重新创建相应的索引。如果 表的索引已经是正确的,或者表没有索引,则 dbcc reindex 不重建索 引,而是输出信息性消息。
如果怀疑表包含损坏的数据,则 dbcc reindex 将中止。发生这种情况时, 错误消息会指示用户运行 dbcc checktable。dbcc reindex 不允许重建系统表 索引。如果有必要,在排序顺序更改后重新启动 Adaptive Server,然后 作为恢复操作的一个自动执行的部分检查并重建系统索引。
stackused
报告自从服务器首次启动以来所使用的最大堆栈内存量。
serverlimits
显示 Adaptive Server 对多种实体施加的限制,包括标识符的长度以及 不同对象的最大数量 (如表中的列数、表上的索引数、页大小、行开 销等)。使用这些信息可确定 Adaptive Server 进程的各种大小特性。
tablealloc 检查指定的表或数据分区,以确定正确分配了所有页,且所有分配的 页都已在使用。这是 checkalloc 的较小版本,可对单个表进行相同的 完整性检查。它可以和表名或表的对象 ID (来自 sysobjects 的 id 列) 一起使用。您可以在存档数据库中使用 tablealloc。有关 tablealloc 输出 的示例,请参见 《系统管理指南》。
可使用 tablealloc 生成的三种类型的报告:full、 optimized 和 fast。如果 未指定任何类型或者使用 null, Adaptive Server 将使用 optimized。
textalloc
检查数据库中的 text 或 image 页的分配完整性。可将 dbcc textalloc 用 于存档数据库。
等同于表级 checkalloc,它报告所有类型的分配错误。 optimized
根据表的对象分配映射 (OAM) 页中列出的分配页生成报告。它不报
告也无法修正 OAM 页中未列出的分配页中的未引用扩充。 optimized
选项是缺省选项。
不生成分配报告,但对已引用而未在扩充中分配的页生成例外报告
(2521 级别错误)。
确定 tablealloc 是否修正了表中发现的分配错误。除系统表外的所有表 的缺省值是 fix,系统表的缺省值是 nofix。若要将 fix 选项用于系统表, 必须先将数据库设置为单用户模式。
只有包括报告的类型值 (full、 optimized、 fast 或 null)时才可以指定 fix 或 nofix。
data_partition_name | data_partition_id 为要检查的数据分区的名称或 ID。如果指定了分区,则 dbcc tablealloc 将跳过全局索引。
在查询优化期间切换诊断显示。值 3604 和 3605 分别切换为向用户会 话以及向错误日志发送跟踪输出。
启用或禁用在特殊性能情况下使用的调优标志。每次重新启动 Adaptive Server 时,必须重新发出 dbcc tune。有关各选项的详细信 息,请参见 《性能和调优指南:基础知识》。
upgrade_object
从存储在 syscomments 表中的文本升级编译对象。upgrade_object 参数 有:
参数 说明
dbid 指定数据库 ID。如果不指定 dbid,将升级当前数据库中的所有编译对象。 dbname 指定数据库名。如果不指定 dbname,将升级当前数据库中的所有编译对象。 compiled_object_name 要升级的具体编译对象的名称。如果使用完全限定名,则 dbname 和 database 必
须匹配,且必须用引号将完全限定名括起来。如果该数据库包含两个以上同名的
编译对象,则应使用完全限定名称。否则,将分析所有同名对象,如果未发现错 误则进行升级。
check 升级所有检查约束和规则。参照约束不是编译对象,不需要升级。
default 升级所有声明缺省值和用 create default 命令创建的缺省值。
procedure 升级所有存储过程。
rule 升级所有规则和检查约束。
trigger 升级所有触发器。
view 升级所有视图。
参数 说明
force 指定要升级指定的对象,不管其中是否包含 select * 子句。除非能确认 select * 语句不 会返回意外结果,否则不要使用 force 选项。force 选项不会升级以下对象:包含保留 字的对象、包含截断的源文本或丢失的源文本的对象、引用不存在的临时表的对象 或者与带引号标识符设置不匹配的对象。必须先修复这些对象,然后再升级。
关键字 check、default、procedure、rule、trigger 和 view 指定要升级的编 译对象类。当指定了一个类后,指定数据库中的所有该类对象都将被 升级,前提条件是 dbcc upgrade_object 没有发现错误或潜在问题区域。
check
检查指定数据库的 syscomments 中指定的编译对象的语法。不在出现
select 时引发错误。
对于 upgrade_object,将升级所有检查约束和规则。参照约束不是编 译对象,不需要升级。
force
强制 syscomments 中的对象进行升级,即使没有必要升级也是如此。
object_name
为编译对象的名称。
object_type
为 Adaptive Server 编译的下列对象类型之一:procedure、 function、 view、 trigger、 default、 rule 以及 condition。
compiled_object_name 是要升级的具体编译对象的名称。如果使用完全限定名称,则 database_name 和 database 必须匹配,且必须用引号括住完全限定名 称。如果该数据库包含两个以上同名的编译对象,则应使用完全限定 名称。否则,将分析所有同名对象,如果未发现错误则进行升级。
default
升级所有声明缺省值和用 create default 命令创建的缺省值。
procedure
升级所有存储过程。
rule
升级所有规则和检查约束。
trigger
升级所有触发器。
view
升级所有视图。
关键字 check、default、procedure、rule、trigger 和 view 指定要升级的 编译对象类。当指定了一个类后,指定数据库中的所有该类对象都 将被升级,前提条件是 dbcc upgrade_object 没有发现错误或潜在问题 区域。
force
指定要升级指定的对象,不管其中是否包含 select * 子句。除非能确 认 select * 语句不会返回意外结果,否则不要使用 force 选项。 force 选 项不会升级以下对象:包含保留字的对象、包含截断的源文本或丢失 的源文本的对象、引用不存在的临时表的对象或者与带引号标识符设 置不匹配的对象。必须先修复这些对象,然后再升级。
trace_flag_number
是要启用或禁用的跟踪标志的编号。
cluster
将 dbcc 命令范围设置为集群。后续的 dbcc 命令将在整个集群范围内 产生影响。
instance
将 dbcc 命令范围设置为当前实例。后续的 dbcc 命令只影响本地实例。
scope
显示 dbcc 命令的当前范围,即 cluster 或 instance。
示例 示例 1 检查 pubs2 以查找页分配错误:
dbcc checkalloc (pubs2)
示例 2 检查 pubs2 的数据库一致性并将信息放入 dbccdb 数据库:
dbcc checkstorage (pubs2)
示例 3 检查 salesdetail 表:
dbcc checktable (salesdetail) Checking salesdetail
The total number of pages in partition 1 is 3. The total number of pages in partition 2 is 1. The total number of pages in partition 3 is 1. The total number of pages in partition 4 is 1.
The total number of data pages in this table is 10. Table has 116 data rows.
DBCC execution completed.If DBCC printed error messages, contact a user with system administrator (SA) role.
示例 4 尝试中止事务 “distributedxact1”:
dbcc complete_xact (distributedxact1, "rollback")
示例 5 更改字符集后升级 blurbs 的文本值:
dbcc fix_text (blurbs)
示例 6 在禁用排除列表的情况下在数据库 my_db 中对表 tab 运行
checkverify:
dbcc checkverify(my_db, tab)
示例 7 在启用排除列表的情况下在数据库 my_db 中对表 tab 运行 dbcc checkverify:
dbcc checkverify (my_db, tab, 0)
示例 8 在禁用排除列表的情况下在数据库 my_db 中对表 tab 运行 dbcc checkverify,请输入:
dbcc checkverify (my_db, tab, 1)
示例 9 从 master.dbo.systransactions 中删除事务 “distributedxact1”的信息:
dbcc forget_xact (distributedxact1)
示例 10 返回有关索引 (其 titleauthor 表上的 indid 值为 2)的分配的完整 报告,并修复所有分配错误:
dbcc indexalloc ("pubs..titleauthor", 2, full)
示例 11 显示可用临时数据库的全局列表:
dbcc pravailabletempdbs
Available temporary databases are: Dbid:2
Dbid:4 Dbid:5 Dbid:6 Dbid:7
DBCC execution completed.If DBCC printed error messages, contact a user with system administrator (SA) role.
示例 12 为 blurbs 表中的所有 text 和 image 列重建或创建内部 Adaptive Server 数据结构:
dbcc rebuild_text (blurbs)
示例 13 检查位于 smallsales 分区 (包含小于 5000 的所有图书销售额) 的 titles 表部分。
dbcc checktable (titles, NULL, "smallsales")
示例 14 dbcc reindex 在 titles 表中发现了一个或多个损坏的索引:
dbcc reindex (titles)
One or more indexes are corrupt.They will be rebuilt.
示例 15 检查自从 Adaptive Server 启动以来所使用的最大堆栈内存量:
dbcc stackused
示例 16 升级 listdb 数据库中的所有存储过程:
dbcc upgrade_object(listdb, 'procedure')
示例 17 升级 listdb 数据库中的所有规则和检查约束。应使用双引号括住
rule,因为 set quoted identifiers 为 off。
dbcc upgrade_object(listdb, list_proc)
示例 18 显示简化的输出,其中显示 Adaptive Server 中的各种限制形式:
dbcc serverlimits
Limits independent of page size:
================================
Server-wide, Database-specific limits and sizes
Max engines per server 128
Max number of logins per server :2147516416
Max number of users per database :2146484223
Max number of groups per database :1032193 Max number of user-defined roles per server 1024
Max number of user-defined roles per (user) session 127
Min database page size :2048
Max database page size :16384
...
Database page-specific limits
APL page header size 32
DOL page header size 44
Max reserved page gap 255
Max fill factor 100
Table, Index related limits
Max number of columns in a table/view 1024
Max number of indexes on a table 250
Max number of user-keys in a single index on an unpartitioned table :31 Max number of user-keys in a single local index on a partitioned table :31
...
General SQL related
Max size of character literals, sproc parameters :16384
Max size of local @variables in T-SQL :16384
Max number of arguments to stored procedures :2048
Max number of arguments to dynamic SQL :2048
Max number of aggregates in a COMPUTE clause 254
...
Maximum lengths of different Identifiers
Max length of server name 30
Max length of host name 30
Max length of login name 30
Max length of user name 30
...
Limits as a function of the page size:
======================================
Item dependent on page size : 2048 4096 8192 16384
--------------------------------------------------------------------------
Server-wide, Database-specific limits and sizes |
||||
Min number of virtual pages in master device |
:11780 |
22532 |
45060 |
90116 |
Default number of virtual pages in master device |
:23556 |
45060 |
90116 |
180228 |
Min number of logical pages in master device |
:11776 |
11264 |
11264 |
11264 |
Min number of logical pages in tempdb :2048 1536 1536 1536
Table-specific row-size limits
Max possible size of a log-record row on APL log page :2014 4062 8158 16350
Physical Max size of an APL data row, incl row-overheads :1962 4010 8106 16298
Physical Max size of a DOL data row, incl row-overheads :1964 4012 8108 16300
Max user-visible size of an APL data row :1960 4008 8104 16296
Max user-visible size of a DOL data row :1958 4006 8102 16294
Max user-visible size of a fixed-length column in an APL table :1960 4008 8104 16296
Max user-visible size of a fixed-length column in a DOL table :1958 4006 8102 16294
...
注释 注意:若要显示服务器中的完整限制列表,请执行 dbcc traceon (3604)获取客户端会话的输出。
sp_transactions
示例 19 为此表返回经过优化的分配报告,但不修复任何分配错误:
dbcc tablealloc (publishers, null, nofix)
示例 20 对 smallsales 分区执行分配检查。检查 smallsales 上的所有本地索 引,而将全局索引排除在外:
dbcc tablealloc (titles, null, null, smallsales)
示例 21 使用 sp_transactions 来确定因为未处于 “就绪”状态而未尝试提 交的单阶段提交事务的名称。接下来,本示例解释如何使用 1pc 参数来 成功提交事务:
xactkey type coordinator starttime
state connection dbid spid loid failover srvnname namelen xactname
------------------------------ ------- ----------- ---------
------------- ---------- ---- ---- ---- -------- --------- --------
-------------
0xbc0500000b00000030c316480100 External XA Feb 2 2004 1:07PM
Done-Detached Detached 1 0 2099 Resident Tx NULL 88
28_u7dAc31Wc380000000000000000000000000000000001HFpfSxkDM000FU_00003M00
00Y_:SYBBEV0A_LRM
(1 row affected)
(return status = 0)
如果您尝试提交此事务,则 Adaptive Server 将发出错误消息:
dbcc complete_xact ("28_u7dAc31Wc380000000000000000000000000000000001HFpfSxkDM000FU_00003M000 0Y_:SYBBEV0A_LRM", "commit"))
Adaptive Server 发出的错误消息为:
Msg 3947, Level 16, State 1: Server 'PISSARRO_1251_P', Line 1:
A heuristic completion related operation failed.Please see errorlog for more details.
DBCC execution completed.If DBCC printed error messages, contact a user with system administrator (SA) role.
因为此事务处于 “完成”状态,检验此事务已提交后,可以使用单阶段 提交协议优化来尝试完成此事务。可以使用 dbcc complete_xact ( “1pc” ) 参数提交此事务:
dbcc complete_xact ("28_u7dAc31Wc380000000000000000000000000000000001HFpfSxkDM000FU_00003M000
0Y_:SYBBEV0A_LRM", "commit", "1pc")
DBCC execution completed.If DBCC printed error messages, contact a user with system administrator (SA) role.
可以用 dbcc forget_xact 命令从 systransactions 中删除此事务:
dbcc forget_xact ("28_u7dAc31Wc380000000000000000000000000000000001HFpfSxkDM0 00FU_00003M0000Y_:SYBBEV0A_LRM")
DBCC execution completed.If DBCC printed error messages, contact a user with system administrator (SA) role.
如果再次运行 sp_transactions,则上一事务不会出现:
sp_transactions
xactkey type coordinator starttime state connection dbid spid loid failover srvnname namelen xactname
-------- ----- ------------ ---------- ------ ----------- ----- -----
------ --------- --------- -------- --------
(0 row affected)
示例 22 启用跟踪标志 3604:
dbcc nodetraceoff(3604)
DBCC execution completed.If DBCC printed error messages, contact a user with system administrator (SA) role.
示例 23 将 dbcc 范围设置为集群:
dbcc set_scope_in_cluster('cluster')
示例 24 将 dbcc 范围设置为实例:
dbcc set_scope_in_cluster('instance')
示例 25 显示 dbcc 命令的当前范围:
dbcc set_scope_in_cluster('scope')
用法 • dbcc checkstorage 如果用于非散列表的除第一个数据页之外的任何 数据页为空,则报告软故障。然而,dbcc checkstorage 不为虚拟散列 表的散列区域报告此软故障。虚拟散列表的散列区域中的任何数据 页均可为空。
• 可在数据库处于活动状态时运行 dbcc,但是不能使用 dbrepair (database_name, dropdb) 选项以及带 fix 选项的 dbcc checkalloc。
• dbcc 在检查数据库对象时会锁定它们。有关在使用 dbcc 时尽可能减 少性能问题的信息,请参见 《系统管理指南》中的 dbcc 讨论。
• 执行 dbcc 命令时,用户不能访问存档数据库。如果您在 dbcc 命令 的执行过程中试图访问存档数据库,则会收到一条消息,说明数据 库正处于单用户模式。
• 大多数 dbcc 命令都可用于内存数据库和宽松持久性数据库。
• 对于处于联机或脱机状态下的存档数据库,可以使用 dbcc 命令的变 体。然而,您只能对联机存档数据库使用带有 fix 选项的 dbcc。
• 若要用用户名或数据库名限定表或索引的名称,请将限定的名称用 单引号或双引号引起来。例如:
dbcc tablealloc ("pubs2.pogo.testtable")
• 不能在用户定义的事务中运行 dbcc reindex。
• dbcc fix_text 可以生成大量的日志记录,这些记录可能会填满事务日 志。 dbcc fix_text 设计为在一系列小事务中进行更新:万一出现日志 空间故障,则只有少量工作丢失。如果日志空间已用完,则清除日 志,并使用在初始 dbcc fix_text 失败时升级的同一个表重新启动 dbcc fix_text。
• 如果您使用的是已复制的数据库,并且需要将转储从以前版本的
Adaptive Server 装载到当前版本中,请使用 dbcc dbrepair。例如:
• 将转储从早期版本的 Adaptive Server 的生产系统装载到当前版 本的 Adaptive Server 的测试系统,或者,
• 在热备份应用程序中,使用早期版本的 Adaptive Server 的活动 数据库中的数据库转储初始化当前版本的 Adaptive Server 的备 用数据库。
• 如果试图在更改为多字节字符集后在 text 值上使用 select、 readtext 或 writetext,且没有运行 dbcc fix_text,则命令会失败,并会有一个 错误消息指示您在表上运行 dbcc fix_text。但是,更改了字符集之 后,即使不运行 dbcc fix_text,您也可以删除 text 行。
• dbcc 输出是作为消息或错误而不是作为结果行发送的。客户端程序 和脚本应该检查相关的错误处理程序。
• 如果表是分区的, dbcc checktable 返回有关每个分区的信息。
• 已升级到 Adaptive Server 12.x 版或更高版本的 text 和 image 数据不会 自动从原来的存储格式升级。若要提高查询性能,并启用对这些数 据的预取,请对已升级的 text 和 image 列使用 rebuild_text 关键字。
• 过去使用的堆栈内存量仅能指出将来可能需要的堆栈内存量。 Adaptive Server 所需的堆栈内存可能比过去所用的还要多。定期运 行 dbcc stackused 可了解当前堆栈的内存使用情况。
• dbcc upgrade_object check 用于检测升级 Adaptive Server 前由 Adaptive Server 缺陷引起的 syscomments 文本损坏。这种 syscomments 文本损 坏后果严重,因为它会导致升级过程失败。
• 如果 dbcc upgrade_object check 报告任何错误,则必须删除并重新创 建 compiled_object。
dbcc complete_xact 使系统管理员能够在外部事务协调器无法提交或回退 分布式事务的环境中提交或回退分布式事务。在低于 Adaptive Server 15.0 的版本中,除非事务处于 “就绪”状态,否则不能尝试提交,事 务协调器使用两阶段提交协议来提交事务。但是在某些情况下,事务协 调器可能需要使用单阶段提交协议来优化事务的提交。
1pc 尝试完成一个进行单阶段提交协议 (不是常规的两阶段提交协议) 优化的事务,它通过正在协调此完成过程的外部事务管理器来执行该操 作。尝试提交此类事务要求事务处于 “完成” (done) 状态 (由 sp_transactions 报告)。
注释 尝试完成事务之前,系统管理员应该尽一切努力确定协调事务管 理器是提交还是回退了分布式事务。
dbcc checkcatalog 执行的检查
dbcc checkcatalog 检查:
• 对于 sysindexes 中映射到域、散列或列表分区表的每一行,在 sysobjects 中都存在满足下列条件的一行:sysindexes.conditionid 等于 sysobjects.id。 dbcc checkcatalog 还对 sysindexes 中映射到带有分区条 件的循环分区表的每一行执行此检查。
• 对于 sysindexes 中映射到域、散列或列表分区表的每一行,在 sysprocedures 中都存在满足下列条件的一行:sysindexes.conditionid 等于 sysprocedures.id。 dbcc checkcatalog 还对 sysindexes 中映射到带 有分区条件的循环分区表的每一行执行此检查。
• 对于 sysindexes 中映射到域、散列或列表分区表的每一行,在 syspartitionkeys 中存在满足下列条件的一行:sysindexes.id 等于 syspartitionkeys.id 且 sysindexes.indid 等于 syspartitionkeys.indid。 dbcc checkcatalog 还对 sysindexes 中映射到带有分区条件的循环分区表的 每一行执行此检查。
• 对于 sysindexes 中的每一行, syspartitions 中存在同时满足下面两个 条件的一行或多行:sysindexes.id 等于 syspartitions.id 且 sysindexes.indid 等于 syspartitions.indid。
• 对于 sysobjects 中类型为 N 的每一行,在 sysindexes 中都存在
sysindexes.conditionid 等于 sysobjects.id 的一行。
• 对于 syspartitions 中的每一行,在 sysindexes 中存在满足下列条件的 一行:syspartitions.id 等于 sysindexes.id 且 syspartitions.indid 等于 sysindexes.indid。
• 对于 syspartitionkeys 中的每一行,在 sysindexes 中存在满足下列条件 的一行:syspartitionkeys.id 等于 sysindexes.id 且 syspartitionkeys.indid 等于 sysindexes.indid。
• 对于 syspartitions 中的每一行,在 syssegments 中存在满足以下条件 的一行:syspartitions.segments 等于 syssegments.segment。
• 对于 systabstats 中的每一行,在 syspartitions 中都存在满足下列条件 的一行:syspartitions.id 等于 systabstats.id、 syspartitions.indid 等于 systabstats.indid 且 syspartitions.partitionid 等于 systabstats.partitionid。
文本索引 ( indid =255) 在 systabstats 中没有条目。
• 对于 sysstatistics 中的每一行,在 sysobjects 中都存在满足以下条件 的一行:sysstatistics.id 等于 sysobjects.id。
• 对于 sysobjects 中的每个加密密钥行, Adaptive Server 都会检查
sysencryptkeys 中是否有定义该密钥的行。
• 对于标记为加密的 syscolumns 中的每个列, Adaptive Server 都将在
sysobjects 和 sysencryptkeys 中检验密钥。
• dbcc checkcatalog 确保:
• 对于 sysencryptkeys 中的每个密钥副本,sysencryptkeys 中均存在 对应的基本密钥。如果不存在基本密钥,则 Adaptive Server 会 发出错误消息。
• 对于每个密钥副本, sysusers 中均存在对应的 uid。如果不存在 uid,则 Adaptive Server 会发出错误消息。
Checking syslogs
• 对于列中定义的每个解密缺省值,sysobjects 和 sysattributes 中均 存在对应的解密缺省值。如果不存在对应的解密缺省值,则 Adaptive Server 会发出错误消息。
使用 dbcc checktable
如果日志段位于它自己的设备上,那么对 syslogs 表运行 dbcc checktable
将报告已用的日志和可用空间。例如:
The total number of data pages in this table is 1.
*** NOTICE:Space used on the log segment is 0.20 Mbytes, 0.13%.
*** NOTICE:Space free on the log segment is 153.4 Mbytes, 99.87%.
DBCC execution completed. If dbcc printed error messages, see your system administrator.
*** NOTICE: Notification of log space used/free cannot be reported because the log segment is not on its own device.
除了执行常规检查外, checktable 还会验证在创建表期间执行的预分配 是否正确:
• 预分配的页数与为指定的 max hash key 值分配的数据页总数匹配。
• 在预分配方案指定只允许对象分配映射 (OAM) 页的扩充中,不对 数据页进行预分配。
• 只在分配单元的第一个扩充中分配 OAM 页。
使用 dbcc nodetraceoff 和 dbcc nodetraceon (仅限集群)
dbcc traceon 和 dbcc traceoff 对整个集群应用跟踪标志,而 dbcc nodetraceoff 和 dbcc nodetraceon 在本地应用跟踪标志。
使用 dbcc quorum (仅限集群)
• dbcc quorum 输出传送到:
• 启动 Adaptive Server 的终端 (缺省情况下)
• 客户端会话 (如果打开了跟踪标志 3604 或 3605)
• dbcc quorum 接受整数参数作为要输出的视图记录数。例如,若要输 出 20 条最新的视图记录,请使用:
dbcc quorum(20)
• 如果不包括参数, dbcc quorum 将输出 10 条最新的视图记录。
• 发出 dbcc quorum (-1) 则可查看所有记录。
用于共享磁盘集群的 dbcc checkstorage 的限制:
• dbcc checkstorage 中不能包括仅限实例的命名高速缓存。如果您这 样做, dbcc checkstorage 将发出以下错误消息:
The cache %1! cannot be used because it is an instance only cache
• 若要针对本地临时数据库运行 dbcc checkstorage,必须从拥有本地 临时数据库的同一实例中运行该命令。
• 由于性能原因, Cluster Edition 中的 dbcc checkstorage 可能不在集群 中查询页的最新版本。这可能会导致 Cluster Edition 比其它版本报 告更多软故障。
对于由单个实例更新数据库的明确分区的应用程序, dbcc checkstorage 的行为与早期非 Adaptive Server Cluster Edition 版本相同。
标准 符合 ANSI SQL 的级别Transact-SQL 扩展。
权限 对 dbcc 命令的权限检查因您的细化权限设置而异。有关每个 dbcc 命令 的权限要求,请参见 表 1-17。
注释 如果符合下表中列出的 dbcc 命令的任何一个要求 (权限或所有 权),便可运行该命令。
表 1-17: dbcc 命令的权限要求
DBCC 命令名 |
权限要求 |
|
细化权限已禁用 |
细化权限已启用 |
|
addtempdb |
• 数据库所有者 • sa_role |
• 数据库所有者 • own database |
checkalloc |
• dbcc checkalloc • 数据库所有者 • sa_role |
• dbcc checkalloc |
checkcatalog |
• dbcc checkcatalog • 数据库所有者 • sa_role |
• dbcc checkcatalog |
checkdb |
• dbcc checkdb • 数据库所有者 • sa_role |
• dbcc checkdb |
checkindex |
• dbcc checkindex • 表所有者 • sa_role |
• dbcc checkindex • 表所有者 |
DBCC 命令名 |
权限要求 |
|
细化权限已禁用 |
细化权限已启用 |
|
checkstorage |
• dbcc checkstorage • 数据库所有者 • sa_role |
• dbcc checkstorage |
checktable |
• dbcc checktable • 表所有者 • sa_role |
• dbcc checktable • 表所有者 |
checkverify |
• dbcc checkverify • 数据库所有者 • sa_role |
• dbcc checkverify |
complete_xact |
• sa_role |
• manage server |
dbrepair dropdb |
• 数据库所有者 • sa_role |
• 数据库所有者 • own database |
engine |
• sa_role |
• manage server |
fix_text |
• dbcc fix_text • 对象所有者 • sa_role |
• dbcc fix_text • 对象所有者 |
forget_xact |
• sa_role |
• manage server |
indexalloc |
• dbcc indexalloc • 表所有者 • sa_role |
• dbcc indexalloc • 表所有者 |
monitor |
• sa_role |
• manage server |
rebuild_text |
• 表所有者 • sa_role |
• 表所有者 • manage database |
reindex |
• dbcc reindex • 表所有者 • sa_role |
• dbcc reindex • 表所有者 |
stackused |
• sa_role |
• manager server |
tablealloc |
• dbcc tablealloc • 表所有者 • sa_role |
• dbcc tablealloc • 表所有者 |
textalloc |
• dbcc textalloc • 表所有者 • sa_role |
• dbcc textalloc • 表所有者 |
DBCC 命令名 |
权限要求 |
|
细化权限已禁用 |
细化权限已启用 |
|
traceon | traceoff nodetraceon | nodetraceoff |
• set tracing • monitor qp performance • set switch |
|
跟踪标志 – 3604、 3605 |
• sa_role |
|
所有其它跟踪标志 |
• sa_role |
• set switch |
tune ascinserts |
• dbcc tune • 表所有者 • sa_role |
• dbcc tune • 表所有者 |
tune 所有其它参数 |
• dbcc tune • sa_role |
• dbcc tune |
upgrade_object |
• 对象所有者 • 数据库所有者 • sa_role |
• manage database • 对象所有者 |
set_scope_in_cluster |
• sa_role |
• manage cluster |
quorum |
• sa_role |
• manage cluster |
审计 sysaudits 的 event 和 extrainfo 列中的值如下:
事件 审计选项 审计的命令或访问权限 extrainfo 中的信息
81 dbcc dbcc • 角色 – 当前活动角色
• 关键字或选项 – 任一 dbcc 关键字 (例如
checkstorage)和该关键字的选项
• 先前值 – NULL
• 当前值 – NULL
• 其它信息 – NULL
• 代理信息 – set proxy 有效时的初始登录名
系统过程 sp_configure, sp_helpdb.
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)上提取数据的非常规恢复工具
- 适用于所有的SQL Anywhere版本 包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x,16.x,17.x
- 适用于所有的UltraLite版本
- 能够恢复出来表结构和数据
- 能够恢复自定义数据类型
- 能够恢复存储过程等对象的语法
- 能够导出到目标数据库
- 能够导出到SQL文件并生成导入脚本
- 支持多种字符集,包括:cp850、cp936、gb18030、utf8等
- 能够恢复未加密或者简单加密类型的数据
- 简单易用
- 限制:不支持AES加密的数据文件
SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍
Sybase SQL Anywhere数据库恢复工具ReadASADB适用场景
各种误操作:
- 误截断表(truncate table)
- 误删除表(drop table)
- 错误的where条件误删数据
- 误删除db或log文件
- 误删除表中的字段
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的主要功能:
- 被勒索病毒加密数据文件及备份文件情况下的恢复;
- 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏的备份文件情况下的恢复;
- 因断电、硬盘坏道等造成数据库文件损坏情况下的恢复;
- delete数据恢复、误update数据恢复、误删除表(drop)恢复、误truncate表恢复 等;
- 各种Sybase内部系统表损坏、索引错误的修复;
- master数据库损坏而无法正常运行情况下的恢复;
- Sybase数据库被标记为可疑,不可用等情况的恢复;
- Sybase数据库中数据文件内部出现坏块情况下的恢复;
- Sybase数据库无数据文件但有日志文件的情况下的恢复;
- Sybase数据库只有数据文件无任何日志文件的情况下的恢复;
- Sybase数据文件被误删除情况下的碎片提取恢复;
- 磁盘阵列上的Sybase数据库被误格式化情况下的数据库恢复;
- 数据库sysobjects等系统表损坏无法正常应用情况下的恢复;
- Sybase数据库还原数据库出现失败情况下的恢复;
- 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.xSQL Server数据库恢复工具SQLRescue:
一个不依赖数据库管理系统、直接从SQL Server数据库文件上提取数据的业内领先的恢复工具!能够从损坏的SQL Server数据库文件(.mdf)上提取数据的非常规恢复工具。
SQL Server数据库恢复工具SQLRescue的主要功能:
- 系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;
- 断电导致数据库文件损坏情况下的恢复;
- 硬盘坏道造成数据库损坏情况下的恢复;
- 数据文件内部存在坏页情况下的恢复;
- 企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;
- 并闩锁错误、格式化、误删除后导致软件不能使用的情况;
- 无法读取并闩锁页sysindexes失败情况下的修复;
- 数据文件被误删除情况下的碎片提取恢复;
- 系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;
- master数据库损坏而无法正常运行情况下的恢复;
- 数据文件无法附加情况下的数据恢复;
- 数据库被标记为可疑,质疑,不可用等情况的恢复;
- 数据库sysobjects等系统表损坏情况下的恢复;
- 数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;
- 还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;
- 数据库被误格式化等情况下的数据库恢复;
- 日志收缩造成数据库损坏情况下的恢复;
- 仅剩损坏的备份文件情况下的恢复。
SQL Server数据库恢复工具SQLRescue技术特点:
只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。- 从数据文件中直接恢复数据
- 不能附加时直接恢复数据并生成新的数据库
- 系统表损坏的数据库修复
- 快速修复SQL 823错误、连接中断错误
SQL Server数据库恢复工具SQLRescue支持的版本:
Microsoft SQL Server 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。+-------------------------------------华丽的分割线-------------------------------------------------------------------------