ホームページ データベース mysql チュートリアル SQLSERVER2012透明加密(TDE )问题

SQLSERVER2012透明加密(TDE )问题

Jun 07, 2016 pm 03:45 PM
暗号化 透明 質問

最近需要用到加密功能,找到了TDE,生成证书才发现安装的SQL版本不是企业版,目前似乎只有SQL2008以上的企业版才支持,可以升级吗,试了下自动升级,OK 提示成功,再安装依然提示版本不对select @@version 才发现版本没有变。 重装吧,找到控制面板卸载2012

最近需要用到加密功能,找到了TDE,生成证书才发现安装的SQL版本不是企业版,目前似乎只有SQL2008以上的企业版才支持,可以升级吗,试了下自动升级,OK 提示成功,再安装依然提示版本不对select @@version 才发现版本没有变。

重装吧,找到控制面板卸载2012 ,奇怪竟然卸载不了了。我把sql组建都卸载了 可以数据库依然能用,怪哉,是升级的原因? 

重做系统吧

等待中........

系统做好 先安装SQL2012 企业版

OK 这下可以生成证书了,加密也顺利成功,下面的是加密过程

<span>USE</span><span> master;
</span><span>GO</span>
<span>--</span><span>查看master数据库是否被加密</span><span>
--</span><span>SELECT name,is_master_key_encrypted_by_server FROM sys.databases; --1表示加密</span><span>
--</span><span>每一个数据库只能有一个数据库主密钥</span><span>
--</span><span>删除旧的密钥证书</span>
<span>drop</span><span> CERTIFICATE MyServerCert
</span><span>Drop</span> master <span>Key</span> 
<span>GO</span>
<span>--</span><span>在master数据库中创建一个master key</span>
<span>CREATE</span> MASTER <span>KEY</span> ENCRYPTION <span>BY</span> PASSWORD <span>=</span> <span>'</span><span>P@ssw0rd</span><span>'</span><span>;
</span><span>--</span><span>查看master数据库下的密钥信息</span><span>
--</span><span>SELECT * FROM sys.symmetric_keys</span><span>
--</span><span>创建证书用来保护 数据库加密密钥 (DEK)</span>
<span>CREATE</span> CERTIFICATE MyServerCert <span>WITH</span> SUBJECT <span>=</span> <span>'</span><span>My DEK Certificate</span><span>'</span><span>;

</span><span>--</span><span>IF DB_ID('TDEDemo') IS NOT NULL</span><span>
--</span><span> DROP DATABASE TDEDemo</span>
<span>go</span>
<span>USE</span><span> demo1
</span><span>GO</span> 
<span>--</span><span>创建数据库加密key,使用MyServerCert这个证书加密</span><span>
--</span><span>Drop DATABASE ENCRYPTION KEY</span>
<span>CREATE</span> <span>DATABASE</span> ENCRYPTION <span>KEY</span>
<span>WITH</span> ALGORITHM <span>=</span><span> AES_256
ENCRYPTION </span><span>BY</span><span> SERVER CERTIFICATE MyServerCert
</span><span>go</span>
<span>--</span><span>执行上语句以后出现:</span><span>
/*</span><span>
Warning: The certificate used for encrypting the database encryption key has not been backed up. 
You should immediately back up the certificate and the private key associated with the certificate. 
If the certificate ever becomes unavailable or if you must restore or attach the database on another server, 
you must have backups of both the certificate and the private key or you will not be able to open the database.
</span><span>*/</span>
<span>/*</span><span>
警告: 用于对数据库加密密钥进行加密的证书尚未备份。应当立即备份该证书以及与该证书关联的私钥。
如果该证书不可用,或者您必须在另一台服务器上还原或附加数据库,则必须对该证书和私钥均进行备份,否则将无法打开该数据库。
</span><span>*/</span>

<span>--</span><span>提示你,立刻备份证书;这里备份证书,不比制定加密私钥的对称密钥了.因为他的密钥是通过master数据库的主数据库密钥加密了.</span><span>
--</span><span>相应的,我们备份一下数据库主密钥(master)</span>

