

我一直在努力让我的DevOpsServer 2019-RC1安装来查看我的Azure
我的DevOpsServer安装在Azure上,如建议的那样
我已经实现了以下文档中有关为VM设置MSI以及通过AAD身份验证授予MSI访问Azure SQL的所有内容:
我还添加了VM所在的VNET,作为Azure SQL Server上的VNET防火墙规则,以确保没有连接问题
我的DevOpsServer拒绝查看Azure Server或其数据库
为了确认Azure SQL没有从VM中阻塞,我在VM上成功地创建了ODBC连接,它允许我查看Azure Server及其数据库
参考文档的:
请告诉我,如果我还可以帮助Devops服务器配置向导查看我的Azure SQL Server和数据库
如果这改变了我的能力,我想让这个在Azure政府(MAG)工作.
试图通过以下Powershell脚本以编程方式连接到SQL时收到的错误:
# Retrieve the access token
$response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fdatabase.usgovcloudapi.net' -Method GET -Headers @{Metadata="true"}
$content = $response.Content | ConvertFrom-Json
$AccessToken = $content.access_token
# Create the connection
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Data Source = test-sqlsrv.database.usgovcloudapi.net; Initial Catalog = inldb"
$SqlConnection.AccessToken = $AccessToken
$SqlConnection.Open()
# Send a Query
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "SELECT * from <TABLE>;"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)

发布于 2018-12-21 16:59:48
尝试从集合和配置DB运行ALTER USER [VMName] WITH DEFAULT_SCHEMA=dbo。我有一个公关添加到文档中,这可能会导致您的问题。
发布于 2019-01-02 20:52:18
尝试通过Powershell而不是Azure DevOps服务器连接到SQL实例。
您可以运行以下脚本来执行此操作:
# Retrieve the access token
$response = Invoke-WebRequest -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fdatabase.windows.net%2F' -Method GET -Headers @{Metadata="true"}
$content = $response.Content | ConvertFrom-Json
$AccessToken = $content.access_token
# Create the connection
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Data Source = <AZURE-SQL-SERVERNAME>; Initial Catalog = <DATABASE>"
$SqlConnection.AccessToken = $AccessToken
$SqlConnection.Open()
# Send a Query
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "SELECT * from <TABLE>;"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)这至少会给您一个更多的描述性错误来调试。
发布于 2019-01-07 20:13:31
Gvazzana,我还建议使用提供的脚本danwkennedy进行测试,但是一定要将database.windows.net更改为database.usgovcloudapi.net for Azure Government。
我将密切注意有关获取访问令牌的任何错误以及与打开SQL连接相关的错误。
如果没有什么特别之处,能捕捉到Fiddler的踪迹吗?
https://stackoverflow.com/questions/53861936
复制相似问题