Ubuntu 20.04: Azure SQL Server コマンドラインツールをインストール

Azure SQL Server をいじる事になったのでメモ

↓のドキュメントの手順に従って bcp と sqlcmd をインストールしようとしたらエラーが出た。

Microsoft ODBC Driver for SQL Server をインストールする (Linux) – SQL Server | Microsoft Docs

The following packages have unmet dependencies:
 unixodbc-dev : Depends: unixodbc (= 2.3.7)
                Depends: odbcinst1debian2 (= 2.3.7) but 2.3.6-0.1build1 is to be installed

stackoverflow を探したら、先に unixodbc をインストールしてないのが原因らしい↓

sql server – Unable install SQLserver tool in ubuntu 20 – Stack Overflow

上記に従って source.list.d からmssqlのlistファイルを一旦除去してから先に unixodbc をインストールしたら直った。

sudo mv /etc/apt/sources.list.d/mssql-release.list .
sudo apt update -y
sudo apt install unixodbc unixodbc-dev -y
sudo mv mssql-release.list /etc/apt/sources.list.d/
sudo apt update -y
sudo apt install msodbcsql17 mssql-tools -y

というわけで、正しいインストール手順はこうなる。

sudo apt update -y
sudo apt install unixodbc unixodbc-dev -y
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt update -y
sudo apt install msodbcsql17 mssql-tools -y
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc