Azure Pipelines の Windows Agent で SQL Server 2019 Local DB を使う

前にこんなの書いてたんですが、Pipelines に代わってから使うの初ということで試してました。
VSTS の ビルドで SQL Server LocalDB を使ってテストしたい - お だ のスペース

んで、今の最新の Windows Agent でバージョン調べてみると…


変わらず 2016SP1 相当。。

前は 2016 でも良かったんですが、今回は 2019 が必要なのでちょい調べてみました。

ここから、Microsoft-hosted agents for Azure Pipelines - Azure Pipelines | Microsoft Docs、こっちに飛んで virtual-environments/Windows2019-Readme.md at main · actions/virtual-environments · GitHub
中身見ると SQL Server インストールされてないみたいです。
Visual Studio 2019 Ent 付属の Local DB なんですかね。

若干諦めてたら、教えてもらいましたー。

Restore SQL Server Express 2019 · Issue #1282 · actions/virtual-environments · GitHub より引用

- task: PowerShell@2
  displayName: Install SQL 2019 Localdb
  inputs:
    targetType: 'inline'
    script: |
      Write-Host "Downloading"
      Import-Module BitsTransfer
      Start-BitsTransfer -Source https://download.microsoft.com/download/7/c/1/7c14e92e-bdcb-4f89-b7cf-93543e7112d1/SqlLocalDB.msi -Destination SqlLocalDB.msi
      Write-Host "Installing"
      Start-Process -FilePath "SqlLocalDB.msi" -Wait -ArgumentList "/qn", "/norestart", "/l*v SqlLocalDBInstall.log", "IACCEPTSQLLOCALDBLICENSETERMS=YES";
      Write-Host "Checking"
      sqlcmd -l 60 -S "(localdb)\MSSQLLocalDB" -Q "SELECT @@VERSION;"

これで 無事 Local DB のバージョンが 2019 になりました。
ダウンロード先が変わらない限りはこれで何とかなりそうですね。

追記 2020/11/13