AGをホストしているSQL Server 2012インスタンスのSQL Server 2016へのローリングアップグレードの可能性を評価しているときに、まったく意味のない奇妙な問題に遭遇しました。簡単に説明する方法の1つは次のとおりです。
AGにデータベースを追加するとします(2012インスタンスが使用されています)。 SSMS 2012またはSSMS 2014ウィザードは驚きを示さない:
ただし、SSMS 2016は完全に異なるストーリーを伝えます。
AGにすでに含まれているデータベースの場合、「すでに一部...」ではなく「前提条件を満たしていない」と表示され、AGに含まれていないデータベースの場合、「パスワードが必要」と表示され、次の説明が表示されます。
「このデータベースはデータベースマスターキーで暗号化されています。可用性グループに追加するときに、有効なパスワードを入力する必要があります。」
このメッセージの問題は、どのデータベースも暗号化を使用していないことです。
2016インスタンスの2012 AGバックアップからデータベースを復元し、SSMS 2016ウィザードを使用してそれを2016 AGに追加しようとすると、同じ問題が発生します。
このメッセージの問題は、どのデータベースも暗号化を使用していないことです。
それはおそらく本当です:)しかし、それはエラーが言っていることではありません...
「このデータベースはデータベースマスターキーで暗号化されています。可用性グループに追加するときに、有効なパスワードを入力する必要があります。」
エラーは平易な英語で言っています:あなたは、内部にデータベースマスターキーを持つデータベースを持っています。そのデータベースマスターキーは、パスワードを使用して暗号化されます。それを使用して暗号化されている可能性のあるオブジェクトを復号化できるように、そのパスワードを教えてください。
ここにあなたに「メッセージ」を与える超迅速な再現があります:
CREATE DATABASE PasswordTest;
GO
USE PasswordTest;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ‘$up3r$tr0ng’
GO
SMSSはそれを言っていないデータベースを使用できないマスターキーを開くためのパスワードを要求しています。
あなたにはいくつかの選択肢がありますが、ここで最良の2つがあります:
データベースにはマスターキーがあることがわかりました。
はい、指定されたエラーとして。これは疑いありませんでした:)
最初の質問のスクリーンショットは、同じ2012年のインスタンスのものです。 SSMS 2012および2014ウィザードはマスターキーについて何も言及していませんが、SSMS 2016ウィザードは言及しているのはなぜですか?
SSMS 2016で追加されました...新しいバージョンにアイテムが追加されるため、ここで何を探していたのかわかりません。
また、SSMS 2016には、パスワードを入力するための編集ボックスがありませんでした。
私は知らない-私の作品...
私はあなたが何を参照しているのか正確に知っていますが、私の場合は何もありません。「パスワード」列の下の空のスペースだけで、混乱を招きました。 SSMS 2016にバグがあると思いますか、それともこの動作について説明がありますか?
上記のスクリーンショットを参照してください-少なくとも私にとっては意図したとおりに機能していると思います...直感的ではないかもしれませんが、機能します。
最終結果は同じです。悲しみを与えるGUIのファンではない場合は、常にPowerShellとT-SQLがあります。 接続時のフィードバック 。
メッセージの右側をクリックすると、実際にパスワードを入力でき、ウィザードで問題なく続行できます(マスターキーを開くことができるため)。
(face-Palm)...はい、右側の非表示のスペースをクリックしてパスワードを入力できます...お待ちください...更新ボタンもクリックする必要がありますこの時点で! (使いやすさは失敗します:)