<span>USE</span><span> master;
</span><span>GO</span>
<span>--</span><span>如果没有启用主密钥的自动解密功能</span><span>
--</span><span>OPEN MASTER KEY DECRYPTION BY PASSWORD ='P@ssw0rd';</span>
<span>BACKUP</span> MASTER <span>KEY</span> <span>TO</span> <span>FILE</span><span>=</span><span>'</span><span>D:\Cers\master_key</span><span>'</span> ENCRYPTION <span>BY</span> PASSWORD<span>=</span>N<span>'</span><span>P@ssw0rd</span><span>'</span><span>--</span><span>备份主数据库密钥DMK</span>
<span>BACKUP</span> CERTIFICATE MyServerCert <span>TO</span> <span>FILE</span> <span>=</span> <span>'</span><span>D:\Cers\master_cer</span><span>'</span> <span>--</span><span>备份数据库证书</span>
    <span>WITH</span> PRIVATE <span>KEY</span><span> ( 
    </span><span>FILE</span> <span>=</span> <span>'</span><span>D:\Cers\master_cert.pvk</span><span>'</span> , <span>--</span><span>自动生成pvk</span>
    ENCRYPTION <span>BY</span> PASSWORD <span>=</span> <span>'</span><span>P@ssw0rd</span><span>'</span><span> );
</span><span>GO</span> 

<span>--</span><span>生产环境下,设置成单用户在运行加密</span><span>
--</span><span>ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE;</span>
<span>USE</span><span> master
</span><span>GO</span>
<span>BACKUP</span> <span>DATABASE</span> demo1 <span>TO</span> <span>DISK</span><span>=</span>N<span>'</span><span>D:\demo1.bak</span><span>'</span> 

<span>/*</span><span>
经测试 OFF ON 有时会提示失败
消息 33122,级别 16,状态 1,第 1 行
此命令要求数据库 'TDEDemo' 上有数据库加密扫描。但是,自上次挂起日志备份的加密扫描以来,数据库已经更改。请提取一个日志备份,然后重试该命令。
消息 5069,级别 16,状态 1,第 1 行
ALTER DATABASE 语句失败。
</span><span>*/</span>
<span>--</span><span>查看数据库是否被加密  encryption_state:3 TDE加密了</span>
<span>SELECT</span> <span>DB_NAME</span>(database_id) <span>as</span> dbname,encryption_state <span>FROM</span><span> sys.dm_database_encryption_keys;

</span><span>--</span><span>备份成功以后,开启TDE 加密 </span>
<span>ALTER</span> <span>DATABASE</span> demo1 <span>SET</span> ENCRYPTION <span>ON</span>
<span>--</span><span>关闭TDE 加密</span>
<span>ALTER</span> <span>DATABASE</span> demo1 <span>SET</span> ENCRYPTION <span>OFF</span><span>;

</span><span>--</span><span>设置多用户访问</span><span>
--</span><span>ALTER DATABASE dbname SET MULTI_USER WITH ROLLBACK IMMEDIATE;</span>
<span>GO</span>
ログイン後にコピー

奇怪的是 我多次开启TDE ON OFF  后过一阵子会出现下列错误,出现该错误后 无法开启或关闭TDE,重建数据库才好,不知道是什么原因

<span>消息 <span>33122</span>,级别 <span>16</span>,状态 <span>2</span>,第 <span>1</span> 行
此命令要求数据库 'demo1' 上有数据库加密扫描。但是,自上次挂起日志备份的加密扫描以来,数据库已经更改。请提取一个日志备份,然后重试该命令。
消息 <span>5069</span>,级别 <span>16</span>,状态 <span>1</span>,第 <span>1</span> 行
ALTER DATABASE 语句失败。</span>
ログイン後にコピー

加密以后是还原的问题,如果服务器出现问题 还原到其他机器是经常用到的,经测试发现还原到非企业版是无法正常使用的,也就是必须是企业版才能支持被TDE保护的数据库(不知道理解的对不对),以下是还原代码

<span>USE</span><span> master;
</span><span>go</span>
<span>--</span><span>查看master数据库是否被加密</span><span>
--</span><span>SELECT name,is_master_key_encrypted_by_server FROM sys.databases; --1表示加密</span><span>
--</span><span>GO</span><span>
--</span><span>如果存在删除master数据库下的主数据库密钥</span><span>
--</span><span>DROP MASTER KEY;</span><span>
/*</span><span>*
--网上有说用该方法恢复主密钥的 但经测试该方法 无法正常的恢复主密钥 不知道是否我的版本问题 测试版本SQL2012 企业版
RESTORE MASTER KEY 
FROM FILE = 'D:\Cers\master_key' 
DECRYPTION BY PASSWORD = 'P@ssw0rd' 
ENCRYPTION BY PASSWORD = 'P@ssw0rd';
*</span><span>*/</span>
<span>CREATE</span> MASTER <span>KEY</span> ENCRYPTION <span>BY</span> PASSWORD <span>=</span> <span>'</span><span>P@ssw0rd</span><span>'</span>;<span>--</span><span>创建主密钥 可以和要恢复的不同 </span>
<span>GO</span>
<span>--</span><span>创建证书</span><span>
--</span><span>drop CERTIFICATE MyServerCert</span>
<span>CREATE</span><span> CERTIFICATE MyServerCert 
    </span><span>FROM</span> <span>FILE</span> <span>=</span> <span>'</span><span>D:\Cers\master_cer</span><span>'</span> 
    <span>WITH</span> PRIVATE <span>KEY</span> (<span>FILE</span> <span>=</span> <span>'</span><span>D:\Cers\master_cert.pvk</span><span>'</span><span>, 
    DECRYPTION </span><span>BY</span> PASSWORD <span>=</span> <span>'</span><span>P@ssw0rd</span><span>'</span>);<span>--</span><span>和要恢复的密钥相同PWD 其他文件要保持路径一致</span>
