Я хочу создать пользователей в базе данных Azure SQL. Я запускаю эту PowerShell через Azure Функции.
Я настроил свое имя как администратор сервера. Также я настроил брандмауэр.
Но я не могу подключиться к базе данных SQL.
Это выдает ошибку: Не удается открыть сервер "domain.com", запрошенный логин. Ошибка входа в систему.
Это мой сценарий:
$serverName = "servername.database.windows.net"
$databaseName = "databasename"
$adminLogin = 'user@domain.com'
$PWord = "password"
$query = "CREATE USER [user1@domain.com] FROM EXTERNAL PROVIDER;";
Invoke-Sqlcmd -ServerInstance $serverName -Database $databaseName -U $adminLogin -Password $PWord -Query $query
Я также пробовал этот сценарий:
Хотя приведенный ниже сценарий работает в Windows PowerShell , но не работает в Azure функции PowerShell.
$Creds = Get-Credential -Credential 'username@domain.com'
$Username = $($Creds.GetNetworkCredential().UserName)
$Password = $($Creds.GetNetworkCredential().Password)
$Database = "testg"
$Server = 'test.database.windows.net'
$Port = 1433
$cxnString = "Server=tcp:$Server,$Port;Database=$Database;Authentication=Active Directory Password;UID=$UserName;PWD=$Password;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
$query = "CREATE USER YourUser WITH PASSWORD = 'JRxuerCc(q'"
$cxn = New-Object System.Data.SqlClient.SqlConnection($cxnString)
$cxn.Open()
$cmd = New-Object System.Data.SqlClient.SqlCommand($query, $cxn)
$cmd.CommandTimeout = 120
$cmd.ExecuteNonQuery()
$cxn.Close()
Но это не работает в Azure функциях. В нем говорится, что ключевое слово не поддерживается: «аутентификация»
Подобным образом я пытался использовать также подход NET. Но выдает ту же ошибку
Как мне этого добиться?