web-dev-qa-db-fra.com

Stockage Créer une source de données externe dans un projet SSDT sans exposer la base de données de la base de données Scoped Creatived OU MASTER KEY SECTEUR;

J'ai un projet SSDT qui se déploie à Azure SQL DB. Récemment, j'ai ajouté une table externe. Cela nécessitait une source de données externe comme suit:

CREATE EXTERNAL DATA SOURCE [data_warehouse]
    WITH (
    TYPE = RDBMS,
    LOCATION = N'mydb.database.windows.net',
    DATABASE_NAME = N'MainDW',
    CREDENTIAL = [dw_reader]
    );

Lorsque j'importe cela dans mon .sqlproj, il se plaint de ce que les informations d'identification ne sont pas là, puis lorsque j'ajoute qu'il se plaint de la clé principale n'est pas là. Les problèmes sont que je ne veux pas stocker ces secrets dans le projet SSDT. Comment puis-je stocker Dummys ou par défaut qui peut être remplacé et récupéré à partir de l'azur keyvault ou d'une autre méthode de stockage des secrets dans Azure Descops?

8
Justin Dearing

Après avoir expérimenté, il semble que tout type de secret dans SSDT n'est utilisé que lorsque l'objet est créé, non mis à jour.

Par conséquent, si un SQLPROJ contient CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password A';, et aucune clé principale n'existe, la clé principale sera créée avec ce mot de passe. Cependant, si on exécute plus tard ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'dsjdkflJ435907NnmM#sX003'; Dans la base de données, puis redéploie la base de données SQLPROJ dans la base de données, elle ne régénérera pas la clé principale.

1
Justin Dearing