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

AzureDataStudioを使用してMacでSQLServerデータベースを復元する方法

    データベースの復元は、AzureDataStudioでは簡単です。これは、SQL ServerManagementStudioで行うのと同様のプロセスです。 復元をクリックするだけです プロンプトに従います。

    この復元プロセスにより、コンピューターのファイルシステムをナビゲートして.bakファイルを見つけることができます。この.bakファイルには、復元するデータベースのバックアップが含まれています。したがって、SQL Serverがデータベースを復元するときは、.bakファイルを使用して復元します。

    ただし、Dockerコンテナ内でSQL Serverインスタンスを実行している場合(もちろん、MacまたはLinuxでSQL Serverを実行している場合)、バックアップファイルが配置されているかどうかに注意する必要があります。 Dockerコンテナの外部。

    バックアップファイルがSQLServerを実行しているDockerコンテナの外部にある場合は、復元を実行する前に、バックアップファイルをDockerコンテナにコピーする必要があります。 .bakファイルをDockerコンテナーにコピーしたら、先に進んでAzureDataStudioを使用してデータベースを復元できます。

    以下に、関連するすべての手順の概要を示します。

    このチュートリアルでは、Dockerコンテナを使用してMacにSQL Serverをインストールし、AzureDataStudioをインストールしていることを前提としています。

    このページの例はMacで行われたものですが、すべての手順はmacOSとLinuxの両方で機能するはずです。

    サンプルデータベースのダウンロード

    独自のデータベース.bakファイルがすでにある場合は、この手順を実行する必要はありません。

    このチュートリアルでは、WideWorldImportersサンプルデータベースを復元します。これは、MicrosoftがSQLServerのさまざまな機能を披露するために利用できるようにしたサンプルデータベースです。特に、データベースのデータウェアハウスバージョンを使用します。

    WideWorldImportersサンプルデータベースの.bakファイルをダウンロードするには、WideWorldImporters Githubページにアクセスしてダウンロードリンクを見つけるか、ここから.bakファイルを直接ダウンロードできます。

    • WildWorldImportersDW-Full.bak [47.7mb]

    .bakファイルをDockerコンテナにコピーします

    この手順を実行する必要があるのは、.bakファイルがDockerコンテナの外部にある場合のみです(WideWorldImporters .bakファイルをダウンロードした場合のみです)。

    まず、Dockerコンテナ内にフォルダを作成しましょう:

    sudo docker exec -it sql_server_demo mkdir /var/opt/mssql/backup

    次に、データベースの.bakファイルをそのフォルダーにコピーします。

    sudo docker cp WideWorldImportersDW-Full.bak sql_server_demo:/var/opt/mssql/backup

    このコマンドは、.bakファイルと同じディレクトリにいることを前提としています。そうでない場合は、最初にを使用してディレクトリに移動します。例:

    cd Downloads

    またはそれが入っているフォルダ。

    .bakファイルをコピーする必要があるのはなぜですか?

    Dockerコンテナには独自のファイルシステムがあり、Macのファイルシステムとは独立して動作します。そのため、Azure Data Studioで.bakファイルに移動しようとすると(次の手順で)、Macのファイルの.bakファイルにアクセスする方法がなく、Dockerコンテナーのファイルシステム内に「スタック」していることに気付くでしょう。システム。したがって、最初に.bakファイルをコンテナーのファイルシステムにコピーしてから、AzureDataStudioを介してアクセスできます。

    データベースを復元する

    これで、実際のデータベース復元プロセスを実行できます。

    次の手順は、Azure Data Studioが既に実行されており、SQLServerに接続していることを前提としています。

    1. サーバーダッシュボードから、[復元]をクリックします ボタン
    2. 復元元 見出しで、バックアップファイルを選択します ドロップダウンメニューから
    3. バックアップファイルパス 見出しで、省略記号をクリックします( )。
    4. フォルダに移動し、.bakファイルを選択して、[ OK]をクリックします。
    5. [復元]をクリックします
    6. 復元には1〜2分かかる場合があります。 タスク履歴 準備ができたら表示されます

    これでデータベースが復元されました。

    データベースを確認する

    データベースが実際に復元されていることを確認することをお勧めします。これを行う1つの方法は、データベースに移動してクイッククエリを実行することです。

    1. サーバーをクリックします アイコン(画面の左上)
    2. データベースがデータベースの下に表示されます。 該当するサーバーに向かっています。そうでない場合は、データベースを右クリックします 更新を選択します
    3. Azure Data Studioインターフェイスを使用して、データベースに対してクエリを実行します。たとえば、テーブルを右クリックします。 ノード(データベースを展開した後)をクリックし、 Select Top 1000 をクリックします 。これにより、そのテーブルに対してクエリが自動的に実行され、上位1000件の結果のみが選択されます。

    1. T-SQLの週番号から日付を取得する

    2. mysqli ::query():mysqliをフェッチできませんでした

    3. MySQLは最初の10件の結果をスキップします

    4. SQLServerのメッセージ241「文字列から日付や時刻を変換するときに変換に失敗しました」を修正