Как устранить ошибку при выполнении команды Invoke-sqlcmd для подключения к хранилищу данных Azure с помощью Invoke-SQLCMD и Powershell 6?
Я пытаюсь запустить простой оператор выбора из Azure Datawarehouse/Synapse. Я использую учетную запись Azure Active Directory для проверки подлинности, в моем случае я не могу использовать проверку подлинности sql server.
Эта команда отлично работает в Powershell 5.1.16299, версии без ядра dotnet.
Код
$ConnectionString = "Server=<Azure DataWarehouse server>;Authentication=Active Directory Password;Initial Catalog=Datawarehouse;UID=<username@company.com>;PWD=<pwd>;Trusted_Connection=False;Encrypt=True;Connection Timeout=60;"
$query = "select top 1 * from Table1"
Invoke-Sqlcmd -ConnectionString $ConnectionString -Query $query -QueryTimeout 40
Версия Powershell: Major Minor Patch PreReleaseLabel BuildLabel
6 2 4
Версия модуля SQL Server ModuleType Имя версии ExportedCommands ---------- ------- ---- ---------------- Скрипт 21.1.18218 SqlServer {Add-SqlAvailabilityDatabase, Add-SqlAvailabilityGroupListen…
Сообщение об ошибкеInvoke-Sqlcmd: ключевое слово не поддерживается: "проверка подлинности". В строке:1 символ:1 + Invoke-Sqlcmd -ConnectionString $ConnectionString -Query $query -Quer ... + ~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidResult: (:) [Invoke-Sqlcmd], ArgumentException+ FullyQualifiedErrorId: ExecutionFailed,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
$Error[0].Exception.ToString() outputSystem.ArgumentException: ключевое слово не поддерживается: "аутентификация". в System.Data.Common.DbConnectionOptions.ParseInternal(Словарь2 parsetable, String connectionString, Boolean buildChain, Dictionary
2 синонима, Boolean firstKey) в System.Data.Common.DbConnectionOptions..ctor(String connectionString, Dictionary`2 синонимов) в System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) в System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions предыдущий) в System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions (System.DbConnectionOptions) и userConnectionOptions)..set_ConnectionString (строковое значение) в System.Data.SqlClient.SqlConnection..ctor (String connectionString) в Microsoft.SqlServer.Management.PowerShell.ExecutionProcessor.CreateSqlConnection() в Microsoft.SqlServer.Management.PowerShell.ExecutionProcessor..ctor(GetScriptCommand sqlCmdCmdLet) в Microsoft.SqlServer.Management.PowerShell.GetScriptCommand.ProcessRecord()