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

导入和导出加密 SQLScript 对象

缺省行为

如果未应用选项 ENCRYPTED OBJECT HEADER ONLY,则无法导出加密的过程或函数。当导出目标是加密对象或如果导出对象引用的对象包含加密对象时,导出将失败,并显示错误 FEATURE_NOT_SUPPORTED。但是,导出模式以及模式中的加密过程或函数没有任何相关对象时,将在导出期间跳过该过程或函数。

使用选项 ENCRYPTED OBJECT HEADER ONLY

要启用基于加密过程的任何其它对象的导出,为 EXPORT 语句引入了选项 ENCRYPTED OBJECT HEADER ONLY。此选项不会导出处于加密状态的加密对象,而是将加密对象导出为仅标头程序或功能。使用 HEADER ONLY 选项导出加密过程或函数后,即使成功导入后,基于加密对象的对象也将无效。应将导出的仅标头程序或函数更改为其原始正文或虚拟正文,以使相关对象有效。

示例代码原始程序create procedure enc_proc with encryption asbegin select 1 as i from dummy;end; 示例代码导出声明export all as binary into <path> with encrypted object header only; 示例代码已导出 create.sqlcreate procedure enc_proc /* WITH ENCRYPTION */ AS HEADER ONLY;