リモート サーバーからローカル サーバーにデータベースをコピーする必要があります。SQL Server Management Studio を使用しようとしましたが、リモート サーバー上のドライブにしかバックアップされません。
いくつかのポイント:
- ファイルをコピーできるような方法でリモート サーバーにアクセスできません。
- サーバーへの UNC パスを設定する権限がありません。
このデータベースをコピーする方法はありますか? サードパーティのツールを使用する必要がありますか?
ベストアンサー1
Microsoft SQL Server Management Studio では、バックアップするデータベースを右クリックし、[タスク] -> [スクリプトの生成] をクリックします。
これにより、リモート サーバー上でもデータベースの適切なバックアップを実行するために次の設定を行うことができるウィザードが開きます。
- バックアップしたいデータベースを選択し、「次へ」をクリックします。
- 表示されるオプションは次のとおりです。
- 2010の場合: テーブル/ビューオプションで、「スクリプトデータ」と「スクリプトインデックス」をTrueに変更し、「次へ」をクリックします。
- 2012 年: [全般] で、[スクリプトするデータのタイプ] を [スキーマのみ] から [スキーマとデータ] に変更します。
- 2014: データをスクリプト化するオプションは、「スクリプト オプションの設定」の手順で「非表示」になりました。「詳細」をクリックし、「スクリプト化するデータのタイプ」を「スキーマとデータ」の値に設定する必要があります。
- 次の4つのウィンドウで「すべて選択」を押し、次に
- 新しいクエリウィンドウにスクリプトを作成するように選択
処理が完了すると、バックアップ スクリプトが準備されます。新しいローカル (またはリモート) データベースを作成し、スクリプトの最初の 'USE' ステートメントを変更して新しいデータベースを使用します。スクリプトを安全な場所に保存し、新しい空のデータベースに対して実行します。これにより、(ほぼ) 複製されたローカル データベースが作成され、必要に応じてバックアップできます。
リモート データベースへのフルアクセス権がある場合は、ウィザードの最初のウィンドウで [すべてのオブジェクトをスクリプト化する] をオンにして、次のウィンドウで [データベースをスクリプト化する] オプションを True に変更できます。ただし、スクリプト内のデータベース名を新しいデータベースに完全に検索して置き換える必要があることに注意してください。この場合、スクリプトを実行する前に新しいデータベースを作成する必要はありません。これにより、より正確な複製が作成されますが、権限の制限により使用できない場合があります。