SQLShack

はじめに

Linux で動作する新しいサーバーの数が増え、Microsoft の Azure 仮想マシンの 1/3 でも Linux を実行していることから、市場シェアを拡大して新しい顧客を引き付けるために、SQL Server を Linux にもたらす選択をしたのでしょう。

Microsoft は、Windows Phone OS だけでなく、iOS や Android などのさまざまな携帯電話 OS 向けの Office 365 アプリなど、さまざまな製品で Windows 環境以外への進出を始めています。 Microsoft は、Ubuntu、Red Hat、および SUSE 上で、Windows バージョンの SQL Server と同じように感じ、見え、動作する SQL Server を提供したいと述べており、少なくともフロントエンドの観点からは、ユーザーはそれらの違いを見ることができないはずです。

考慮すべき点

Linux 上の SQL Server はまだ非常に新しいので、使用時に一貫性のない動作や部分的にサポートされている機能が明らかになることがあります。 Microsoft は、Ubuntu、Red Hat、SUSE、および Docker エンジン上の SQL Server のプレビュー版では、トランザクション処理とデータ ウェアハウスをサポートするコア データベース エンジン コンポーネントなどの基本機能をサポートすると述べています。 現時点では、MicrosoftがSQL Server on Linuxのリリースノートで述べているように、最新のCommunity Tech Preview 2.0(CTP 2.0)でも、まだ対応していない機能が多く、この分野ではまだやるべきことが残っているようです。 それでも、これは Microsoft にとって大きな一歩であり、多くの DBA が待ち望んでいたものです。

システム要件

Microsoft は、Ubuntu、Red Hat、SUSE および Docker エンジンに SQL Server をインストールする完全なシステム要件を明言していませんが、唯一指摘したことは 3.25GB 以上の RAM が必要ということでした。 UbuntuでSQL Serverを実行するために必要なRAMとHDDの容量を調整し、Ubuntuを実行するための基本的な最小システムハードウェア要件を以下にリストアップする。
CPU 700Mhz プロセッサ (Intel Celeron 以上)
RAM: 最小 4GB (Ubuntu は最小で 512MB 必要)
HDD: Ubuntu では 5GB、SQL Server では最小で追加 3GB

インストール手順

Linux 上の SQL Server は現在 Red Hat、SUSE、Ubuntu と、Docker エンジンという 2 つの Linux のディストーションをサポート しています。

この記事では、Ubuntu(この記事を書いている時点の最新バージョンは 17.04)に SQL Server をインストールします。

  1. まず、デスクトップを右クリックし、「ターミナルを開く」を選択して、「ターミナル」を開きます。

    あるいは、左上のスタートメニューから、それを開いて、ターミナルをクリックして、ターミナルを開くこともできます。

  2. Terminal を開くと、下の写真のようなウィンドウが表示されます。 まず、次のコマンドを入力して、公開リポジトリの GPG 鍵をインポートしてもらう必要があります:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –

  3. ステップ完了前にユーザーはアカウント パスワードを挿入する必要があります。

  4. その後、Microsoft SQL ServerのUbuntuリポジトリを登録させる必要があります。 このステップでも前回同様、アカウントのパスワードを入力してからステップを完了させる必要があります(ただし、最後のアクションから15分経過した場合のみ、15分間に一度だけパスワードを入力することで作業の流れをスムーズにするUbuntuの機能です)

    curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.D

    curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list

    curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.D

    curl

  5. これで、UbuntuにSQL Serverをインストールするには、次のコマンドを入力します。

    sudo apt-get update
    sudo apt-get install -y mssql-server

    これにて、パッケージはインストールされています。 UbuntuにSQL Serverを完全にインストールするには、mssql-conf setupを実行し、プロンプトに従う必要があります。 また、SAアカウントの作成には、強力なパスワードを推奨します(最低8文字の長さで、大文字と小文字の両方と基本10桁または/および非英数字の記号を含む)。 セットアップを続けるには、次のコマンドを実行します:

    sudo /opt/mssql/bin/mssql-conf setup

  6. Ubuntu への SQL Server インストール完了後、サービスが開始・実行されているかどうかを、次のコマンドで確認することができます。

    systemctl status mssql-server

  7. しばらくするとソフトウェアの更新があり、ターミナルで数行で処理できるようになることがあります。 まず、以下のコマンドを実行し、アカウントのパスワードを入力することで、apt-getリポジトリのリストを更新することが必要です。

    sudo apt-get update
    sudo /opt/mssql/bin/mssql-conf setup

  8. リポジトリリストの更新後、SQLサーバーの更新に必要となるのは上記のインストールコマンドで、mssql-serverパッケージが更新されていることが前提となっています。

    sudo apt-get install mssql-server

    これらのコマンドを実行すると、最新のパッケージをダウンロードし、その後 /opt/mssql の下にある更新済みのバイナリを置き換えるようにします。 この操作によって、ユーザーが作成したデータベースやシステム データベースに影響はありません。

