リモートSQLバックアップは複雑です。 私たちは、理由を説明し、とにかくバックアップを作成するために利用可能なすべてのオプションが表示されます。
リモートSQL Serverは、共有ホスティング環境のように、サーバーのファイルシステムへのアクセスが制限されているサーバーです。
ローカルSQL Serverは、物理的にアクセスできるローカルサーバーや、完全に制御できる専用/仮想サーバーのように、ファイルシステムにフルアクセスできるサーバーです。
リモートSQL Serverバックアップの問題は何ですか?
リモートSQLサーバーの主な問題は、BACKUP DATABASEコマンドを含むSQLスクリプトを実行できますが、結果の*にアクセスできることです。bakファイルは問題があります。 *.bakファイルは、そのSQL serverのローカルドライブのどこかに配置されます。 また、その場所にアクセスしない場合は、圧縮、暗号化、ストレージなどのさらなる処理のためにバックアップファイルをコピーすることはできません。 (SQLバックアップの自動化の意味の詳細)その後、オプションはスクリプトファイルの作成に限定されます。
バク(*.bak)ファイル対スクリプト(*.SQL)sql Serverバックアップ用のファイル
BAKファイルは、Microsoftの標準のBACKUP DATABASEコマンドを使用して作成されたバックアップです(またはSSMSまたはSQLBackupAndFTPを介して)。 彼らは通常*を取得します。bak拡張子。 *を作成するオプションがある場合。bakファイル-それはあなただけでなく、完全なだけでなく、差分とトランザクションログバックアップを保存することができますので、常に代替 また、この形式は最も一般的であり、サードパーティには独自のものではありません。 から復元することができます(*.bak)標準のRESTORE DATABASEコマンドと多くのサードパーティ製ツールを使用したファイル。
スクリプト(*.sql)ファイルは、基本的にデータベースオブジェクトを再作成し、データをテーブルに挿入する一連のSQLコマンドです。 スクリプトファイルを使用する利点は、ほとんどのホスティング環境では、スクリプトファイルをアップロードし、ホスティング管理コントロールパネルを使用してスクリプトファイルを実行できることです。 その後、ホストによってインストールまたは構成されるものを必要とせずにデータベースを復元できます。
しかし、スクリプト(*.sql)メソッドには次の制限があります:
- 標準のBAK型のSQL Serverバックアップ
- を作成するよりも、スクリプトを生成するのに時間がかかりますこのようなスクリプトは、データベースのテキスト(バイナリではない)表現であるため、より多くのスペースを必要としますが、バイナリバックアップよりもはるかに圧縮性があります。
- 通常のバックアップからのスクリプトからデータベースを復元するのに時間がかかります
- 標準バックアップとは異なり、スクリプトにはトランザクショバックアップは十分に文書化されており、ここではその詳細については説明しません。 基本的には、BACKUP DATABASEコマンドを実行し、SQL Server Management Studioまたはサードパーティのツールを使用します。 これにより*が作成されます。サーバーのローカルファイルシステム上のbakファイル。 次に、通常、ファイルを圧縮し、暗号化し、ネットワークドライブ、FTPまたはクラウドなどにアップロードします。 あなたはそれを行うか、SQLBackupAndFTPのような製品でそれをすべて取得するためにあなたのカスタムスクリプトを構築することができます。
*へのリモートSQL Serverバックアップ。ネットワーク共有上のbakファイル
リモートSQL serverが同じネットワーク上にあり、SQL serverの両方が同じネットワーク共有(\\servername\pathなど)にアクセスできる場合、SQL serverでは、次のようなコマンドでこの場所にバックアップすることができます:
データベースdbnameをディスク=N’\\servername\path\dbnameにバックアップします。BAK’
そして、あなた自身のコンピュータからあなたは同じ場所にアクセスすることができるでしょう、*を取ります。bakファイルとあなたがそれで何をしたいです。
SQLBackupAndFTPを使用して、それを自動化したり、ネットワークSQL Serverをバックアップするための独自のスクリプトを書くことができます。
UNCパスへのバックアップの利点は、同じ切望された*でバックアップを取得することです。bak形式。 欠点は、基本的にアクセス権を正しく構成する必要性に関連しています。 権限の詳細については、上記のリンクをご覧ください。
スクリプトへのリモートSQL Serverバックアップ(*.sql)ファイル
生成されたSQL Serverスクリプト(*.sql)バックアップファイルには、リモートコンピュータ上でデータベースを再作成するために必要な情報が含まれています。 スクリプトには、データベーススキーマ(テーブル、ビュー、ストアドプロシージャ、トリガー、フルテキストカタログ、ロール、ルールなど)とデータを再作成するコマンドが含 スクリプトを生成するには、いくつかのオプションがあります(*.sql)バックアップファイル
SqlBackupAndFtp
を使用したスクリプトデータベースこれは、リモートデータベースをバックアップする最も簡単な方法です。 サーバータイプとして「Remote SQL Server」を選択するだけでログイン資格情報を設定できます:
次に、圧縮、暗号化、バックアップを送信する場所、電子メール通知を送信する場所を設定します。 SQLBackupAndFTPを使用してリモートSQL Serverデータベースをバックアップする方法の詳細を参照してください
Sql Server Management Studio(SSMS)
これはアドホックな”バックアップ”として機能しますが、SSMSスクリプトをスケジュールすることはできません。 SSMSを使用してデータベーススクリプトを生成するには:SSMSを開きます。
- リモートSQL serverに接続します。
- バックアップするデータベースを右クリックし、[タスク]-[スクリプトの生成]を選択します。>[スクリプトの生成]を選択します。 これにより、ウィザードが開きます
- 導入画面で次へヒット
- デフォルトの”スクリプト全体データベースとデータベースオブジェクト”を選択したままにして、次へ
- ボタンをクリックし、”データの種類をスクリプトに変更する”を”スキーマのみ”から”スキーマとデータ”に変更します。 ヒットOK
- 「新しいクエリウィンドウに保存する」オプションを選択し、次へ、次へ、終了
スクリプトをローカルファイルにコピーし、必要な場所に保存ま
リモートSQL Serverバックアップのその他のオプション
スクリプトに関して”backup”という単語を使用することが非常に簡単だった場合、このセクションで説 それでも、データのコピーを取得できるため、これらのオプションも確認します。
SQL Serverインポートとエクスポートウィザードを使用したデータの移動SSMS
SQL Serverインポートとエクスポートウィザードを使用して、リモートSQL serverからローカルSQL serverにデータをコピーすることができます。 すべてのデータベースオブジェクトがコピーされるのではなく、データのみがコピーされることに注意してください。 私たちは、メインのバックアップ方法としてそれを使用して想像することはできません。 とにかくここの指示:
- SSMSを開きます
- ローカルSQL serverに接続します
- バックアップを復元するデータベースを右クリックし、タスク->データのインポートを選択します。 これにより、ウィザードが開きます
- データソースとして”SQL Server Native Client”を選択し、リモートSQL serverをサーバー名として選択します。
- データのコピー元のデータベースを選択します。 次だ
- データソースとして”SQL Server Native Client”を選択し、ローカルSQL serverをサーバー名として選択します。
- データのコピー先のデータベースを選択します。 次だ
- コピーするテーブルを選択します。 次、次、終了