データベースをリモートサーバーからローカルサーバーにコピーする必要があります。 SQL Server Management Studioを使用しようとしましたが、リモートサーバー上のドライブにしかバックアップされません。
いくつかのポイント:
このデータベースをコピーする方法について何か考えはありますか。サードパーティ製のツールを使用する必要がありますか?
Microsoft SQL Server Management Studioでは、バックアップしたいデータベースを右クリックして、「タスク」 - >「スクリプトの生成」をクリックすることができます。
これにより、データベースの適切なバックアップを実行するために次の設定を行うことができるウィザードが開きます。リモートサーバーでも:
それが完了したら、あなたはあなたの前に準備ができているバックアップスクリプトを持つでしょう。新しいローカル(またはリモート)データベースを作成し、新しいデータベースを使用するようにスクリプト内の最初の 'USE'ステートメントを変更します。スクリプトを安全な場所に保存し、先に進んで新しい空のデータベースに対して実行します。これにより、(ほぼ)複製のローカルデータベースが作成され、好きなようにバックアップできます。
リモートデータベースへのフルアクセスがある場合は、ウィザードの最初のウィンドウで[すべてのオブジェクトのスクリプトを作成]を選択してから[スクリプトデータベース]を変更します。 '次のウィンドウで' Trueにするオプション。ただし、スクリプト内のデータベース名を完全検索して新しいデータベースに置き換える必要があります。この場合は、スクリプトを実行する前に作成する必要はありません。これにより、より正確な複製が作成されるはずですが、アクセス許可の制限により利用できないことがあります。
データとスキーマのみをコピーする(ストアドプロシージャ、関数などをコピーしない)には、SQL Serverのインポート/エクスポートウィザードを使用し、コピー先データベースを選択するときにNew ...を選択します。
「データベース」>「タスク」>「データのインポート」を右クリックします。
データソースを選択
目的地を選択
New...
残りは簡単です。
まず、Everyoneを使用して、(以下に示すように)あなたのマシンのローカルパスへのフルコントロールアクセス許可を与えます。 (または、 具体的には権限を付与する SQL Serverエージェントアカウントに)。
次に、以下を実行します。
BACKUP DATABASE [dev] TO DISK = N'\\myMachine\c\dev.bak' WITH COPY_ONLY, INIT;
あなたできないリモートサーバーからローカルディスクへのバックアップを作成する - これを行う方法は全くありません。私が知る限り、これを行うためのサードパーティ製ツールもありません。
あなたができることは、リモートサーバーマシン上にバックアップを作成し、誰かにそれを圧縮してもらうことです。
私はこれが遅い答えであることを知っています、しかし私はSSMSでスクリプトを生成するオプションを使うことを言う最も投票された答えについてコメントをしなければなりません。
それに伴う問題は、このオプションは依存関係を考慮に入れていないため、必ずしも正しい実行順序でスクリプトを生成しないことです。
小規模なデータベースではこれは問題になりませんが、大規模なデータベースでは確かにスクリプトを手動で並べ替える必要があるためです。 500オブジェクトデータベースでそれを試してください;)
残念ながらこの場合の唯一の解決策はサードパーティ製のツールです。
私は ApexSQL (DiffとData Diff)の比較ツールを似たような作業に使用することに成功しました。
あなたは SQLBackupAndFTP を試すことができます。データベース内のすべてのオブジェクトを作成するスクリプトと、テーブル内のすべての行に対するINSERTステートメントを作成します。どのデータベースでもこのスクリプトファイルを実行でき、データベース全体が再作成されます。
リモートデータベースをコピーする方法については、このブログを参照してください。
あなたのローカルPCにリモートSQL ServerからBAKファイルを取得するための99%の解決策があります。私は私のポストでそれを説明しました http://www.ok.unsode.com/post/2015/06/27/remote-sql-backup-to-local-pc
一般的にそれはこのようになります:
sQLスクリプトを実行してBAKファイルを生成する
sQLスクリプトを実行して、各bakファイルをvarbinaryフィールドタイプの一時テーブルに挿入し、この行を選択してデータをダウンロードします。
繰り返します。あなたがbakファイルを持っているのと同じくらい多くの時間ステップ
sQLスクリプトを実行してすべての一時リソースを削除します。
それはそれです、あなたはあなたのローカルPCにあなたのBakファイルを持っています。
あなたはコピーデータベースを使用することができます...リモートデータベースを右クリックします...タスクを選択してコピーデータベースを使用します...それはあなたにソースサーバーと目的地サーバーについて尋ねます。あなたのソースがリモートであり、宛先がSQL Serverのあなたのローカルインスタンスであること。
それはとても簡単です
上記の答えは正しくありません。データを含むSQLスクリプトはバックアップではありません。バックアップは、indizesを含む現在の構造内に完全なデータベースを含むBAKファイルです。
もちろん、すべてのデータを含むフルバックアップを含み、リモートのSQL Serverデータベースから取得したBAKファイルは、ローカルシステムで取得できます。
これは市販のソフトウェアを使って、例えばバックアップBAKファイルをあなたのローカルマシンに直接保存するために行うことができます、例えば これ はあなたのローカルマシン上のリモートSQL dbから直接バックアップを作成します。
Martin Smithが言ったように、あなたがマシンやファイルシステムにアクセスできない場合は、Red GateやAdeptなどのサードパーティ製ツールを使用して、ソースシステムとターゲットシステムを比較する必要があります。 Red Gateのツールを使用すると、オブジェクトとスキーマ、そしてデータをコピーすることができます。
次の条件が満たされている場合、リモートSQL Serverインスタンスからローカルドライブにバックアップを取ることができます。
Backupコマンドを指定するときは、diskオプションを指定するときに共有フォルダパスを使用してください。
これを試してみてください。
1)あなたのコンピュータで完全な許可を得てフォルダを共有する
2)あなたのSQLサーバーで:コントロールパネル - >管理ツール - >サービス - >すべてのSQLサービスを右クリック
[ログオン]タブはドメイン管理者から始まる必要があります
3)SQL Serverのメンテナンスウィザードでバックアップの場所とフォルダ(\ yourcomputername\sharedfoldernam)を置きます
私達の会社の私はsqlサーバー2008年の8サーバーで遠隔バックアップをしました
Ola Hallengren が提供するスクリプトによるバックアップソリューションについて誰も言及していないことに驚いています。絶対にバックアップが可能です。リモートサーバーからネットワーク上のUNCパスへのDB(無料で使用しています)。SSMS経由以外でリモートアクセスが許可されていないdevサーバーから自分のdev上の共有にDBをバックアップするときに使用します。 PC)これは2008年から利用可能であり、SQL Server 2005から2014年まで動作します。
設定した共有に十分なアクセス権があることを確認する必要があります。バックアッププロセスの間、 'Everyone' ADグループへの完全な読み取り/書き込みを許可する傾向があります。個人的な選択.
よく使われ、文書化されていて、とても柔軟です。私はprocsとloggingテーブルをそれら自身の小さなユーティリティデータベースに入れてそれから起動する傾向があります。すべてがADドメイン内にあり、同じ場所にあるサーバーなどにあるという意味でリモートではない場合、これは非常にうまく機能します。
非常に古いスレッドを追加してしまったことをお詫び申し上げますが、何か他のものを探すときに私はこれに出会い、それがこのトピックを探している人にとって価値のある追加であると考えました。
一部の他社製バックアッププログラムでは、特定のネットワーク権限を使用してファイル転送を設定できます。 SQL Serverサービスが制限付きアカウントで実行されており、十分なネットワーク権限がない場合に非常に便利です。このタスクを解決する EMS SQL Backup を使ってみてください。
私は一度それをすることができます...これをするためにあなたは共有をリモートサーバで開かなければなりません。その後、デフォルトの場所ではなく、共有自体にバックアップを直接配置できます。
通常、管理者はバックアップを取り、それを共有フォルダで共有します。私はそこにバックアップを置く場合それがうまくいくかどうか私は試してみました。出来た。
私はこの目的のために Redgate backup pro 7 ツールを使用しています。あなたは他の場所にタイルを作成することでバックアップファイルからミラーを作成することができます。そしてネットワーク上およびホストストレージ上に作成した後にバックアップファイルを自動的にコピーすることができます。
SSMSでGenerate Scriptsを使用する場合は、[詳細設定]ボタンをクリックしてください。 [依存オブジェクトのスクリプトを生成する]オプションで、[True]をクリックします。クリックすると、各オブジェクトの依存関係も適切な順序でスクリプト化されます。