<span>GO</span> 

<span>--</span><span>-数据库还原操作</span><span>
--</span><span>如果数据库逻辑文件名无法确定可以使用下面的语句进行查看那</span><span>
--</span><span>restore filelistonly from DISK=N'D:\Cers\Demo1.bak'</span><span>
--</span><span>如果物理路径不一致可以使用move语句进行修改</span>
<span>RESTORE</span> <span>DATABASE</span><span> demo
</span><span>FROM</span> <span>DISK</span><span>=</span>N<span>'</span><span>D:\Cers\Demo1.bak</span><span>'</span>
<span>with</span> move <span>'</span><span>demo1</span><span>'</span>     <span>to</span> <span>'</span><span>d:\data\demo.mdf</span><span>'</span><span>
    ,move </span><span>'</span><span>demo1_log</span><span>'</span> <span>to</span> <span>'</span><span>d:\data\demo.ldf</span><span>'</span>
<span>GO</span>
ログイン後にコピー

还原到商业版提示如下

SQLSERVER2012透明加密(TDE )问题

有知道解决办法的,欢迎留言 感激不尽

 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Win11でタスクバーの透明度に線が表示される問題を解決するにはどうすればよいですか? Win11でタスクバーの透明度に線が表示される問題を解決するにはどうすればよいですか? Jan 29, 2024 pm 12:12 PM

多くの Win11 ユーザーはシステムの実行時にタスク バーを透明に設定しますが、多くのユーザーは設定後にタスク バーに黒い線が表示されます。ユーザーはサードパーティ製ソフトウェアを使用してセットアップできます。この Web サイトでは、win11 のタスクバーに透明な線が表示される問題の解決策をユーザーに丁寧に紹介します。 win11 タスクバーに透明な線が表示される問題の解決策 方法 1: 1. ユーザーのフィードバックによると、translucenttb を右クリックして設定を開くことができます。 2. 次に、アイコン オプションのマージンを 1 に設定して、問題を解決します。 2. 次に、システムのデフォルトのテーマを選択し、問題を解決するために変更します。

Win10 Home Edition はフォルダー暗号化をサポートしていますか? Win10 Home Edition はフォルダー暗号化をサポートしていますか? Jan 09, 2024 am 08:58 AM

ファイル暗号化は、プロレベルのデータ暗号化を実装して、データのセキュリティをより効果的に確保することを目的としています。正しい暗号化キーを習得することによってのみ復号化操作を実行できるため、情報資産のセキュリティが確保されます。ただし、Win10 Home Edition のファイル暗号化機能にはまだこの機能がありません。 Win10 Home Edition はフォルダーを暗号化できますか? 回答: Win10 Home Edition はフォルダーを暗号化できません。 Windows システムでのファイル暗号化に関するチュートリアル 1. 暗号化するファイルまたはフォルダーを右クリックし (またはしばらく押し続けて)、「プロパティ」機能を選択します。 2. 新しい拡張されたインターフェースで、「詳細」オプションをクリックして入力した後、その下にある「コンテンツを暗号化してデータを保護する」オプションを忘れずにチェックしてください。 3. 設定が完了したら、「OK」をクリックしてください。

Apple携帯電話でフォトアルバムの暗号化を設定する方法 Apple携帯電話でフォトアルバムの暗号化を設定する方法 Mar 02, 2024 pm 05:31 PM

Apple の携帯電話では、ユーザーは自分のニーズに応じてフォト アルバムを暗号化できます。設定方法がわからないユーザーもいます。暗号化が必要な写真をメモに追加し、メモをロッ​​クすることができます。次に、編集者がユーザー向けにモバイル フォト アルバムの暗号化を設定する方法を紹介します。興味のあるユーザーは、ぜひご覧ください。 Apple 携帯電話チュートリアル iPhone フォト アルバム暗号化の設定方法 A: 暗号化する必要がある写真をメモに追加した後、メモをロッ​​クして詳細を説明します。 1. フォト アルバムに入り、暗号化する必要がある写真を選択します。暗号化されたものを選択し、下の[追加]をクリックします。 2. [ノートに追加]を選択します。 3. メモを入力し、作成したメモを見つけて入力し、右上隅の [送信] アイコンをクリックします。 4. 下の[デバイスをロック]をクリックします

