azure 在部署期间创建SQL Server表

zd287kbt  于 7个月前  发布在  SQL Server
关注(0)|答案(1)|浏览(65)

是否可以在部署期间创建SQL Server表?
下面是我的代码:

resource sqlDataBase 'Microsoft.Sql/servers/databases@2021-02-01-preview' = {
  name: sqlServerName
  parent: sqlServer
  location: location
  sku: {
    name: 'GP_S_Gen5'
    tier: 'GeneralPurpose'
    family: 'Gen5'
    capacity: 4
  }
}

resource SourceTableA 'Microsoft.Sql/servers/databases/tables@2022-11-01-preview' = {
  parent: sqlDataBase
  name: 'SourceTableA'
  properties: {
    columns: [
      {
        name: 'Id'
        type: 'INT'
      }
      {
        name: 'Name'
        type: 'NVARCHAR(255)'
      }
      {
        name: 'Age'
        type: 'NVARCHAR(255)'
      }
    ]
    primaryKey: {
      columns: ['Id']
    }
  }
}

resource SourceTableB 'Microsoft.Sql/servers/databases/tables@2022-11-01-preview' = {
  parent: sqlDataBase
  name: 'SourceTableB'
  properties: {
    columns: [
      {
        name: 'Id'
        type: 'INT'
      }
      {
        name: 'Address'
        type: 'NVARCHAR(255)'
      }
      {
        name: 'Location'
        type: 'NVARCHAR(255)'
      }      
    ]
    primaryKey: {
      columns: ['Id']
    }
  }
}

字符串
我得到这个错误:
{“code”:“DeploymentFailed”,“target”:“/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Resources/deployments/sqlServerTemplate”,“message”:“至少有一个资源部署操作失败。有关详细信息,请列出部署操作。有关使用详细信息,请参阅https://aka.ms/arm-deployment-operations。",“details”:[{“code”:“ResourceNotFound”,“message”:“未找到指定的资源'subscriptions/xxx/resourcegroups/xxx/providers/Microsoft.Sql/servers/xxx/databases/xxx/tables/SourceTableB'。"},{“code”:“ResourceNotFound”,“message”:“未找到指定的资源”。“}”找不到指定的资源'subscriptions/xxx/resourcegroups/xxx/providers/Microsoft.Sql/servers/xxx/databases/xxx/tables/SourceTableA'。"}]}
我错过了什么?

vxqlmq5t

vxqlmq5t1#

首先,没有称为Microsoft.Sql/servers/databases/tables的资源类型根据documentation,有一个Microsoft.Sql servers/databases/schemas/tables资源类型,但它是只读
此资源类型为只读,这意味着无法部署它,但可以引用现有示例。通常,只读资源类型由服务自动创建。
使用existing关键字
给你的几个选择:

老实说,这可能会变得复杂,你可以随时运行表创建二头肌部署后.

相关问题