提供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_encryption

说明 报告加密信息。

语法 sp_encryption help | helpkey

sp_encryption help | helpkey [, key_name | wildcard] [, all_dbs | key_copy | display_cols]

sp_encryption help | 'helpkey',

{'master'|'dual master'} [, 'display_keys' | 'all_dbs' sp_encryption 'help'[, 'servicekeyname '[, 'display_objs']] sp_encryption 'helpextpasswd'

sp_encryption helpcol [, table_name | column_name ]

sp_encryption helpuser [, user_name | wildcard ][, key_copy | login_passwd_check ]

sp_encryption 'mkey_startup_file'[, {'new_path' | 'default_location' | 'null'} [, {sync_with_mem | sync_with_qrm}]]

sp_encryption 'downgrade_kek_size' [, 'true'|'false'] sp_encryption system_encr_passwd, 'newpasswd' [,'oldpasswd']

参数 helpkey

列出加密密钥属性,包括:

数据库是否包含加密密钥。

以下属性 (由具有 sso_role 的用户、密钥管理者或 DBO 运行 时):密钥名称、密钥所有者、密钥长度、密钥算法、密钥类 型、 pad、初始化矢量、用于加密密钥的口令类型、是否已启用 密钥恢复以及密钥副本的计数。输出按 owner.key_name 排序。当 由非特权用户运行时,此命令会列出密钥名称、密钥所有者和密 钥类型。


help

包含该参数以用于向后兼容。包含与 helpkey 相同的输出

key_name

要调查的密钥的名称。列出为 key_name 定义的属性。如果省略

key_name,则会列出所有密钥的属性。

wildcard

列出当前数据库中与通配符模式匹配的密钥的属性。有关通配符使用 的信息,请参见 《参考手册:构件块》。

all_dbs

列出所有可用数据库中加密密钥的信息。只有 SSO 可以运行 all_dbs


key_copy 列出当前数据库中指定密钥的所有用户副本。输出按 key_owner.key_name 排序。包括以下内容的相关信息:

基本密钥所有者。

密钥副本是否为恢复密钥副本。

副本所属的用户。

是否使用用户加密口令、登录口令或系统加密口令加密副本以用 于登录关联 (由登录访问权限指定)。

login_passwd_check 指示分配至匹配用户的密钥副本是否与用户登录口令充分同步。即密 钥副本的最后更新日期要比登录口令日期晚。密钥副本使用用户的登 录口令或登录关联进行加密。

display_keys

system_encr_passwd 一起使用,以显示使用系统加密口令加密的密 钥和密钥副本。与 master dual master 一起使用,以显示使用主密钥 或双主密钥加密的密钥和密钥副本。

您必须是系统安全员、密钥管理者或数据库所有者,才能运行

sp_encryption helpkey, master | 'dual master', display_keys

以显示受主密钥或双主密钥保护的加密密钥。

display_cols

显示密钥名称、当前数据库中的所有密钥 (或与通配符匹配的密钥) 以及密钥加密的列。当 SSO 包括 display_cols 时,它会显示所有可用 数据库中由密钥加密的列。当没有 sso_role 的用户运行 display_cols 时,仅显示当前数据库中由密钥加密的列。数据按 key_namekey_ownerdatabase_nametable_ownertable_name

column_name 排序。

master

报告有关主密钥的信息。

dual master

报告有关双主密钥的信息。

servicekeyname

设置为 syb_extpasswdkey syb_syscommkey%。与 display_objs 一起使 用,以显示用服务密钥加密的对象。


display_objs

显示对象所有者。

您必须是系统安全员、密钥管理者或数据库所有者,才能运行 sp_encryption helpkey, keyname, display_objs 以显示当前数据库中受 syb_extpasswdkey syb_syscommkey 服务密钥保护的对象。

helpextpasswd

显示状态列中的外部口令的加密状态。加密状态为以下状态之一:

FIPS 加密”(FIPS Encryption) – 口令由 syb_extpasswdkey 服务密 钥使用与 FIPS 兼容的密码术算法进行保护。

“需要重置” (Needs Reset) – 指示系统删除了口令,您必须手动 重置它。

“旧式加密” (Legacy Encryption) – 口令是使用低于 15.7 版的

Adaptive Server 中的算法保护的。

您必须是系统安全员才能运行 sp_encryption helpextpasswd,以检查外 部口令的状态。

helpcol column_name

显示列名以及用于加密列的密钥。如果 SSO 包括 helpcol,则即使密 钥不存在于当前数据库中,它也会输出该密钥的名称。如果非 SSO 用户包括 helpcol,则当密钥不存在于当前数据库中时, Adaptive Server 会输出密钥的 keyid,而省略 key_name。输出包括: owner . table . columndatabase . owner . keyname。该信息按 owner . table . column 排序。

helpuser

显示当前数据库中用户所拥有的或分配给当前数据库中用户的密钥。

mkey_startup_file

显示或设置主密钥启动文件名和路径。 sp_encryption 将主密钥启动文 件设置为 new_path 或缺省位置。如果指定 null 或不指定任何位置,则 sp_encryption 会显示当前主密钥启动文件名和路径。

sync_with_mem

(仅限 Cluster Edition)将服务器内存中存在的主密钥加密密钥写入主 密钥启动文件中。替换当前主密钥加密密钥 (如果存在)。如果 automatic master key access 设置为 off,则 sync_with_mem 也会被禁用。

您必须是系统安全员才能显示、设置或同步主密钥启动文件。

sync_with_qrm

将本地主密钥启动文件更新为仲裁设备中的版本。 您必须是系统安全员才能显示、设置或同步主密钥启动文件。


downgrade_kek_size

显示或设置 downgrade kek size 配置。 true 指示 Adaptive Server 处于

downgrade kek size 模式, false 则会禁用此模式。

如果不指定任何参数, sp_encryption 会显示 downgrade_kek_size 的当 前值。

您必须是系统安全员或密钥管理者才能运行此命令。

system_encr_passwd

显示当前数据库中使用系统加密口令加密的密钥和密钥副本。

system_encr_passwd, all_dbs 在设置系统加密口令的每个数据库中显示该口令的属性。输出按数据 库名称排序。只有系统安全员能够运行此命令。如果未为所有数据库 设置系统加密口令, Adaptive Server 将生成消息 19782

The system encryption password has not been set for all available databases

示例 示例 1 使用 helpkey 参数显示当前数据库中的密钥信息。可以获取有关所 有密钥或特定密钥的信息。 sp_encryption 的第二个参数提供密钥名称, 可包含与 SQL 模式匹配的字符。如果您不是数据库所有者,也不具有 sso_role keycustodian_rolesp_encryption 将显示较少的列。

当由 SSO、密钥管理者或 DBO 运行时,这会显示当前数据库中所有基 本加密密钥的属性:

sp_encryption helpkey

Key Name Key Owner Key Length Key Algorithm Key Type Pad Init Vector Protected By Key Recovery # of Key Copies

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

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

tinnap_key tinnap 128 AES symmetric key 0

1 system encryption password 0 0

tinnap_key1 tinnap 128 AES symmetric default key 0

1 user Passwd 1 3

sample_key1 dbo 192 AES symmetric key 1

1 login Passwd 1 2

当由用户 “tinnap”运行时,这会显示当前数据库中所有基本加密密钥 的下列属性:

sp_encryption helpkey

Key Name

Key Owner

Key Type

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

---------

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

tinnap_key

tinnap

symmetric

key

tinnap_key1

tinnap

symmetric

default key

sample_key1

dbo

symmetric

key


如果您不是系统安全员,也不具有 keycustodian_role,查询将显示您在 当前数据库中拥有的所有基本密钥。如果未将 user_name 指定为第二个 参数,查询将显示您拥有的基本密钥。

示例 2 当由 SSO、密钥管理者或 DBO 在当前数据库中运行时,会显示 基本加密密钥 sample_key1 的属性:

sp_encryption helpkey, sample_key1

Key Name Key Owner

Key Length Key Algorithm

Key Type

Pad Init Vector

Protected By Key Recovery

# of Key Copies

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

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

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

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

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

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

sample_key1 dbo

192 AES

symmetric Key

1 1

Login 1

2

当非特权用户 “tinnap”运行此命令时,它会显示当前数据库中基本加 密密钥 sample_key1 的以下属性:

sp_encryption helpkey, sample_key1

Key Name

Key Owner

Key Type

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

-----------

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

sample_key1

dbo

ymmetric key


示例 3 显示所有可用数据库中所有基本加密密钥的属性(只有 SSO 才能 运行此命令):

sp_encryption helpkey, NULL, all_dbs

Db.Owner.Keyname Key Length Key Algorithm Key Type

Pad Init Vector Protected By Key Recovery # of Key Copies

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

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

keydb.dbo.cc_key 256 AES symmetric default key

1 1 system encr passwd 0 0

keydb.dbo.sample_key1 128 AES symmetric key

0 0 system encr passwd 1 4

keydb1.tinnap.tinnap_key 128 AES symmetric key

0 1 system encr passwd 0 0

keydb1.tinnap.tinnap_key1 128 AES symmetric default key

0 1 user password 1 3

keydb1.dbo.sample_key1 192 AES symmetric key

1 1 login passwd 1 2


示例 4 all_dbs 指示需要所有数据库的密钥信息。您必须具有 sso_role 才 能使用 all_dbs 参数。

显示所有可用数据库中与 %key 相似的所有基本加密密钥的属性:

sp_encryption helpkey, '%key', all_dbs

Db.Owner.Keyname Key Length Key Algorithm Key Type

Pad Init Vector Protected By Key Recovery # of Key Copies

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

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

keydb.dbo.cc_key 256 AES symmetric default key

1 1 system encr passwd 0 0

keydb1.tinnap.tinnap_key 128 AES symmetric key

0 1 system encr passwd 0 0


示例 5 当由 SSO、密钥管理者或 DBO 运行时,显示当前数据库中名称 与 “tinnap%”相似的所有基本加密密钥的属性:

sp_encryption helpkey, "tinnap%"

Key Name Key Owner Key Length Key Algorithm Key Type

Pad Init Vector Protected By Key Recovery # of Key Copies

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

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

tinnap_key tinnap 128 AES symmetric key

0 1 system encr passwd 0 0

tinnap_key1 tinnap 128 AES symmetric default key

0 1 user passwd 1 3


当由用户 “tinnap”运行时,会显示当前数据库中名称与 “tinnap%” 相似的加密密钥的以下属性:

sp_encryption helpkey, "tinnap%"

Key Name Key Owner Key Type

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

tinnap_key tinnap symmetric key tinnap_key1 tinnap symmetric default key


示例 6 通过将 key_copy 用作第三个参数显示有关密钥副本的信息。为第 二个参数的 keyname 输入空值而非具体值,可查看有关所有密钥副本的 信息。可在 keyname 中使用与模式匹配的字符 (请参见前面的示例):

sp_encryption helpkey, tinnap_key1, key_copy

Owner.Keyname

Assignee

Protected by

Key Recovery

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

---------

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

----------


tinnap.tinnap_key1

joesmp

user

passwd

0

tinnap.tinnap_key1

samcool

user

passwd

1

tinnap.tinnap_key1

billyg

user

passwd

0


当由用户 “joesmp”运行时,这会显示当前数据库中分配给用户 “joesmp”的所有加密密钥副本,并且如果该用户是该密钥的所有者, 则还会显示该密钥名称的所有密钥副本:

sp_encryption helpkey, tinnap_key1, key_copy

Owner.Keyname

Assignee

Protected by

Key Recovery

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

---------

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

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

tinnap.tinnap_key1

joesmp

user passwd

0

示例 7 使用 display_cols 参数可显示所有可用数据库中用当前数据库的密 钥加密的所有加密列。如果您不具有 sso_role,查询仅显示当前数据库 中由当前数据库中的密钥加密的加密列。可使用模式匹配的字符或 key_name 作为第二个参数。如果将 key_name 的模式匹配字符用作 sso_role,查询将显示所有可用数据库中由模式匹配的 key_name 加密的 所有加密列。如果使用 key_name 作为第二个参数,并且您具有 sso_role,将显示所有可用数据库中由指定 key_name 加密的所有加密列:

sp_encryption helpkey, null, display_cols

Key Name

Key Owner

Database Name

Table Owner

Table Name

Column Name

----------

---------

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

----------

----------

----------

tinnap_key

tinnap

testdb1

tinnap

t3

c3

tinnap_key1

tinnap

testdb1

tinnap

t4

c4

sample_key1

dbo

coldb

dbo

t1

c1

sample_key1

dbo

coldb

billyg

t2

c2


示例 8 显示当前数据库中使用系统加密口令加密的所有密钥和密钥副 本。如果您不具有上述特权,查询将显示由用户拥有或分配给相应用户 的使用系统加密口令加密的密钥:

sp_encryption helpkey, system_encr_passwd, display_keys

Owner.Keyname

Assignee

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

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

dbo.cc_key

NULL

dbo.sample_key1

NULL

dbo.sample_key1

tinnap


示例 9 在由数据库所有者或具有 keycustodian_role sso_role 的用户运行 时, helpuser 参数会显示当前数据库中由用户拥有的所有基本密钥。

sp_encryption helpuser


Owner.Keyname Protected by

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

tinnap.tinnap_key system encr passwd

tinnap.tinnap_key1 user passwd

dbo.sample_key1 login passwd


如果用户 “tinnap”运行此命令,则会列出当前数据库中由此用户所拥 有的所有基本密钥:

sp_encryption helpuser

Owner.Keyname Protected by

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

tinnap.tinnap_key system encr passwd

tinnap.tinnap_key1 user passwd

示例 10 数据库所有者或具有 keycustodian_role sso_role 的用户可结合 使用 key_copy helpuser 参数显示当前数据库中分配给一个或多个用户 的密钥副本。可在 user 参数中使用模式匹配的字符。此查询显示当前数 据库中所有用户的密钥副本:

sp_encryption helpuser, NULL, key_copy

Owner.Keyname Assignee Protected by Key Recovery

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

dbo.sample_key1 tinnap login passwd 0

tinnap.tinnap_key1 joesmp user passwd 0

dbo.sample_key1 joesmp login passwd 1

tinnap.tinnap_key1 samcool user passwd 1

tinnap.tinnap_key1 billyg user passwd 0


如果您不是数据库所有者,也不具有 keycustodian_role sso_role,此查 询将显示您拥有的所有密钥的副本,以及其他密钥所有者分配给您的密 钥副本。例如,当用户 “tinnap”运行此查询时:

sp_encryption helpuser, NULL, "key_copy"

Owner.Keyname Assignee Protected by Key Recovery

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

dbo.sample_key1 tinnap login passwd 0

tinnap.tinnap_key1 joesmp user passwd 0

tinnap.tinnap_key1 samcool user passwd 1

tinnap.tinnap_key1 billyg user passwd 0

示例 11 如果您是数据库所有者或是具有 keycustodian_role sso_role 的 用户, helpcol 将显示当前数据库中的所有加密列以及用于加密列的密 钥。如果您不具有上述特权,则当加密密钥位于其它数据库中时, helpcol 将显示 keyid 而非 key_name


sp_encryption helpcol

Owner.Table.Column Db.Owner.Keyname

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

dbo.t1.c1 keydb1.dbo.sample_key1

billyg.t2.c2 keydb.dbo.sample_key1

tinnap.t3.c3 coldb.dbo.sample_key2


示例 12 如果将 helpcol 参数与 table_name column_name 参数结合使用, 将显示给定表中的所有加密列或特定加密列。当由具有 sso_role 的用户 运行时,以下查询将显示当前数据库中表 t3 中的所有加密列,以及用于 在所有可用数据库中加密列的密钥。在由不具有 sso_role 的用户运行 时,如果密钥不在当前数据库中,此查询将显示该密钥的 ID 而非其名 称。第二个参数可具有 [ database_name .][ table_name .][ column_name ] 的 组合:

sp_encryption helpcol, t3

Owner.Table.Column Db.Owner.Keyname

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

tinnap.t3.c3 coldb.dbo.sample_key2

示例 13 显示每个数据库中的系统加密口令属性(您必须具有 sso_role 才 能运行此查询):

sp_encryption helpkey, system_encr_passwd, all_dbs

Database

Type of system_encr_passwd

Last modified by

Date

--------

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

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

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

master

persistent

sa

Aug 26 2008 10:05AM


示例 14 显示当前数据库中所有使用主密钥加密的加密密钥 (您必须具 有 sso_rolekeycustodian_role 或是数据库所有者,才能运行此查询):

sp_encryption helpkey,'master',display_keys Owner.Keyname Assignee

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

user1.key_dual NULL

user1.key_mst NULL

user4.key_dC_pwd NULL

user4.key_dC_pwd user5

user4.key_dC_pwd user6 user4.key_dC_pwd KC_tdb1


示例 15 显示为当前服务器配置的当前主密钥启动文件的名称和位置:

sp_encryption mkey_startup_file

Msg 19956, Level 16, State 1:Procedure 'sp_encryption', Line 298:The current master key startup file


is:'/sybase/release/ASE- 150/init/ase_encrcols_mk_l157.dat'.

示例 16 显示用密钥 syb_syscommkey_123456 加密并被 user1 user2 拥有 的三个存储过程:

sp_encryption helpkey, "syb_syscommkey%", display_objs

Key Name Key Owner Database Name Object owner Object Name

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

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

syb_syscommkey_1234567890ab dbo testdb user1 sp_mysproc1

syb_syscommkey_abcdefghijkl123456 dbo testdb user1 sp_mysproc2_

syb_syscommkey_ABCDEF123456 dbo testdb user2 sp_mysproc3


用法 向运行 sp_encryption 的用户授予的特权将决定输出的内容。有关详 细信息,请参见 306 页上的 “使用限制

如果运行 sp_encryption helpkey 并且数据库中没有密钥,则会显示一 条信息性消息。

必须指定 key_copy 参数,才可获取有关密钥副本的信息。如果未指 定 key_copy 参数,则 sp_encryption 仅返回有关基本密钥的信息。

如果 sp_encryption helpkey, keyname, key_copy 中的 keyname NULL,则它会为 SSO、密钥管理者或 DBO 列出当前数据库中的所 有密钥副本。如果没有特权的用户运行此命令,则它会列出当前数 据库中分配给该用户的所有密钥副本,以及当前数据库中该用户所 拥有密钥的所有密钥副本。

对于 sp_encryption helpcol column_name 使用 name.name.name格式, 其中:

name – 如果 sp_encryption 找不到此名称的表,则它会查找具有 此名称的所有列。

name.name – 为 owner.table。如果 sp_encryption 找不到此名称的 表,则会查找名称为 table.column 的单个列。

name.name.name – 为 owner.table.name

对于当前数据库中由这些规则确定的所有列, sp_encryption 会显示 列名以及用于加密列的密钥。


sp_encryption helpcol column_name 的输出为 owner.table.column db.owner.keyname。当由非 SSO 用户运行时, keyname 表示为 database.keyid,并且密钥存在于与加密列不同的数据库中。结果集 按 owner.table.column 排序。

使用限制

只有 SSO 才能运行 sp_encryption helpkey [, keyname | wildcard], all_dbs , 以获取所有数据库中密钥的属性。如果不具有 sso_role 的用户运行 此命令,则他们会收到 “unauthorized user”的错误消息。如果密钥 没有限定 keyname wildcard,则 Adaptive Server 会返回一条消息, 指出" There are no encryption keys (key copies) like keyname in all databases "

SSO 运行 sp_encryption helpkey, keyname, display_cols 时,它会列出 所有可用数据库中由 keyname 加密的所有列。如果没有特权的用户 运行此命令,则它会列出当前数据库中由 keyname 加密的列。

如果 SSO 运行 sp_encryption helpkey, keyname, display_cols 并且 keyname 值为 NULL,则它会显示所有可用数据库中的所有加密列。 当没有特权的用户运行此命令时,它会显示当前数据库中的所有加 密列。

如果 SSO、密钥管理者或 DBO 在没有为 helpuser 参数指定 user_name key_copy 的情况下运行 sp_encryption helpuser, user_name, key_copy,则它会列出当前数据库中所有用户拥有的所 有基本密钥。如果没有特权的用户在未指定 user_name key_copy 的情况下运行 sp_encryption,则它会显示当前用户所拥有的基本密 钥。

如果任何用户运行 sp_encryption helpuser, user_name,则它会列出 owner.keyname 所拥有的所有基本密钥。如果没有特权的用户运行该 命令并且不拥有基本密钥,则 Adaptive Server 会显示信息性消息以 指出此情况。

如果 SSO、密钥管理者或 DBO 运行 sp_encryption helpuser, user_name, key_copy,则它会列出分配给 user_name 的密钥副本。如 果没有特权的用户发出此命令,则它会列出当前数据库中分配给该 用户的密钥副本以及该用户所拥有的密钥的密钥副本,并在结果集 中包含以下列:Owner.KeynameAssigneeType of Password Key Recovery。输出按 Assignee 排序。

如果 sp_encryption helpuser user_name , key_copy user_name NULL,则它会为 SSO、密钥管理者或 DBO 列出当前数据库中的所 有密钥副本。对于没有特权的用户,它会列出当前数据库中分配给 该用户的所有密钥副本,以及该用户所拥有的密钥的密钥副本。


SSO、密钥管理者或 DBO 运行 sp_encryption helpkey, keyname, key_copy 时,它会列出当前数据库中 keyname 的密钥副本。如果没 有特权的用户运行此命令,则它会列出分配给该用户的该 keyname 的密钥副本,如果该用户是密钥所有者,则会列出该 keyname 的密 钥副本。

• SSO、密钥管理者和 DBO 可以运行 sp_encryption helpkey, system_encr_passwd, display_keys,以接收当前数据库中由系统加密 口令加密的所有密钥和密钥副本的相关信息。没有特权的用户会收 到当前数据库中他们所拥有的或已分配到的基本加密密钥或密钥副 本的相关信息。仅当密钥副本是为登录关联而创建时,才会使用系 统加密口令进行加密。输出按 owner . keyname 排序。

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


细化权限已启用

在启用细化权限的情况下:

downgrade_kek_size – 您必须是具有 manage security configuration 特权的用户。

help/help_key system_encr_passwd, display_keys – 您必须是具有 manage column encryption key 特权的用户。所有用户都可以看到其各自的密钥。

help/help_key system_encr_passwd – 您必须是具有 manage column encryption key 特权的用户。

help/help_key master key/ dual master key, display_keys – 您必须是具有 manage master key 特权的用户。

help/help_key keyname/wild card, display_cols – 您必须是具有 use any database

特权的用户才能执行跨数据库检查。当前数据库的任何用户。

help/help_key service keyname, display_objs – 您必须是具有 manage service key

特权的用户。

help/help_key keyname/wild card, all_dbs – 您必须是具有以下特权的用户,具体 取决于密钥类型:

列加密密钥 – manage column encryption key

主密钥 – manage master key

服务密钥 – manage service key

要执行跨数据库检查,必须具有上述三项特权之一并具有 use any database

权限。

help/help_key keyname wildcard – 您必须是具有以下特权的用户,具体取决于 密钥类型:

列加密密钥 – manage column encryption key

主密钥 – manage master key

服务密钥 – manage service key

对于非特权用户,显示的加密密钥信息有限。

help/help_key keyname wildcard, key_copy – 您必须是具有以下特权的用户,具 体取决于密钥类型:

列加密密钥 – manage column encryption key

主密钥 – manage master key

helpcol – 您必须是具有 use any database 特权的用户才能执行跨数据库检查。

helpextpassword – 您必须是具有 manage service key 特权的用户。

helpuser username/wildcard, [key_copy/login_passwd_check] – 您必须是具有

manage any encryption key 特权的用户。非特权用户可以看到其自己的密钥。

mkey_startup_file – 您必须是具有 manage security configuration 特权的用户。

system_encr_passwd – 您必须是具有 manage column encryption key 特权的用户。

verify_downgrade – 您必须是具有 manage security configuration 特权的用户。


image

细化权限已禁用 在禁用细化权限的情况下:

downgrade_kek_size – 您必须是具有 sso_role keycustdian_role 的用户。

help/help_key system_encr_passwd, display_keys – 您必须是数据库所有者、具 有 sso_role 的用户或具有 keycustdian_role 的用户。所有用户都可以看到其各 自的密钥。

help/help_key system_encr_passwd – 您必须是数据库所有者、具有 sso_role 的 用户或具有 keycustdian_role 的用户。

help/help_key master key/ dual master key, display_keys – 您必须是数据库所有 者、具有 sso_role 的用户或具有 keycustdian_role 的用户。

help/help_key keyname/wild card, display_cols – 您必须是具有 sso_role 的用户才 能执行跨数据库检查。当前数据库的任何用户。

help/help_key service keyname, display_objs – 您必须是具有 sso_role

keycustodian_role 的用户。

help/help_key keyname/wild card, all_dbs – 您必须是具有 sso_role 的用户。

help/help_key keyname wildcard – 您必须是数据库所有者、具有 sso_role 的用 户或具有 keycustdian_role 的用户。

help/help_key keyname wildcard, key_copy – 您必须是数据库所有者、具有

sso_role 的用户或具有 keycustdian_role 的用户。

对于:

非特权用户 – 仅显示 key_copy 信息

对于特权用户 – 显示数据库中所有用户的加密密钥和 key_copy 信息

helpcol – 您必须是具有 sso_role 的用户。

helpextpassword – 您必须是具有 sso_role 的用户。

helpuser username/wildcard, [key_copy/login_passwd_check] – 您必须是数据库所 有者、具有 sso_role 的用户或具有 keycustdian_role 的用户。非特权用户可以 看到其各自的密钥。

mkey_startup_file – 您必须是具有 sso_role 的用户。

system_encr_passwd – 您必须是具有 sso_role keycustdian_role 的用户。

verify_downgrade – 您必须是具有 sso_role keycustdian_role 的用户。




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

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。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------