sql >> データベース >  >> RDS >> Sqlserver

MacにSQLServer2019をインストールする

    以前、Dockerコンテナを介してMacにSQLServerをインストールする方法を説明しました。私がそれを書いたとき、SQL Server2017はSQLServerの最新バージョンであり、LinuxとDockerで利用できるようになったばかりです(つまり、MacOSシステムにもインストールできます)。

    2018年後半に、MicrosoftはSQL Server 2019プレビューを発表し、その後2019年後半に一般リリースを発表しました。SQLServer2019のインストールプロセスは、SQL Server 2017の場合とまったく同じです。唯一の違いは、次のコンテナイメージを使用する必要があることです。 2017イメージの代わりにSQLServer2019。ここでは、その方法を説明します。

    また、SQL Server 2017が既にインストールされていて、2017バージョンを削除せずにSQL Server 2019をインストールする場合は、ホストに別のポート番号を割り当てる必要があります。その方法も紹介します。

    しかし最初に… M1チップを搭載したMacを使用している場合は、「M1 Mac(ARM64)にSQLServerをインストールする方法」を参照してください。

    Docker

    最初のステップは、Dockerをインストールすることです。 Dockerが既にインストールされている場合は、この手順をスキップできます(そして、SQL Serverに直接ジャンプできます)。

    Dockerは、ソフトウェアを独自の分離された環境で実行できるようにするプラットフォームです。したがって、SQL Server 2019は、独自の分離されたコンテナー内のDockerで実行できます。

    1. Dockerをインストールする

      ダウンロードするには、Docker CE for Macのダウンロードページにアクセスし、 Get Dockerをクリックします。 。

      インストールするには、 .dmgをダブルクリックします ファイルを作成してから、 Docker.appをドラッグします アプリケーションのアイコン フォルダ。

    2. Dockerを起動

      他のアプリケーションを起動するのと同じ方法でDockerを起動します(たとえば、Applicationsフォルダー、Launchpadなどを使用)。

      Dockerを開くと、DockerがネットワークコンポーネントとDockerアプリへのリンクをインストールできるように、パスワードの入力を求められる場合があります。 Dockerを実行するにはパスワードが必要なので、先に進んでパスワードを入力してください。

    3. メモリを増やす(オプション)

      デフォルトでは、Dockerには2GBのメモリが割り当てられます。可能であれば、4GBに増やすことをお勧めします。

      これを行うには、環境設定を選択します トップメニューの小さなDockerアイコンから:

      次に、リソースで>詳細 画面で、メモリスライダーを少なくとも4GBまでスライドさせます:

      次に、適用して再起動をクリックして終了します。

    SQL Server

    Dockerがインストールおよび構成されたので、SQLServer2019をダウンロードしてインストールできます。

    1. SQLServer2019をダウンロード

      ターミナルウィンドウを開き、次のコマンドを実行します。

      sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
      

      これにより、最新のSQL Server forLinuxDockerイメージがコンピューターにダウンロードされます。

      必要に応じて、DockerWebサイトでさまざまなコンテナイメージオプションを確認することもできます。

    2. Dockerイメージを起動する

      次のコマンドを実行して、ダウンロードしたDockerイメージのインスタンスを起動します。

      sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1433:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
      

      Bartを変更するだけです 選択した名前にreallyStrongPwd#123 選択したパスワードに。

      「ポートはすでに割り当てられています」というエラーが発生した場合は、以下を参照してください。

      パラメータの説明は次のとおりです:

      -e 'ACCEPT_EULA=Y'
      Y EULA(エンドユーザー使用許諾契約)に同意することを示します。これは必須です。
      -e 'SA_PASSWORD=reallyStrongPwd#123'
      saを設定する必須パラメーター データベースのパスワード。
      -p 1433:1433
      これにより、ローカルポート1433がコンテナのポート1433にマップされます。最初の値は、ホスト環境のTCPポートです。 2番目の値はコンテナのTCPポートです。
      --name Bart
      別のオプションのパラメータ。このパラメーターを使用すると、コンテナーに名前を付けることができます。これは、ターミナルからコンテナを停止および開始するときに便利です。 sql_server_2019のようなわかりやすい名前を付けることをお勧めします または同様のもの。
      -d
      このオプションのパラメーターは、Dockerコンテナーをデーモンモードで起動します。これは、バックグラウンドで実行され、独自のターミナルウィンドウを開く必要がないことを意味します。このパラメータを省略して、コンテナを独自のターミナルウィンドウで実行することができます。
      mcr.microsoft.com/mssql/server:2019-latest
      これはDockerにどのイメージを使用するかを指示します。

      パスワード強度

      強力なパスワードを使用する必要があります。 Microsoftはパスワードについてこう言っています:

      パスワードはSQLServerのデフォルトのパスワードポリシーに従う必要があります。従わない場合、コンテナーはSQL Serverをセットアップできず、動作を停止します。デフォルトでは、パスワードは8文字以上で、大文字、小文字、10進数、記号の4つのセットのうち3つを含む必要があります。

      エラー–「ポートはすでに割り当てられています」?

      「ポートは既に割り当てられています」というエラーが表示された場合は、そのポートを使用する別のコンテナーにSQLServerが既にインストールされている可能性があります。この場合、ホスト上の別のポートにマッピングする必要があります。

      したがって、上記のコマンドを次のように変更できます。

      sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1400:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
      

      この場合、私は単に-p 1433:1433を変更しました -p 1400:1433へ 。他のすべては同じままです。

      最初に既存のコンテナを削除する必要があるというエラーが表示される場合があります。これを行うには、次を実行します(ただし、Bartを交換します 自分のコンテナの名前で):

      sudo docker rm Bart
      

      削除したら、前のコマンドをもう一度実行してみてください。

      ここで行ったようにポートを変更する場合は、デスクトップのデータベースツールからSQL Serverに接続するときに、ポート番号を含める必要があることに注意してください。たとえば、Azure Data Studio(後述)を介して接続する場合は、Localhost,1400を使用して接続できます。 Localhostだけでなく 。コマンドラインSQLツールであるmssql-cliと同じです。

    すべてをチェック

    これで、準備が整いました。いくつかのチェックを実行してみましょう。

    1. Dockerコンテナを確認します(オプション)

      次のコマンドを入力して、Dockerコンテナが実行されていることを確認できます。

      sudo docker ps -a
      

      私の場合、これを取得します:

      CONTAINER ID        IMAGE                                               COMMAND                  CREATED              STATUS              PORTS                    NAMES
      c1b060f68fcb        mcr.microsoft.com/mssql/server:2019-latest          "/opt/mssql/bin/sqls…"   About a minute ago   Up About a minute   0.0.0.0:1400->1433/tcp   Bart
      fdec67e6a28d        microsoft/mssql-server-linux                        "/opt/mssql/bin/sqls…"   4 months ago         Up 8 days           0.0.0.0:1433->1433/tcp   Homer
      

      これは、2つのDockerコンテナが稼働していることを示しています。1つは Bart と呼ばれます もう1つは Homer と呼ばれます 。

    2. SQLServerに接続する

      ここでは、コンテナ内で「sqlcmd」と呼ばれるSQLServerコマンドラインツールを使用してSQLServerに接続します。

      sudo docker exec -it Bart "bash"
      

      プロンプトが表示されたらパスワードを入力します。

      コンテナ内にいるので、sqlcmdを使用してローカルに接続します:

      /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "reallyStrongPwd#123"
      

      これにより、sqlcmdプロンプト 1> が表示されます。 。

    3. クイックテストを実行する

      クイックテストを実行して、SQLServerが稼働していることを確認します。たとえば、次のように入力してSQLServerのバージョンを確認します。

      SELECT @@version
      

      これにより、コマンドプロンプト 2> が表示されます。 次の行に。クエリを実行するには、次のように入力します。

      GO
      

      結果:

      +--------------------+
      | (No column name)   |
      |--------------------|
      | Microsoft SQL Server 2019 (RTM-CU3) (KB4538853) - 15.0.4023.6 (X64) 
              Mar  4 2020 00:59:26 
              Copyright (C) 2019 Microsoft Corporation
              Developer Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS)                     |
      +--------------------+
      (1 row affected)  
      

      このようなメッセージが表示された場合は、おめでとうございます— SQL ServerがMacで稼働しています!

      GUIを使用してSQLServerを管理する場合は、読み進めてください。

    Azure Data Studio

    Azure Data Studioは、MacでSQLServerを管理するために使用できる無料のGUI管理ツールです。これを使用して、データベースの作成と管理、クエリの作成、データベースのバックアップと復元などを行うことができます。

    Azure Data Studioは、Windows、Mac、およびLinuxで使用できます。

    AzureDataStudio用に作成した記事/チュートリアルは次のとおりです。

    • AzureDataStudioとは
    • MacにAzureDataStudioをインストールする方法
    • AzureDataStudioを使用してデータベースを作成する方法
    • MacでAzureDataStudioを使用してデータベースを復元する方法

    もう1つの無料のSQLServerGUI – DBeaver

    Mac(およびWindows / Linux / Solaris)で使用できるもう1つのSQLServerGUIツールはDBeaverです。

    DBeaverは、ほとんどのデータベース管理システム(MySQL、PostgreSQL、MariaDB、SQLite、Oracle、DB2、SQL Server、Sybase、Microsoft Access、Teradata、Firebird、Derbyなど)で使用できる無料のオープンソースデータベース管理ツールです。 。

    DBeaverの概要を少し書きました。または、DBeaverのダウンロードページに直接アクセスして、新しいSQLServerのインストールで試してみることができます。


    1. データベース全体で文字セット(および照合)を変更するにはどうすればよいですか?

    2. WHERE句の列の順序は重要ですか?

    3. 結合されたテーブルにLIMIT1を指定したMySQLJOIN

    4. MariaDBでのLOG()のしくみ