我正在用terraform构建Azure基础设施。我需要为服务器中的每个DB创建DB的特定用户。为了创建用户,我使用了提供程序" bett -io/mssql";为了创建用户,我使用了以下脚本:
resource "mssql_login" "sql_login" {
server {
host = "${var.sql_server_name}.database.windows.net"
# host = azurerm_mssql_server.sqlserver.fully_qualified_domain_name
login {
username = var.sql_admin_user
password = var.sql_admin_psw
}
}
login_name = var.sql_dbuser_username
password = var.sql_dbuser_password
depends_on = [azurerm_mssql_server.sqlserver, azurerm_mssql_database.sqldb]
}
resource "mssql_user" "sql_user" {
server {
host = "${var.sql_server_name}.database.windows.net"
# host = azurerm_mssql_server.sqlserver.fully_qualified_domain_name
login {
username = var.sql_admin_user
password = var.sql_admin_psw
}
}
username = var.sql_dbuser_username
password = var.sql_dbuser_password
database = var.sql_db_name
roles = var.sql_dbuser_roles
depends_on = [azurerm_mssql_server.sqlserver, azurerm_mssql_database.sqldb, mssql_login.sql_login]
}
地形规划给我的是这个错误
错误:无法读取用户[sqldb-dev]。[dbuser]: login error: mssql: login failed for user 'usr-admin'.
与mssql_user。Sql_user,
on main。第346行,在资源"mssql_user"sql_user";
346: resource "mssql_user"sql_user"{
我不明白这个问题是从哪里来的,有人有过类似的经历吗?
为了信息的完整性,数据库被托管在一个弹性池实例中。
我发现的唯一解决方案是销毁用户并使用数据库重新创建它们。不幸的是,我还没有找到一种方法来添加开发到sql server白名单。