You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决Terraform在Azure MSSQL虚拟机自动执行数据库初始化脚本的问题

问题背景

基于MicrosoftSQLServer/sql2022-ws2022镜像创建Azure Windows虚拟机,已挂载包含现有SQL Server数据库的E盘。现有初始化脚本可完成数据库附加、SQL身份验证配置等任务,手动通过RDP登录运行脚本一切正常。

自动化执行遇到的问题

使用Terraform的azurerm_virtual_machine_extension执行该脚本时,非数据库操作(如PowerShell的Set-TimeZone修改时区)可正常运行,但数据库相关脚本以NT Local Authority身份执行,无法完成需要管理员权限的Invoke-SqlCommand操作。

尝试方案及障碍

尝试过多种切换执行身份的方案均失败:

  • 最可行的方案是创建计划任务指定管理员用户运行脚本,但新创建的虚拟机上无法执行该操作;
  • 仅当通过UI登录管理员账户,删除azurerm_virtual_machine_extension资源后重新执行terraform apply,脚本才能正常运行,推测管理员账户需UI登录激活后才能用于身份切换。

当前备选方案是将脚本自动复制到虚拟机C盘后手动运行,但希望找到更优的完全自动化方案,可按需提供Terraform及PowerShell相关代码。

问题总结

  • 虚拟机创建及基础配置正常
  • 手动运行初始化脚本无异常
  • 数据库脚本因执行身份权限不足无法完成验证
  • 切换至指定用户的操作需先通过UI登录激活账户才能生效

内容的提问来源于stack exchange,提问作者Mark NZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 11:06:00