如何用Bicep创建含3个SQL数据库的SQL Server?可行性及实现方法
SQL Server多数据库支持及Bicep创建方案
能否在单个SQL Server下创建多个数据库?
是的,SQL Server(包括本地实例和Azure SQL Server)完全支持在单个服务器实例中创建多个独立的SQL数据库。每个数据库拥有专属的存储、配置规则和权限体系,彼此数据隔离,但会共享服务器的基础计算资源(如CPU、内存)。
使用Bicep创建SQL Server及3个数据库的操作方法
1. 编写Bicep模板文件
创建一个名为sql-server-dbs.bicep的文件,内容如下:
// 参数定义,可根据需求修改 param sqlServerName string = 'sql-server-${uniqueString(resourceGroup().id)}' param adminLogin string = 'sqladmin' param adminPassword string param databaseNames array = ['db-app', 'db-log', 'db-report'] param location string = resourceGroup().location // 创建Azure SQL Server资源 resource sqlServer 'Microsoft.Sql/servers@2023-08-01-preview' = { name: sqlServerName location: location properties: { administratorLogin: adminLogin administratorLoginPassword: adminPassword version: '12.0' } } // 循环创建3个SQL数据库 resource sqlDatabases 'Microsoft.Sql/servers/databases@2023-08-01-preview' = [for dbName in databaseNames: { parent: sqlServer name: dbName location: location properties: { sku: { name: 'GP_Gen5_2' // 通用目的层,2核,可根据需求调整 tier: 'GeneralPurpose' family: 'Gen5' capacity: 2 } } }]
2. 部署模板
确保已安装Azure CLI并登录到目标Azure账号,然后执行以下命令部署模板:
# 登录Azure账号(如果未登录) az login # 部署到指定资源组(替换为你的资源组名称) az deployment group create \ --resource-group your-resource-group-name \ --template-file sql-server-dbs.bicep \ --parameters adminPassword='YourStrongPassword123!'
关键说明
uniqueString(resourceGroup().id):自动生成唯一的服务器名称,避免Azure全局命名冲突databaseNames数组:直接修改数组元素即可调整要创建的数据库数量和名称- SKU配置:示例中使用通用目的层,可根据业务需求替换为Basic、Standard等其他层级及配置
- 密码参数:建议通过Azure Key Vault传递敏感密码,避免明文输入
内容的提问来源于stack exchange,提问作者user989988
相关产品推荐
相关产品推荐