圧縮せずにフォルダーを暗号化するためのパスワードを設定する方法 圧縮せずにフォルダーを暗号化するためのパスワードを設定する方法 Feb 20, 2024 pm 03:27 PM

フォルダー暗号化は、フォルダーの内容を暗号化して、復号化パスワードを持っている人だけがファイルにアクセスできるようにする一般的なデータ保護方法です。フォルダーを暗号化する場合、ファイルを圧縮せずにパスワードを設定する一般的な方法がいくつかあります。まず、オペレーティング システムに付属の暗号化機能を使用して、フォルダーのパスワードを設定します。 Windowsユーザーの場合は、次の手順で設定できます。 暗号化するフォルダーを選択し、フォルダーを右クリックし、「プロパティ」を選択します。

jQueryがform要素の値を取得できない問題の解決方法 jQueryがform要素の値を取得できない問題の解決方法 Feb 19, 2024 pm 02:01 PM

jQuery.val() が使用できない問題を解決するには、具体的なコード例が必要です フロントエンド開発者にとって、jQuery の使用は一般的な操作の 1 つです。その中でも、.val() メソッドを使用してフォーム要素の値を取得または設定する操作は、非常に一般的な操作です。ただし、特定のケースでは、.val() メソッドを使用できないという問題が発生する可能性があります。この記事では、いくつかの一般的な状況と解決策を紹介し、具体的なコード例を示します。問題の説明 jQuery を使用してフロントエンド ページを開発する場合、時々次のような問題が発生します。

win11 ファイル暗号化の完全ガイド win11 ファイル暗号化の完全ガイド Jan 09, 2024 pm 02:50 PM

ファイルを保護したいが、Win11 ドキュメントを暗号化する方法がわからない友人もいます。実際、フォルダー暗号化を直接使用するか、サードパーティ ソフトウェアを使用してファイルを暗号化できます。 win11 ドキュメント暗号化に関する詳細なチュートリアル: 1. まず、暗号化するファイルを見つけて右クリックして選択し、[プロパティ] を開きます。 2. 次に、プロパティ列の [詳細] をクリックします。 3. [コンテンツを暗号化してデータを保護する] を選択します。 4. 次に、「OK」をクリックして保存します。 5. 最後に、希望の暗号化モードを選択し、「OK」をクリックして文書を保存し、文書を暗号化します。

Rulong 8 ワインマスター試験の問題は何ですか? Rulong 8 ワインマスター試験の問題は何ですか? Feb 02, 2024 am 10:18 AM

Yulong 8 ワインマスター試験にはどのような問題がありますか?対応する答えは何でしょうか?試験に早く合格するにはどうすればよいですか?マスター オブ ワイン試験の活動では、回答しなければならない質問がたくさんあり、その回答を参照して解決することができます。これらの質問にはすべてワインの知識が含まれます。参考が必要な場合は、龍が如く 8 ワインマスター試験問題の解答の詳細な分析を見てみましょう。 Rulong 8 ワインマスター試験の問題の答えを詳しく解説 1.「ワイン」に関する質問。ハワイで大量に栽培されているサトウキビの糖分を原料に醸造され、王室御用達の蒸留所で造られる蒸留酒です。このワインの名前は何ですか? 答え: ラム酒 2.「ワイン」についての質問です。写真は乾燥高麗人参と乾燥ベルモットをブレンドしたドリンクです。オリーブが入っているのが特徴で「コックニー」と呼ばれています。

サウンド カード ドライバーに問題がある場合はどうなりますか? サウンド カード ドライバーに問題がある場合はどうなりますか? Mar 02, 2024 am 10:49 AM

サウンド カード ドライバーは、サウンド カードを制御および指示するコンピューター内のシステム プログラムです。サウンドの再生に役立ちます。したがって、サウンド カード ドライバーに問題がある場合、サウンドに関して最も直観的な状況は次のとおりです。音が出なくなったり、音が変動したり異常フリーズしたりします。サウンド カード ドライバーに問題がある場合はどうなりますか: 1. サウンド エラー 1. サウンド カード ドライバーはサウンドを提供するため、最も直感的な問題はサウンドの問題です。 2. コンピューターから音が出ない、音が途切れる、遅延する、ノイズが多い、または音量トーンが異常である場合は、サウンド カード ドライバーに関連している可能性があります。 3. したがって、同様の問題が発生した場合は、サウンド カード ドライバーの再インストールまたは更新を試みることができます。 2. デバイスマネージャーの感嘆符 1. サウンドに問題がない場合は、ほとんどの場合、サウンド カード ドライバーが正常であることを意味します。 2. でも私は

See all articles