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

Windows-Latest DevOps构建代理SQLLocalDB版本不符,需升级支持ordinal参数

Azure DevOps CI构建代理升级SQLLocalDB至SQL Server 2022版本解决方案

问题描述

我的Azure DevOps CI构建流水线配置为运行在windows-latest构建代理上:

pool:
  vmImage: windows-latest

根据官方文档说明,windows-latest代理应预装SQLLocalDB v17,但执行以下脚本后显示实际版本为v15.0(对应SQL Server 2019):

- script: |
    sqllocaldb versions
    sqllocaldb info
  displayName: Check SQLLocalDB versions on build VM

因需要使用SQL Server 2022中string_split函数新增的ordinal参数,当前部署时触发错误:

*** Could not deploy package.
Error SQL72014: Framework Microsoft SqlClient Data Provider: Msg 8144, Level 16, State 3, Procedure <procedure_name>, Line 42 Procedure or function STRING_SPLIT has too many arguments specified.
Error SQL72045: Script execution error.

核心问题解答

SQL Server 2022有对应的SQLLocalDB版本(v16),该版本完全支持string_split的ordinal参数。

流水线中安装升级步骤

1. 安装SQL Server 2022 LocalDB

在流水线中添加PowerShell任务,下载并静默安装新版本:

- task: PowerShell@2
  displayName: Install SQL Server 2022 LocalDB
  inputs:
    targetType: 'inline'
    script: |
      # 下载SQL Server 2022 LocalDB官方安装包
      Invoke-WebRequest -Uri "官方下载地址" -OutFile "SqlLocalDB.msi"
      # 静默安装,必须同意许可条款
      Start-Process msiexec.exe -ArgumentList "/i SqlLocalDB.msi /qn IACCEPTSQLLOCALDBLICENSETERMS=YES" -Wait
      # 验证安装后的版本
      sqllocaldb versions

2. 创建新版本LocalDB实例

安装完成后,需重新创建实例以使用SQL Server 2022版本:

- script: |
    # 停止并删除默认旧实例(如果存在)
    sqllocaldb stop MSSQLLocalDB
    sqllocaldb delete MSSQLLocalDB
    # 创建SQL Server 2022版本的默认实例
    sqllocaldb create MSSQLLocalDB 16.0 -s
  displayName: Recreate LocalDB Instance for SQL Server 2022

注意事项

  • windows-latest代理可能预装多个SQLLocalDB版本,需确保后续任务调用的是v16版本的实例。
  • 静默安装必须添加IACCEPTSQLLOCALDBLICENSETERMS=YES参数,否则安装会失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 13:43:17