随着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
- 安全性管理指南
- 实用程序指南
ddlgen
说明 这是一个基于 Java 的工具,可生成 Adaptive Server 中服务器级和数据库 级对象的定义。
若要为以下对象生成 DDL,用户必须具有 sa_role 或 sso_role:
• 加密密钥
• 登录名
• 角色 对于所有其它对象,用户无需任何特定权限或角色即可生成 DDL。
ddlgen 的命令行版本位于 ASE-15_0/bin (对于 UNIX)和 ASE-15_0\bin
(对于 Windows)中。
语法 ddlgen
-Ulogin
-Ppassword
-S[[ssl:]server | host_name :port_number] [-I interfaces_file]
[-Tobject_type]
[-Nobject_name] [-Ddbname]
[-Xextended_object_type] [-Ooutput_file]
[-Eerror_file]
[-Lprogress_log_file] [-Jclient_charset]
[-LC -N logical_cluster_name
-F[ % | SGM | GRP | USR | R | D | UDD | U | V | P | XP | I | RI | KC | TR | PC]
或
ddlgen -v
参数 -U login
指定一个区分大小写的登录名。
-P password
指定口令。
如果未在 ddlgen 语句中包含 -P 参数, ddlgen 会提示用户指定口令。
有关如何隐藏口令的说明,请参见 第 173 页的 “隐藏 ddlgen 中的口 令”。
-S [[ssl:]server | host_name :port_number]
指定 Adaptive Server 的名称。ddlgen 在 interfaces 文件或 LDAP 配置文 件中查找该名称。如果指定:
• [ssl:] – 将允许为启用 SSL 的服务器中的对象生成 DDL。该参数 是可选的。
• -S [host_name:port_number] – ddlgen 将使用所提供的 host_name 和
port_number,不读取或解析 interfaces 文件和 LDAP 配置文件。
• -S[server] -I – ddlgen 将对在用户位置指定的 interfaces 文件进行解 析,以查找服务器名 (有关详细信息,请参见 -I 参数说明)。
• -S[server] – 由于没有指定 interfaces 文件, ddlgen 将执行以下操 作:
a ddlgen 先尝试从标准位置读取 LDAP 配置文件
b 如果 LDAP 文件不存在,或者虽然存在但不包含 Adaptive Server 条目,那么将对位于标准位置的 interfaces 文件进行解 析,以查找服务器名
c 如果 LDAP 文件存在,则 ddlgen 将使用该文件搜索服务器 名。此时不解析 interfaces 文件,而是解析该 LDAP 配置文 件。
注释 必须使用 -S 选项,因为 ddlgen 不连接到缺省服务器。
-I
指定 interfaces 文件名,与 UNIX 中的 $SYBASE/interfaces 及 Windows
中的 %SYBASE%\ini\sql.ini 相对应。此可选参数与 -S 一起使用。
-Tobject_type
指定正在创建的对象类型。如果没有使用 -T, ddlgen 将为登录的缺省 数据库生成 DDL。-T 的对象类型为:
对象类型 说明
C 高速缓存
D 缺省值
DB 数据库
DBD 数据库设备
DPD 转储设备
EC 执行类
EG 引擎组
EK 加密密钥
对象类型 说明
GRP 组
I 索引
KC 键约束
L 登录名
LK 逻辑键
P 存储过程
R 规则
RI 参照完整性
RO 角色
RS 远程服务器
SGM 段
TR 触发器
U 表
UDD 用户定义的数据类型
USR 用户
V 视图
WS 用户定义的 Web 服务
WSC Web 服务消耗程序
XOD 本地高速缓存
XOU 全局高速缓存
XP 扩展存储过程
-Nobject_name
指定要创建的对象的完全限定名,例如
-Ndb_name.owner_name.table_name.object_name 。-N 选项:
• 当在 -T 参数中指定任意 object_type 而不是 DB (数据库)时是必 需的。
• 接受使用 % 作为通配符。
• 若要为表的某一触发器生成 DDL,请使用
-Ndb_name.table_owner.table_name.trigger_name 格式。
若要为表的所有触发器生成 DDL,请将 trigger_name 替换为 %, 因而将使用 -N db_name . table_owner . table_name .% 格式。
• 使用 -N db_name.owner.key_name 为加密密钥生成 DDL 。
• 为服务器上某一特定对象类型的所有项生成 DDL。
• 以 -Ndb_name.owner_name.table_name.object_name 格式强制实施它 分析名称的严格顺序。如果您仅提供三个参数,则 ddlgen 假定它 们的顺序依次是 owner_name、 table_name 和 object_name。或者, 也可以使用 -Nowner_name.table_name -Ddb_name。如果 object_name 是一个索引 ( I ) , ddlgen 并不强加这一限制。
-Ddbname
指定在 -N 选项中所指定对象的数据库名。缺省情况下是用户的缺省 数据库。
为表的所有触发器生成 DDL 时,不能使用 -D 参数。
-Xextended_object_type
区分以下情况:
• 当将表指定为对象类型 (-TU) 时,将用户表 (OU) 与代理表 (OD) 区 分开。
• 当将数据库指定为对象类型 (-TDB) 时,将临时数据库 (OD) 与常 规数据库 (OU) 或存档数据库 (OA) 区分开
• 当指定过程作为对象类型 (-TP) 时,将 SQLJ 过程 (OD) 和存储过 程 (OU) 区分开。
如果 object_type ( -T ) 为 U (表)并且没有指定 -X, ddlgen 会同时为用 户表和代理表生成 DDL。若仅为以下内容生成 DDL:
• 用户表 – 使用带有 -X 选项的 OU 扩展对象类型。
• 代理表 – 对 -X 选项使用 OD 扩展对象类型。
• 内存数据库、高速缓存和设备 – 对 -X 选项使用 OI 扩展对象类 型。
• 内存临时数据库 – 对 -X 选项使用 OIT 扩展对象类型。 注释 ddlgen 不支持为系统表生成模式。
-Ooutput_file
为生成的 DDL 指定一个输出文件。如果没有指定 -O,则所创建的
DDL 会显示在主控台窗口中。
-Eerror_file
指定一个用来记录错误的日志文件。如果没有指定 -E,生成的错误会 显示在主控台窗口中。
-Lprogress_log_file
指定用于记录 ddlgen 的进度的日志文件。如果您没有指定 -L,将不记 录进度。
-Jclient_charset
指定用于客户端的字符集。-J client_charset 请求将 Adaptive Server 字符 集与客户端上使用的字符集 client_charset 进行相互转换。过滤器在 client_charset 和 Adaptive Server 字符集之间转换输入内容。
如果省略 -J,则将字符集设置为平台的缺省字符集。缺省字符集不必 是客户端正在使用的字符集。
注释 对于 HP 平台 – 必须使用 -Jiso_1 指定正确的字符集。
-LC
为服务器上的一个或多个逻辑集群生成 DDL。
-F
在表级和数据库级对象的 DDL 中将索引、触发器和约束从表和数据 库定义中过滤出去。有效的过滤器是:
• 对于表 – [ % | I | RI | KC | TR | PC ]
• 对于数据库 – [ % | SGM | GRP | USR | R | D | UDD | U | V | P | XP | I | RI | KC | TR]
过滤器选项有:
选项 过滤出
% 所有内容。检索数据库或表的纯模式定义。
SGM 段
GRP 组
USR 用户
R 规则
D 缺省值
UDD 用户定义的数据类型
U 用户表
V 视图
P 存储过程
PC 分区条件
XP 扩展存储过程
I 索引
RI 参照完整性约束
KC 主键约束和唯一键约束
TR 触发器
如果您使用无效过滤器参数, ddlgen 将生成一个警告,忽略该参数, 并继续处理您指定的其余有效参数。
如果您指定 % 以及其它过滤器参数,ddlgen 将忽略所有其它可过滤参 数,只显示纯模式定义。 ddlgen 然后继续评估应用于数据库的可过滤 参数的子集内的依赖性。
-v
显示 ddlgen 的版本和版权消息,然后返回到操作系统。
示例 示例 1 (高速缓存)为名为 HARBOR 的计算机 (使用端口 1955)上称 作 default data cache 的高速缓存生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TC -N"default data cache"
为所有高速缓存生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TC -N%
示例 2 (缺省值)为名为 HARBOR 的计算机 (使用端口 1955)上
pubs2 数据库中 jones 所拥有的 “phondflt”缺省值生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TD -Njones.phonedflt -Dpubs2
或者,由于 ddlgen 允许在 -N 标志中使用全限定名,因此可以忽略
-Ddbname 而在 -N 选项中包括数据库名:
ddlgen -Ulogin -Ppassword -Sserver:port -TD -Ndbname.owner.defaultname
为数据库中 “owner”所拥有的所有缺省值生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TD -Nowner.% -Ddbname
示例 3 (数据库)为名为 HARBOR 的计算机 (使用端口 1955)上的
pubs2 数据库生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDB -Npubs2
如果没有指定 dbname, ddlgen 将为 login 的缺省数据库生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port
如果没有使用 -T 参数, ddlgen 将为缺省类型数据库生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -Ndbname
为所有数据库生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TDB -N%
示例 4 (数据库设备)为名为 HARBOR 的计算机 (使用端口 1955)上 运行的 master 数据库设备生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDBD -Nmaster
为所有数据库设备生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TDBD -N%
示例 5 (临时数据库)为包括 tempdb 在内的所有数据库生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TDB -N%
若要为所有临时数据库生成 DDL,请使用 OD 扩展数据库类型:
ddlgen -Ulogin -Ppassword -Sserver:port -TDB -XOD -N%
可以在 Adaptive Server 版本 12.5.0.3 和更高版本中使用 OD 扩展类型,但 在早于 12.5.0.3 的版本中使用将发出警告消息。您可以放心地忽略这一 消息;ddlgen 将继续处理该命令。
若要为临时数据库之外的所有数据库生成 DDL,请使用 OU 扩展类型:
ddlgen -Ulogin -Ppassword -Sserver:port -TDB -XOU -N%
下面的命令将为名为 tempdb1 的临时数据库生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TDB -Ntempdb1
输出中包含以下内容:
• create temporary database 语句
create temporary database tempdb1 on master = 4, asdas = 2
go
• sp_tempdb bind 语句,其中 isql 应用程序被绑定到 tempdb1:
sp_tempdb 'bind','ap', 'isql', 'DB', 'tempdb1' go
注释 视图、存储过程和表之类对象的 DDL 不与临时数据库的 DDL 一 起生成,因为这些对象是临时对象,并且在服务器重新启动后重新创 建。
为数据库对象生成 DDL 时,如果使用 -F 参数过滤表,则会自动过滤索 引、参照完整性、键约束和触发器,因为它们都是该表对象的子集。
示例 6 (内存数据库)为内存数据库生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDB -Nimdb_1
示例 7为内存临时数据库生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDB -Nimdb_temp1
示例 8 (存档数据库)若要为所有存档数据库生成 DDL,请使用扩展过 滤器选项 “OA”。
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDB -N% -XOA
若要为单个存档数据库生成 DDL,请使用常规数据库的语法。本示例 为存档数据库 adb1 创建 DDL。
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDB -Nadb1
示例 9 (转储设备)为名为 HARBOR 的计算机 (使用端口 1955)上运 行的 tapedump1 转储设备生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TDPD -Ntapedump1
为所有转储设备生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TDPD -N%
示例 10 (加密密钥)在包含扩展选项 –XOD 时,为加密密钥生成系统 加密口令和 DDL。输出会为所有加密密钥生成 sp_encryption 语句,然后 再生成 DDL 语句。此示例为名为 HARBOR 的计算机(使用端口 1955) 中的登录名 “george”生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TEK -Ngeorge -XOD
为名为 HARBOR 的计算机 (使用端口 1955)上 authors 数据库中的所 有加密密钥生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TEK -Nauthors.dbo.%
示例 11为名为 “HARBOR”的计算机 (使用端口 1955)上 accounts 数 据库中的所有加密密钥生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TEK
-Naccounts.dbo.%
或者,使用 -D 选项指定数据库名。
示例 12为 SampleKeysDB 数据库中的加密密钥 “ssn_key”生成 DDL:
ddlgen -Usa -P -Sserver -TEK -NSampleKeysDB.dbo.ssn_key
示例 13以下示例在为 “ssn_key”加密密钥生成 DDL 时,使用 -FEKC 来 避免为密钥副本创建 DDL:
ddlgen -Usa -P -Sserver -TEK -NSampleKeysDB.dbo.ssn_key
-FEKC
示例 14为 “ssn_key”及其密钥副本生成 DDL:
ddlgen -Usa -P -Sserver -TEK -NSampleKeysDB.dbo.ssn_key
示例 15此示例对名为 employee 的表发出 ddlgen 命令,该表包含一个 “ssn”列,该列使用加密密钥 “ssn_key”进行加密,其解密缺省值设 置为 “100”:
ddlgen -Usa -P -Sserver -TU -N db1.dbo.employee
示例 16 (引擎组)为名为 HARBOR 的计算机 (使用端口 1955)上运 行的 LASTONLINE 引擎组生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TEG -NLASTONLINE
为所有引擎组生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TEG -N%
示例 17 (执行类)为名为 HARBOR 的计算机 (使用端口 1955)上运 行的 EC2 执行类生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TEC -NEC2
为所有执行类生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TEC -N%
示例 18 (扩展存储过程)通过在 -N 选项中使用完全限定的
dbname.owner.extendedstoredprocedure 格式,为名为 HARBOR 的计算机
(使用端口 1955)上运行的、 Jones 所拥有的 pubs2 数据库中的
xp_cmdshell 扩展存储过程生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TXP -Npubs2.jones.xp_cmdshell
或者,可以使用 -D 选项来代替使用全限定名:
ddlgen -Ulogin -Ppassword -Sserver:port -TXP
-Nowner.extendedstoredprocedure -Ddbname
为所有扩展存储过程生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TXP -Ndbname.owner.%
示例 19 (过滤器)为 pubs2 数据库中的 authors 表生成 DDL,从表的 DDL 中过滤出所有索引 (I)、参照完整性约束 (RI)、主键约束和唯一键约 束 (KC)、触发器 (TR) 和分区条件 (PC):
ddlgen -Uroy -Proy123 -TU -Nauthors -Dpubs2 -F%
或者,可以分别指定每个过滤器:
ddlgen -Ulogin -Ppassword -TU -Ndbname.owner.table
-FI,RI,KC,TR
下面的命令生成 table_name 的定义,同时过滤出外键和唯一主键:
ddlgen -Ulogin -Ppassword -TU -Ntable_name -Ddbname
-FRI,KC
下面两个命令都会在整个数据库中为指定用户生成外键:
ddlgen -Ulogin -Ppassword -TRI -N%.%.% -Ddbname
或:
ddlgen -Ulogin -Ppassword -TRI -Ndbname%.%.%
下面两个命令为数据库中所有以 “PK”开头的表的主键和唯一键生成
DDL:
ddlgen -Ulogin -Ppassword -TKC -Ndbname.%.%.PK%
或:
ddlgen -Ulogin -Ppassword -TKC -N%.%.PK% -Ddbname
下面的命令生成数据库的纯模式定义:
ddlgen -Ulogin -Ppassword -Sserver:port -TF -Ndbname
-F%
或者,可以分别指定每个过滤器:
ddlgen -Ulogin -Ppassword -Sserver:port -TDB -Ndbname
-FSGM,GRP,USR,R,D,UDD,V,P,XP,I,RI,KC,TR
下面的命令在生成数据库 DDL 时跳过已编译对象:
ddlgen -Ulogin -Ppassword -Sserver:port -TDB -Ndbname
-FTR,D,XP,V,R
下面的命令生成数据库定义,但不生成表定义:
ddlgen -Ulogin -Ppassword -Sserver:port -TDB -Ndbname
-FU
示例 20 (组)通过在 -N 选项中使用完全限定的 dbname . groupname 格 式,为名为 HARBOR 的计算机 (使用端口 1955)上运行的 pubs2 数据 库中的 “public”组生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TGRP -Npubs2.public
或者,可以使用 -D 选项来指定 dbname:
ddlgen -Ulogin -Ppassword -Sserver:port -TGRP -Ngroupname -Ddbname
为所有组生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TGRP -Ndbname.%
示例 21 (索引)为 pubs2 数据库中 dbo 所拥有的 authors 表的 au_lname
索引生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TI -Ndbo.authors.au_lname -Dpubs2
或者,由于 ddlgen 允许在 -N 标志中使用全限定名,因此可以忽略
-Ddbname 而在 -N 选项中包括数据库名:
ddlgen -Ulogin -Ppassword -Sserver:port
-TI -Ndbname.owner.tablename.indexname
如果使用一个全限定名,就可以忽略 -D 选项。
为单个表的所有索引生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TI
-Ndbname.owner.tablename.%
为数据库中所有表的所有索引生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TI
-Ndbname.%.%.%
例如,以下命令将为 pubs2 数据库中所有表的所有索引生成 DDL:
ddlgen -Usa -P -SHARBOR:1955 -TI -Npubs2.%.%.%
示例 22 (键)以下两条命令为数据库中所有以 “PK”开头的表的主键 和唯一键生成 DDL:
ddlgen -Usa -P -TKC -Ndbname.%.%.PK%
或:
ddlgen -Usa -P -TKC -N%.%.PK% -Ddbname
示例 23 (逻辑键) LK 生成由 sp_primarykey、 sp_commonkey、 sp_foreignkey 语句定义的表的逻辑键。由于这些键没有名称,在此情况 下对象的名称将作为表名称。此示例为名为 HARBOR 的计算机 (使用 端口 1955)上运行的 pubs2 数据库中的表作者的逻辑键生成 DLL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TLK -Npubs2.dbo.authors
若要为数据库 pub2 中的所有逻辑键生成 DDL,请使用:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TLK -Npubs2.%.%
若要从表作者的 DLL 中过滤出在 -F 参数中使用 LK 的逻辑键定义,请 使用:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TLK -Npubs2.dbo.authors -FLK
示例 24 (登录名) TL 为一个登录名或所有登录名生成 DDL。本例为名 为 HARBOR 的计算机 (使用端口 1955)中的所有登录名生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TL -N%
注释 为所有登录名生成的 DDL 中的口令为 “password”。 或者,也可以使用 -N username 代替 -N% 来指定单个登录名:
ddlgen -Ulogin -Ppassword -Sserver:port -TL -Nusername
如果已经为登录名指定了服务器范围的口令复杂程度选项,则会首先生 成所有 sp_addlogin 和 sp_loglogin DDL 语句,然后再生成用于口令选项的 DDL 语句。此示例为名为 HARBOR 的计算机 (使用端口 1955)中的 登录名 “george”生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TL -Ngeorge
示例 25 (远程服务器)为名为 HARBOR 的计算机 (使用端口 1955) 上的 ORANGE 远程服务器生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TRS -NORANGE
为所有远程服务器生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TRS -N%
示例 26 (角色)为名为 HARBOR 的计算机 (使用端口 1955)上的 sa_role 生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TRO -Nsa_role
为所有角色生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TRO -N%
注释 为所有角色生成的 DDL 中的口令为 “password”。
示例 27 (规则)为名为 HARBOR 的计算机 (使用端口 1955)上与
authors 相关联的所有规则生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TR -Nauthors.dbo.%
% 符号指示 ddlgen 为服务器上存在的所有规则都创建 DDL。 您还可以给出规则的全限定名:
ddlgen -Ulogin -Ppassword -Sserver:port -TR -Ndbname.owner.rulename
或者,也可以使用 -D 参数:
ddlgen -Ulogin -Ppassword -Sserver:port -TR -Nowner.rulename -Ddbname
示例 28 (段)通过在 -N 选项中使用完全限定的 dbname . segmentname 格 式,为名为 HARBOR 的计算机 (使用端口 1955)上 pubs2 数据库的 logsegment 段生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TSGM -Npubs2.logsegment
或者,可以使用 -D 选项指定 dbname:
ddlgen -Ulogin -Ppassword -Sserver:port -TSGM -Nsegmentname -Ddbname
为所有段生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TSGM -Ndbname.%
示例 29(SQLJ 函数)为 master 数据库中 dbo 所拥有的 region_of 的 SQLJ
函数生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TF –Nmaster.dbo.region_of
或者,也可以使用 -D 参数:
ddlgen -Ulogin -Ppassword -Sserver:port -TF –Ndbo.region_of –Dmaster
若要为数据库中的所有 SQLJ 函数生成 DDL,可使用对象类型 F:
ddlgen -Ulogin -Ppassword -Sserver:port -TF –Ndbname.owner.%
示例 30 (SQLJ 过程)是一种存储过程。在为 SQL 过程生成 DDL 的同 时将为存储过程生成 DDL。下面的命令将为 master 数据库中 dbo 所拥有 的所有存储过程 (包括 SQLJ 过程)生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TP –Nmaster.dbo.%
要为 master 数据库中仅由 dbo 所拥有的所有 SQLJ 过程生成 DDL,请使 用下面的命令,其中扩展类型 OD 指的是 SQLJ 过程:
ddlgen -Ulogin -Ppassword-Sserver:port -TP –Nmaster.dbo.% -XOD
要为 master 数据库中 dbo 所拥有的除 SQLJ 过程之外的所有过程生成 DDL,请使用下面的命令,其中扩展类型 OU 指的是除 SQLJ 过程外的 所有存储过程:
ddlgen -Ulogin -Ppassword-Sserver:port -TP –Nmaster.dbo.% -XOU
示例 31 (存储过程)通过对 -N 选项使用完全限定的 dbname . owner . procedure_name 格式,为名为 HARBOR 的计算机 (使用 端口 1955)上 pubs2 数据库的 sp_monitor 存储过程生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TP -Npubs2.dbo.sp_monitor
或者,可以使用 -D 选项指定 dbname:
ddlgen -Ulogin -Ppassword -Sserver:port -TP -Nowner.procedurename -Ddbname
为所有存储过程生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TP -Ndbname.owner.%
示例 32 (启用 SSL 的服务器)为名为 HARBOR 的计算机 (使用端口 1955)上运行的、启用 SSL 的 Adaptive Server 的 pubs2 数据库中的对象 生成 DDL:
ddlgen -Uroy -Proy123 -Sssl:HARBOR:1955 -TDB -Npubs2
示例 33 (表)为名为 HARBOR 的计算机 (使用端口 1955)上运行的、 “dbo”所拥有的 pubs2 数据库中的所有用户表生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TU -Ndbo.% -Dpubs2
您也可以使用 -N 参数给出表的全限定名:
ddlgen -Ulogin -Ppassword -Sserver:port -TU
-Ndbname.tableowner.tablename
或者,也可以使用 -D 参数指定数据库:
ddlgen -Ulogin -Ppassword -Sserver:port -TU
-Ntableowner.tablename -Ddbname
若要为所有代理表生成 DDL (使用值 OD),请改用 -XOD,其中 X 是扩 展类型, OD 表示代理表:
ddlgen -Ulogin -Ppassword -Sserver:port -TU
-Ntableowner.% -Ddbname -XOD
若要为所有用户表生成 DDL (使用值 OU),请改用 -XOU,其中 X 是扩 展类型, OU 表示用户表:
ddlgen -Ulogin -Ppassword -Sserver:port -TU
-Ntableowner.% -Ddbname -XOU
为包括用户表和代理表在内的所有表生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TU -Ndbname.tableowner.%
示例 34 (触发器)通过对 -N 选项使用完全限定的 dbname . owner . trigger_name 格式,为名为 HARBOR 的计算机(使用端口 1955)上 pubs2 数据库的 checksum 触发器生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TTR -Npubs2.dbo.checksum
或者,可以使用 -D 选项指定 database_name:
ddlgen -Ulogin -Ppassword -Sserver:port -TTR
-Nowner.triggername -Ddbname
也可以使用以下格式为表的某一触发器生成 DDL:
-Ndb_name.table_owner.table_name.trigger_name
为数据库的所有触发器生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TTR -Ndbname.owner.%
也可以使用以下格式为表的所有触发器生成 DDL:
-Ndb_name.table_owner.table_name.%
注释 为表的所有触发器生成 DDL 时,不能使用 -D 参数。
示例 35 (用户定义的数据类型)通过对 -N 选项使用完全限定的 dbname . userdefined_datatype 格式,为名为 HARBOR 的计算机 (使用端 口 1955)上 pubs2 数据库的用户定义数据类型 “Identype”生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TUDD -Npubs2.Identype
或者,可以使用 -D 选项来指定 dbname:
ddlgen -Ulogin -Ppassword -Sserver:port -TUDD
-Nuserdefined_datatype -Ddbname
为所有用户定义的数据类型生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TUDD -Nbname.%
示例 36 (视图)通过对 -N 选项使用完全限定的 dbname . owner . viewname 格式,为名为 HARBOR 的计算机 (使用端口 1955)上运行的 pubs2 数 据库中 Miller 所拥有的 retail 视图生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TV -Npubs2.miller.retail
或者,可以使用 -D 选项来代替使用全限定名:
ddlgen -Ulogin -Ppassword -Sserver:port -TV -Nowner.viewname -Ddbname
为所有视图生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TV -Ndbname.owner.%
示例 37 (用户)通过对 -N 选项使用完全限定的 dbname . username 格式, 为名为 HARBOR 的计算机 (使用端口 1955)上运行的 pubs2 数据库中 的用户 Smith 生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1955 -TUSR -Npubs2.smith
或者,可以使用 -N 和 -D 选项来代替在 -N 中使用全限定名:
ddlgen -Ulogin -Ppassword -Shost_name:port -TUSR -Nusername -Ddbname
为所有用户生成 DDL:
ddlgen -Ulogin -Ppassword -Sserver:port -TUSR -Ndbname.%
示例 38 (逻辑集群)为服务器 “ase1”上的 “my_lcluster”生成
DDL,用户应输入:
ddlgen -Usa -P -Sase1 -TLC -Nmy_lcluster
示例 39 (逻辑集群)为服务器 “ase1”上的所有逻辑集群生成 DDL, 用户应输入:
ddlgen -Usa -P -Sase1 -TLC -N%
示例 40 (用户定义的 Web 服务)通过对 -N 和 -T 选项使用完全限定的
dbname.username.webservice_name 格式,为在名为 HARBOR 的计算机
(使用端口 1995)上运行的 pubs2 数据库中用户定义的指定 Web 服务
sp_who_service 生成 DDL:
ddlgen -Uroy -Proy123 -SHARBOR:1995 -TWS
-Npubs2.dbo.sp_who_service
为指定的用户定义的 Web 服务生成 DDL 的语法如下所示:
ddlgen -Ulogin -Ppassword -Shost_name:port -TWS
-Ndbname.owner.webservice_name
为数据库 dbname 中所有用户拥有的所有用户定义的 Web 服务生成 DDL:
ddlgen -Ulogin -Ppassword -Shost_name:port -TWS -Ndbname.%.%
注释 仅在为所有用户定义的 Web 服务或数据库生成 DDL 时,才会生 成 sp_webservices 'addalias' 语句。
用法 • ddlgen 不识别视图、存储过程或触发器中的现有序列。因此,如果 为数据库生成 DDL,则在对具有依赖性的视图、存储过程和触发器 运行 ddlgen 之前,必须先对这些独立的项目运行 ddlgen。例如,如 果视图 B 依赖于视图 A,那么必须先对视图 A 运行 ddlgen,然后再 对视图 B 运行该命令。
• ddlgen 的缺省信息是:
选项 |
参数 |
必需 |
缺省值 |
-U |
username |
是 |
无 |
-P |
password |
是 |
无 |
-S |
host_name:port_number |
是 |
无 |
-T |
object_type 请参见用于一系列有效对象类型的 -T 参数 说明 |
否 |
数据库 |
-N |
object_name |
是,如果 -T 的 object_type 不是 DB (数据库) |
username 的缺省数据库 名,如果 -T object_type 是 db 或如果没有指定 -T |
-D |
database_name |
否 |
username 的缺省数据库 |
-X |
extended_object_type |
否;仅在 -T 的 |
无 |
选项有: • OU – 用于用户表、用户数据库 (不包 括临时数据库)和存储过程 (不包括 |
object_type 为以下对 象时才使用: • U (用户表) |
||
SQLJ 过程)。 |
• P (过程) |
||
• OD – 用于代理表、临时数据库和 |
• DB (数据库) |
||
SQLJ 过程。 |
|||
-O |
output_file_name |
否 |
标准输出 |
-E |
error_file_name |
否 |
标准输出 |
-L |
log_file_name |
否 |
无 |
-V |
ddlgen的 version_number |
否 |
无 |
• 在命令行中,使用包括在 Adaptive Server 安装中的 ddlgen shell 脚本 文件 (Windows 中的 ddlgen.bat)来调用 ddlgen。 DDLGen.jar 中的 主类是 com.sybase.ddlgen.DDLGenerator。
• 在 Adaptive Server 的 Sybase Central 插件中启动 ddlgen:
a 右键单击要为其生成 DDL 的对象。
b 选择 Generate DDL。
• 在 create table 的输出 DDL 中,绑定语句作为独立 DLL 而不是相关
DLL 生成。
下节提供有关以下内容的详细信息:
隐藏 ddlgen 中的口令
当您在 UNIX 命令行环境中发出 ddlgen 实用程序命令时,该 UNIX 计算 机上的其他用户会看到 ddlgen 命令。如果这些用户发出 ps 进程管理命 令 (显示该计算机上运行的进程的状态),则他们还会看到该命令的口 令。
使用 ddlgen -P 口令参数选项,您可以从脚本调用 ddlgen,这样便可向其 他用户隐藏口令。
要实现此目的,请将 $PSWD 环境变量设置为指向 Adaptive Server 登录 口令,并在 -P 参数中包括字符串 “ext”。 ext 充当伪口令,以便您在下 一脚本行中提供实际口令。在命令行或 Bourne shell 脚本中设置
$PSWD,但不要从 C-shell 中设置。
使用 $PSWD 运行 ddlgen:
1 设置 $PSWD 环境变量:
setenv PSWD pass_word
2 运行 ddlgen:
ddlgen -Ulogin -Pext -Sserver:port -Ttype -Nname << END
$PSWD END
如果您希望将口令保存在文件中,请将 $PSWD 替换为 'cat filename ',其 中 filename 是口令文件的位置。例如:
ddlgen -Ulogin -Pext -Sserver:port -Ttype -Nname << END 'cat filename'
END
将 ddlgen 用于加密列
• ddlgen 实用程序支持早于 15.0.2 的加密。早于 15.0.2 的 ddlgen 支持 包括为数据库中的加密密钥生成 DDL,以及生成用于在服务器之间 同步加密密钥的 DDL。
如果在 Adaptive Server 15.0.2 版或更高版本中使用 ddlgen 为加密密 钥生成 DDL,则该 DDL 可能会导致在版本早于 15.0.2 的 Adaptive Server 上出现错误,特别是加密密钥通过用户指定的口令进行加密 或具有密钥副本时更是如此。
• 表示加密密钥的 EK 类型可生成用于创建加密密钥并向其授权权限 的 DDL。 ddlgen 可生成加密列信息和 grant decrypt 语句以及表定义。
• 如果未指定 -XOD 选项,并且已使用 with passwd 子句在源数据库中 创建了要迁移的密钥,则 ddlgen 会生成 create encryption key 命令, 该命令使用 password 作为其显式口令。这与 ddlgen 处理角色和登录 口令的方法相同。
• -XOD 生成 create encryption key,该语句指定用 sysencryptkeys 表示的 密钥加密值。在移动数据时使用 -XOD 可在服务器之间同步加密密钥。
ddlgen -XOD 可生成包含系统加密口令 (如果已设置系统加密口令 并为使用系统加密口令加密的密钥生成 DDL)的 DDL 以及密钥的 DDL。
❖ 生成 DDL 而不指定 -XOD 标志
• 如果用户未在 ddlgen 中指定 -XOD 标志,则会发生以下两种情况:
• 创建加密密钥时,如果用户未指定口令, ddlgen 将生成不带口 令的 DDL。
• 最初创建加密密钥时,如果用户指定了口令, ddlgen 将生成缺 省口令 “password”。这与 ddlgen 处理角色和登录口令的方法 相似,其输出类似以下内容:
-------------------------------------------------------------------
-- DDL for EncryptedKey 'ssn_key'
-------------------------------------------------------------------
print 'ssn_key'
--The DDL is generated with a default password – 'password' as
--a password was specified when this key was created.
create encryption key SampleKeysDB.dbo.ssn_key for AES with keylength 128
passwd 'password' init_vector random go
❖ 生成带有 -XOD 标志的 DDL
• 当用户在 ddlgen 命令中指定 “-XOD”时, ddlgen 将生成包含系统 加密口令的 DDL (如果已设置系统加密口令并为使用系统加密口 令加密的密钥生成 DDL)和密钥的 DDL。
以下语法将生成系统加密口令:
ddlgen -Usa -P -Sserver -TEK -NsampleKeysdb.dbo.ek1 -XOD
该命令的输出为:
-- System Encryption Password
use SampleKeysDB go
sp_encryption 'system_encr_passwd', '0x8e050e3bb607225c60c7cb9f59124e99866ca22e677b2cdc9a4d09775850f4721',
NULL, 2, 0
go
-----------------------------------------------------------------------
-- DDL for EncryptedKey 'ek1'
-----------------------------------------------------------------------
print '<<<<< CREATING EncryptedKey - "ek1" >>>>>' go
create encryption key SampleKeysDB.dbo.ek1 for AES with keylength 128
passwd 0x0000C7BC28C3020AC21401
init_vector NULL keyvalue
0xCE74DB1E028FF15D908CD066D380AB4AD3AA88284D6F7742DFFCADCAABE4100D01
keystatus 32 go
注释 在使用 ddlgen 将密钥从源服务器迁移到目标服务器时,如果 要为使用 “-XOD”参数生成的加密密钥运行 ddlgen 输出 (在源服 务器中),请在目标服务器中将系统加密口令设置为 NULL (如果 存在)。否则,在尝试针对目标服务器执行 ddlgen 输出时,将出现 错误。
密钥副本支持 ddlgen 实用程序还可为密钥副本以及基本密钥生成 DDL。 例如,以下语法将为 “ssn_key”及其密钥副本生成 DDL:
ddlgen -Usa -P -Sserver -TEK -NSampleKeysDB.dbo.ssn_key
ddlgen 的输出如下所示:
-----------------------------------------------------------------------------
-- DDL for EncryptedKey 'ssn_key'
-----------------------------------------------------------------------------
print 'ssn_key'
--The DDL is generated with a default password – 'password' as
--a password was specified when this key was created.
create encryption key SampleKeysDB.dbo.ssn_key for AES with keylength 128
passwd 'password' init_vector random go
print 'Key Copies for ssn_key'
-- Generating DDL for Key Copies for 'ssn_key' alter encryption key 'ssn_key'
with passwd 'password'
add encryption with passwd 'passwd' for user 'dbo'.
如果包含 -XOD 标志,则密钥副本的 DDL 如下所示:
alter encryption key SampleKeysDB.dbo.ssn_key add encryption with keyvalue
0x84A7360AA0B28801D6D4CBF2F8219F634EE641E1082F221A2C58C9BBEC9F49B501 passwd 0x000062DF4B8DA5709E5E01
keystatus 257 for user 'user1' go
EKC 加密密钥副本过 滤器
在 Adaptive Server 15.0.2 中,ddlgen 可支持 -F 过滤器参数的 EKC (加密 密钥副本)扩展类型,以禁止为加密密钥生成密钥副本。
在为 “ssn_key”加密密钥生成 DDL 时,以下示例使用 -FEKC 来避免为 密钥副本创建 DDL:
ddlgen -Usa -P -Sserver -TEK -NSampleKeysDB.dbo.ssn_key -FEKC
ddlgen 的输出如下所示:
--------------------------------------------------------------------------
-- DDL for EncryptedKey 'ssn_key'
--------------------------------------------------------------------------
print 'ssn_key'
--The DDL is generated with a default password – 'password' as
--a password was specified when this key was created.
create encryption key SampleKeysDB.dbo.ssn_key for AES with keylength 128
passwd 'password' init_vector random go
创建表 DDL ddlgen 可以生成 decrypt_default 语句 (如果已对加密列进行设置)以及 表的 DDL。
以下示例对名为 employee 的表发出 ddlgen 命令,该表具有一个 “ssn” 列,该列使用加密密钥 “ssn_key”进行加密,其解密缺省值设置为 “100”:
ddlgen -Usa -P -Sserver -TU -Nemployee
该命令的 DDL 输出为:
create table employee (
ssn int not null encrypt with ssn_key decrypt_default
last_name |
int |
not |
null , |
first_name |
int |
not |
null |
last_name |
int |
not |
null , |
first_name |
int |
not |
null |
100 ,
)
lock allpages on 'default'
go
权限 若要为以下对象生成 DDL,用户必须具有 sa_role 或 sso_role:
• 加密密钥
• 登录名
• 角色 对于所有其它对象,用户无需任何特定权限或角色即可生成 DDL。
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。+-------------------------------------华丽的分割线-------------------------------------------------------------------------