SQL Server Tools のインストール

オプションとして、ユーザーは Ubuntu に SQL Server Tools をインストールして、使用感を改善することも可能です。 現在、このパッケージには、コマンドライン クエリー ユーティリティ (sqlcmd) とバルク インポート エクスポート ユーティリティ (bcp) が含まれています。

インストールはターミナルからも行えます:

  1. まず、公開リポジトリのGPG鍵をインポートする必要があります。 このコマンドを実行した後、アカウントのパスワードを入力する必要があります。

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add –

  2. その後、Microsoft Ubuntuリポジトリを登録する必要があります:

    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.D /apt-source.list.d /apt-key add –

    このコマンドを実行すると、Ubuntuリポジトリは、GPG鍵をインポートします。list

  3. ソースリストを更新して、unixODBC 開発者パッケージでインストールコマンドを実行します。

    sudo apt-get update
    sudo apt-get install mssql-tools unixodbc-dev

  4. 2番目のコマンド実行後に、インストールします。 インストールを許可するよう促されます

  5. その後、ユーザーはライセンス条項

    に同意する必要があります。

  6. sqlcmd と bcp コマンドが bash シェルからアクセスできるようにするためです。 PATHは、~/.PATH.PATHで変更する必要があります。bash_profile でコマンドを使用して変更する必要があります。bash_profile

    非ログインおよび対話型セッションの場合、PATH を適宜変更する必要があります:

    echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bashrc
    source ~/.bashrc >

    echo ‘export PATH=’/opt-mssql-binbashrc

  7. インストール完了後、Ubuntu上のSQL Serverの機能を確認するためにテストデータベースを作成します。

  8. プロセス完了後、Windowsマシンにインストールされた最新のSQL Server Management Studioが開始されます。 Ubuntuマシンはローカルネットワーク内にあるため、この場合IPアドレスは192.168.1.8.となります。 SQL Serverの認証情報で接続すると(この場合、Windows認証は機能しないため)、Linux Terminalのsqlcmdツールで先ほど作成したデータベースが作成され、サーバーに到達できることが確認できる。

SQLサーバーエージェントのインストール

SQL Server Toolsに加えて、SQL Server AgentもUbuntuにSQL Serverをインストールしてから追加でインストールしてスケジュールジョブを管理・実行できるようになりました。

  1. ソースリストを更新してインストールコマンドを実行すると、Agent が起動できるように SQL Server を再起動するように Terminal にプロンプトが表示されます。

    sudo apt-get update
    sudo apt-get install mssql-server-agent
    sudo systemctl restart mssql-server

    その後、SSMS でサーバーに接続すると SQL Server Agent が実行中であると表示されるようになる。

トラブルシューティング

問題

  • Ubuntu で SQL Server から接続できない。 SSMS

解決策

  • Ubuntuマシンでサーバーが起動しているか、コマンドで確認します。

    sudo systemctl status mssql-server

    サーバーが実行されていない場合、次のコマンドを実行することで開始できます。

  • ファイアウォールが SQL Server がデフォルトで使用する 1433 ポートを許可したことを確認します。 まず、UbuntuのUncomplicated Firewallであるufwの状態を確認する必要があります。以下のコマンドを実行し、アカウントのパスワードを入力します:

    sudo ufw status

    • ufwを通じてポートを許可するには、以下のコマンドを実行してください。

      sudo ufw allow 1433

    問題

    • SAアカウントを使用してサーバーに接続できない

    解決策

    • システム管理者の(SA)パスワードをリセットするには、以下のコマンドを実行してください。 は、以下のコマンドを実行します。

      sudo systemctl stop mssql-server
      sudo /opt/mssql/bin/mssql-conf setup

      これは、SQL Server mssql-server サービスを一時的に停止することに注意してください。

    • 著者
    • 最近の投稿
    Stefan(スティーファン Veselinovic
    ApexSQL サポート セールス エンジニア
    幼い頃から電子機器の世界に入り込んでいたStefan氏。 いつも身の回りにあるものをいじっています。 その後、ITの世界にも足を踏み入れました。 データベース管理、プログラミング、グラフィックデザインに興味を持つようになった。 新しいことを学び、試すことで、日々自己研鑽に励んでいる。
    Stefan は現在、ApexSQL LLC でソフトウェアセールスエンジニアとして働いており、データベースのパフォーマンスとバックアップを専門としています。
    Stefan Veselinovic
    Stefan Veselinovicの最新の投稿 (全て見る)
    • How to install SQL Server on Ubuntu – May 18, 2017

コメントを残す

メールアドレスが公開されることはありません。