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

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

    更新:SQL Operations Studio(SQLOPS)は、その後AzureDataStudioに名前が変更されました。ただし、この記事の手順は同じです。いずれにせよ、Azure Data Studio専用にこれらの手順を書き直しました(そして同等のスクリーンショットを含めました)。 AzureDataStudioを使用してMacでSQLServerデータベースを復元する方法をご覧ください。

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

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

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

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

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

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

    このページの例は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のファイルシステムとは独立して動作します。そのため、SQLOPSで.bakファイルに移動しようとすると(次の手順で)、Macのファイルシステム上の.bakファイルにアクセスする方法がなく、Dockerコンテナのファイルシステム内に「スタック」していることに気付くでしょう。したがって、最初に.bakファイルをコンテナのファイルシステムにコピーしてから、SQLOPSを介してアクセスできます。

    データベースを復元する

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

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

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

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

    データベースを確認する

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

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

    1. AccessはODBCデータソースとどのように通信しますか?パート4

    2. Redshift / Postgresで、条件を満たす行をカウントする方法は?

    3. PostgreSQLでパーセンタイルを計算する方法

    4. 主要なワイルドカード全文検索をSQLServerで機能させるにはどうすればよいですか?