#sql-server #powershell #azure-powershell #always-encrypted
#sql-server #powershell #azure-powershell #всегда зашифрованный
Вопрос:
Я использую Powershell 7.0.3. Подключившись к azure (через connect-AzAccount) Я могу перечислить свои главные ключи столбцов:
Get-SqlColumnMasterKey -InputObject $database
Name
----
MYDB_CMK
MYDB_CMK2
При попытке создать ключ шифрования столбца..
New-SqlColumnEncryptionKey -Name "MYDB_CEK" -InputObject $database -ColumnMasterKey "MYDB_CMK"
Я получаю следующую ошибку:
New-SqlColumnEncryptionKey: The term 'New-SqlColumnEncryptionKey' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Насколько мне известно, команды Get-SqlColumnMasterKey и New-SqlColumnEncryptionKey должны находиться в одном модуле, загружаться через
Import-Module "SqlServer"
Что я пропустил?
Комментарии:
1. Может возникнуть проблема с управлением версиями — документы ужасны при документировании того, какая версия что включает (на практике это зависит от версии ОС, версии PowerShell и версии модуля). Например, в моей системе у меня есть этот командлет и версия модуля 21.1.1879. Попробуйте
Get-Module SqlServer
после импорта.
Ответ №1:
Комментарии:
1. Спасибо singhh-msft. Это несколько заманчиво, поскольку я перешел на Powershell 7, поскольку что-то не сработало в 5, и теперь мои 7 скриптов также не работают в 5. Эй, хо, это то, что делает ЕГО таким … захватывающим: D Приветствия.