我一直在努力安装 DevOpsServer 2019-RC1 以查看我的 Azure SQL Server
我的 DevOpsServer 按照建议安装在 Azure VM 上
我已经实现了以下文档中有关为 VM 设置 MSI 以及通过 AAD 身份验证授予 MSI 对 Azure SQL 的访问权限的所有内容:
我还添加了 VM NIC 所在的 VNET,作为 Azure SQL Server 上的 VNET 防火墙规则,以确保没有连接问题
我的 DevOpsServer 拒绝查看 Azure SQL Server 或其数据库
为确认 Azure SQL 未被 VM 阻止,我在 VM 上成功创建了一个 ODBC 系统 DSN 连接,这使我能够看到 Azure SQL Server 及其数据库
根据引用文档:
- 设置新的 DevOps Server 实例时,我选择了“这是一个 新的 Azure DevOps 服务器部署"
- 在配置向导的数据库页面上,指定 Azure SQL 数据库服务器实例,通常采用以下形式 "SQLInstanceName.database.windows.net"
如果我还能做些什么来帮助 Devops 服务器配置向导查看我的 Azure SQL Server 和数据库,请告诉我
PS 如果这改变了功能,我正试图让它在 Azure Government (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)
最佳答案
尝试从集合数据库和配置数据库中运行 ALTER USER [VMName] WITH DEFAULT_SCHEMA=dbo
。我有一个 PR 将其添加到文档中,这可能会导致您的问题。
关于azure-devops - 无法将 Azure SQL 与 Azure DevOps Server 2019 一起使用 -(Azure 政府),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53861936/