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

M1 Mac(ARM64)にSQLServerをインストールする方法

    以前、SQL Server forLinuxDockerイメージを使用してMacにSQLServerをインストールする方法を説明しました。

    それ以来、AppleはARMアーキテクチャを使用するM1チップをリリースしました。これにより、SQLServerをインストールしようとしたときに問題が発生する可能性があります。問題は、執筆時点では、SQLServerがARMアーキテクチャでサポートされていないことです。

    幸いなことに、別の方法があります。

    AzureSQLEdgeのコンテナーイメージはM1Macにインストールできます。したがって、SQLServerイメージの代わりにそのイメージを使用できます。

    Azure SQL Edgeは、IoTおよびIoTEdgeの展開向けに最適化されたリレーショナルデータベースエンジンです。 SQL Serverデータベースエンジンの最新バージョンに基づいて構築されているため、SQLServerを使用する場合と同じようにT-SQLコードを使用できます。 SQLServerで使用するのと同じツール(SSMS、Azure Data Studioなど)を使用してAzureSQLEdgeをクエリすることもできます。

    この記事では、M1チップを搭載したMacにAzureSQLEdgeのDeveloperEditionをインストールします。

    Dockerをインストールする

    Dockerコンテナを介してSQLEdgeをインストールしているため、Dockerをインストールする必要があります。

    Dockerをまだお持ちでない場合は、次のようにダウンロードしてインストールしてください。

    1. DockerのWebサイトからDockerをダウンロードします。必ずM1Mac用のものをダウンロードしてください(ボタンはMac with Apple Chipと呼ばれていました ダウンロードしたとき)
    2. ダウンロードしたら、.dmgを開きます ファイルを作成し、指示に従ってDocker.appアイコンをアプリケーションフォルダにドラッグします。
    3. 他のアプリケーションを起動するのと同じ方法でDockerを起動します(たとえば、Applicationsフォルダー、Launchpadなどを使用)。 Dockerを開くと、パスワードの入力を求められる場合があります。 Dockerを実行するにはパスワードが必要なので、先に進んでパスワードを入力してください。

    AzureSQLEdgeをインストールする

    Dockerがインストールされたので、先に進んでAzureSQLEdgeをインストールできます。前述のように、これはSQL Serverデータベースエンジンを使用するため、SQLServerにクエリを実行しているかのようにT-SQLクエリなどを実行できます。

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

    docker pull mcr.microsoft.com/azure-sql-edge

    これにより、コンテナイメージがローカルマシンにプル/ダウンロードされます。

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

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

    sudo docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=bigStrongPwd' -p 1433:1433 --name sqledge -d mcr.microsoft.com/azure-sql-edge

    必ずbigStrongPwdを変更してください 選択した強力なパスワードに。 --nameの値を変更することもできます 必要に応じてパラメータ。

    デフォルトでは、コンテナはDeveloperEditionで実行されます。 -e 'MSSQL_PID=Premium'を追加すると、PremiumEditionを実行できます。 。

    Dockerコンテナを確認する

    次のコマンドを使用して、コンテナが稼働しているかどうかを確認できます。

    docker ps

    結果:

    a190dd199b17   mcr.microsoft.com/azure-sql-edge   "/opt/mssql/bin/perm…"   10 seconds ago   Up 9 seconds   1401/tcp, 0.0.0.0:1433->1433/tcp   sqledge
    >

    これは、コンテナが実際に稼働していることを示しています。

    何らかの理由でコンテナが稼働していない場合は、次のコマンドを試してください。

    docker start sqledge

    sqledgeを置き換えます コンテナの名前で。

    コンテナが稼働しているので、先に進んでSQLEdgeに接続できます。

    SQLEdgeに接続

    これで、Dockerイメージの起動時に提供された詳細を使用してAzureSQLEdgeインストールに接続できます。

    これは、AzureDataStudioを介してAzureSQLEdgeに接続するためのスクリーンショットです。

    MacにAzureDataStudioをインストールする方法は次のとおりです。

    Microsoftは、Azure Data Studioは「現在ARMアーキテクチャをサポートしていない」と述べていますが、M1 Macに(つまり、ARMアーキテクチャを使用して)インストールすることに問題はありませんでした。

    SQLクエリの実行

    SQL Edgeに接続すると、データベースの作成、T-SQLクエリの実行などを行うことができます(T-SQLはSQLServerのSQLの拡張機能です)。

    SQLクエリの実行について理解するには、SQLチュートリアルを参照してください。

    SQLEdgeでサポートされている機能

    一部のSQLServer機能はSQLEdgeでサポートされていません。 Azure SQL Edgeは、Linux上のSQLServer2019でサポートされている機能のサブセットをサポートしています。

    とはいえ、SQL Edgeには、SQL Serverでは利用できない機能(DATE_BUCKET()など)がいくつかあります。 関数)。

    完全な内訳については、MicrosoftWebサイトのAzureSQLEdgeのサポートされている機能を参照してください。


    1. 既存のチェック制約を変更する方法は?

    2. SQLServerの複数の列にチェック制約を作成する方法-SQLServer/TSQLチュートリアルパート84

    3. バインドされたパラメータを複数回使用する

    4. psycopg2:1つのクエリで複数の行を挿入