2017-05-12 2 views
0

Nous avons un fichier SQL statique qui se compose d'instructions d'insertion, essentiellement des données de test. est-il possible d'exécuter ce script en utilisant powershell sur azure sql db où alwaysencrypted est activé. Nous utilisons keyvault pour stocker les certificats.Insérer des données en utilisant powershell

Répondre

1

Malheureusement, PowerShell (Invoke-SqlCmd) ne prend pas en charge les instructions d'insertion sur les colonnes cryptées à ce stade. Le seul outil SQL de Microsoft qui prend en charge de telles déclarations à ce stade est SSMS - voir: https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/configure-always-encrypted-using-sql-server-management-studio#param. Une alternative pourrait être de mettre vos données de test dans un fichier CSV et d'utiliser l'assistant Import Export pour importer les données dans la base de données. Vous pouvez enregistrer le travail d'importation en tant que package SSIS, que vous pouvez exécuter à partir de la ligne de commande. Voici un article de blog sur l'utilisation de l'Assistant I/E pour l'importation (et le cryptage) de données à partir d'une base de données (l'importation à partir d'un fichier serait similaire). https://blogs.msdn.microsoft.com/sqlsecurity/2015/10/31/ssms-encryption-wizard-enabling-always-encrypted-in-a-few-easy-steps/

Jakub

+0

Nous avons une solution de contournement pour l'instant. Comme c'est DB de test, nous supprimons le cek, en insérant les données et en envoyant un nouveau cek. – ashwin