web-dev-qa-db-fra.com

SSMS 2016, groupes de disponibilité, la base de données est une erreur cryptée

Lors de l'évaluation de la possibilité de rouler la mise à niveau des instances de SQL Server 2012 hébergeant des AG vers SQL Server 2016, nous sommes tombés sur un problème étrange qui n'a pas vraiment de sens. L'un des moyens les plus simples de démontrer est le suivant:

Supposons que vous souhaitiez ajouter une base de données à AG (une instance de 2012 est utilisée). L'assistant SSMS 2012 ou SSMS 2014 ne présente aucune surprise:

enter image description here

SSMS 2016 raconte cependant une histoire complètement différente:

enter image description here

Pour les bases de données qui font déjà partie d'AG, il est indiqué "Ne remplit pas les conditions préalables" au lieu de "Déjà partie…" et pour celles qui ne font pas partie d'AG, il est indiqué "Mot de passe requis" avec l'explication suivante:

"Cette base de données est chiffrée par la clé principale de la base de données, vous devez fournir un mot de passe valide lors de son ajout au groupe de disponibilité."

Le problème avec ce message est qu'aucune des bases de données n'utilise de chiffrement.

Le même problème se manifeste si vous restaurez la base de données à partir de la sauvegarde 2012 AG sur l'instance 2016 et essayez de l'ajouter à 2016 AG à l'aide de l'assistant SSMS 2016.

7
Eternum

Le problème avec ce message est qu'aucune des bases de données n'utilise de chiffrement.

C'est probablement vrai :) Cependant, ce n'est pas ce que l'erreur dit ...

"Cette base de données est chiffrée par la clé principale de la base de données, vous devez fournir un mot de passe valide lors de son ajout au groupe de disponibilité."

L'erreur dit, en langage simple: vous avez une base de données qui contient, à l'intérieur, une clé principale de base de données. Cette clé principale de base de données est chiffrée à l'aide d'un mot de passe. J'ai besoin que vous me donniez ce mot de passe pour que je puisse déchiffrer tous les objets qui pourraient être chiffrés en l'utilisant.

Voici une repro super rapide pour vous donner le "message":

CREATE DATABASE PasswordTest;
GO

USE PasswordTest;
GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = ‘$up3r$tr0ng’
GO

SMSS ne dit pas qu'il ne peut pas utiliser la base de données, il demande le mot de passe pour ouvrir la clé principale.

Quelle est la solution?

Vous avez quelques options, mais voici les deux meilleures:

  1. Cliquez à droite du message, vous pouvez réellement saisir le mot de passe et l'assistant vous permettra de continuer sans problème (car il peut maintenant ouvrir la clé principale).
  2. Si vous n'utilisez pas la clé principale ... Drop It .

Il s'est avéré que la base de données avait une clé principale.

Oui, comme l'erreur spécifiée. Cela ne faisait aucun doute :)

les captures d'écran de ma question initiale proviennent de la même instance de 2012. Pourquoi l'assistant SSMS 2012 et 2014 n'a rien mentionné sur la clé principale, mais l'assistant SSMS 2016 l'a fait?

Il a été ajouté dans SSMS 2016 ... Je ne sais pas ce que vous cherchiez ici car des articles sont ajoutés aux nouvelles versions.

Et SSMS 2016 n'avait pas non plus de zone d'édition pour entrer le mot de passe.

Je ne sais pas - travaille dans le mien ...

enter image description here

Je sais exactement à quoi vous faites référence, mais il n'y a rien dans mon cas, juste un espace vide dans la colonne "Mot de passe", ce qui a ajouté à la confusion. Pensez-vous qu'il pourrait y avoir un bogue dans SSMS 2016 ou avez-vous une explication à ce comportement?

Voir la capture d'écran ci-dessus - Je pense que cela fonctionne comme prévu, du moins pour moi ... Ce n'est peut-être pas intuitif, mais cela fonctionne.

Le résultat est le même. Si vous n'êtes pas un fan de l'interface graphique vous causant du chagrin, il y a toujours PowerShell et T-SQL :) Si vous pensez que cela ne fonctionne pas comme prévu ou que vous ne l'aimez pas, je vous demanderais de poster retour sur Connect .

9
Sean Gallardy

Complétant la réponse de Sean Gallardy:

Cliquez à droite du message, vous pouvez réellement saisir le mot de passe et l'assistant vous permettra de continuer sans problème (car il peut maintenant ouvrir la clé principale).

(face-Palm) ... Oui, vous pouvez cliquer sur l'espace invisible à droite et saisir le mot de passe ... MAIS ATTENDRE ... vous devez également cliquer sur le bouton de rafraîchissement à ce stade! (échec de l'utilisabilité :)

0
ebol2000