20

mysqldump を使用した MySQL の場合と同様に、SQL Server 用の同等のスキーマおよびデータ エクスポート/ダンプ ツールはありますか。従来の ASP サイトを移転しようとしていますが、Windows サーバーでの作業に満足していません。

注: DTS エクスポート ユーティリティ自体は、テーブル定義なしでデータをエクスポートしているようです。Enterprise Manager を使用してデータベースをエクスポートすることは、スキーマとデータをエクスポートすることに近づきますが、それでもストアド プロシージャは見逃されます。

基本的に、必要なものすべてを一度に取得するすべてのソリューションを探しています。

4

11 に答える 11

23

これを SQL Server 2008 Management Studio で非常に簡単に行うには:

1.) データベース (テーブルではない) を右クリックし、[タスク] -> [スクリプトの生成] を選択します。

ツールの場所

2.) 最初のページで [次へ] をクリックします。

3.) データベース全体をコピーする場合は、[次へ] をクリックします。特定のテーブルをコピーする場合は、[特定のデータベース オブジェクトの選択] をクリックし、必要なテーブルを選択して、[次へ] をクリックします。

4.) [ファイルに保存] を選択する必要があります。重要: [ファイルに保存] の横にある [詳細設定] ボタンをクリックし、[スクリプトを作成するデータの種類] を見つけて、[スキーマのみ] を [スキーマとデータ] (テーブルを作成する場合) または [データのみ] (既存のテーブルにデータをコピーしている場合)。

スクリプトへのデータの追加

5.) 残りをクリックして、完了です。.sql ファイルとして保存されます。

于 2013-07-15T18:28:21.700 に答える
11

最も簡単な方法は、SQL Server データベース公開ウィザードです。

  • オープンソース
  • 無料
  • まさにあなたが望むことをします
  • マイクロソフトが開発

mysqldump のすべての機能を備えているわけではありませんが、十分に近いものです。

http://www.codeplex.com/sqlhost/wiki/view.aspx?title=database%20publishing%20wizard

于 2008-09-17T17:26:32.197 に答える
10

データベースを移動する最も簡単な方法は、SQL Server Management Studio を使用してデータベースを別のサーバーにエクスポートするか、それが機能しない場合は、他の人が提案したようにバックアップを作成し、別の場所に復元することです。

テーブル構造を SQL にダンプし、データの挿入スクリプトを作成する方法を探している場合は、 http: //www.asql.biz/en/Download2005.aspx から amScript と amInsert を無料で使用することをお勧めします。 .

優れた有料バージョンが必要な場合は、Red-Gate SQL Compare と Red-Gate SQL-Data Compare をチェックしてください。ただし、これらのツールはおそらくやり過ぎであり、あまり使用するつもりがない場合はおそらく少し高価です. ほとんどの場合、DBA に追いやられると思います。http://www.red-gate.com/で Red-Gate ツールを確認できます。

于 2008-09-17T16:51:56.897 に答える
6

適切なツールが見つからなかったため、独自の sqlserverdump コマンド ライン ユーティリティを作成することにしました。githubで確認してください。

于 2011-09-21T14:35:49.950 に答える
2

SMO API を使用するとさらに簡単です。これにより、mysqldump とまったく同じ、またはそれ以上のことができます。コード例を次に示します。

http://samyem.blogspot.com/2010/01/automate-sql-dumps-for-sqlserver.html

于 2010-01-05T15:50:46.920 に答える
1

さて、Mysqldump は一連の SQL ステートメントです。これは DTS を使用して実行できますが、バックアップを作成して新しいマシンに復元しないのはなぜでしょうか?

SQL 経由で実行する場合: http://msdn.microsoft.com/en-us/library/aa225964(SQL.80).aspx

または、DB を右クリックして [タスク] -> [バックアップ] ( http://msdn.microsoft.com/en-us/library/ms187510.aspx )をクリックします。

于 2008-09-17T16:45:53.603 に答える
0

最も簡単なのは、バックアップと復元、またはデタッチとアタッチです

または、すべてのテーブルをスクリプト化し、BCP でデータを出力してから、新しいサーバーのデータで BCP を実行します。

または、DTS/SSIS を使用してこれを行います

于 2008-09-17T16:46:34.587 に答える
0

バックアップ/復元で実行できない 2 つのこと:

  1. 元の質問の一部だった Microsoft サーバーから降りる
  2. 2 つの DB のうちの 1 つの実行速度が遅い場合に、同じ構造を持つはずの 2 つの DB の構造上の違いをすばやく見つけるのに役立ちます。Unix diff、または sdiff は空白を無視しますが、入力ファイルを作成する方法が必要です。
于 2010-08-05T17:07:55.380 に答える
0

SQL Enterprise manager または SQL Server Management studio にはウィザード ベースのアプローチがあり、後者はスクリプトを生成するので、その実行方法を確認できます。

BACKUP および RESTORE コマンドを使用することもできます。詳細はこちら: http://msdn.microsoft.com/en-us/library/ms189826.aspx

于 2008-09-17T16:48:35.767 に答える
0

DTS または Integration Services を両方のサーバーに接続できる場合は、ウィザードを使用して、あるサーバーから別のサーバーに「オブジェクトをコピー」できます。「データベースのコピー」では、2 つのサーバーが相互に認証できる必要があります。これは通常、同じドメイン上にあり、サービスがドメイン ログオンで実行されることを意味します。

それ以外の場合は、スキーマのスクリプトを生成し、Integration Services/DTS パッケージを使用してデータをファイルにエクスポートし、それを別のファイルにインポートできます。

現在、一般的にSQL CompareSQL Data Compareを使用しています。Red Gate のSQL Packagerも選択肢の 1 つかもしれません。

于 2008-09-17T16:48:54.067 に答える
0

CREATE TABLE... & INSERT INTO... のような同等の SQL ステートメントが必要な場合は、HeidiSQL を試すことをお勧めします。これは、Microsoft SQL Server、MySQL、および PostgreSQL にアクセスできる素晴らしい無料のユーティリティです。データの参照と編集、テーブル、ビュー、プロシージャ、トリガー、およびスケジュールされたイベントの作成と編集を行うことができます。また、構造とデータを SQL ファイルにエクスポートできます。 http://www.heidisql.com

Tools / Export database as SQL に移動し、スキーマを選択します。チェックボックスをオンにしてテーブルを作成し、データを「挿入」します。それでおしまい。

「Microsoft SQL Server Management Studio」やphpMyAdminなどよりもHeidiSQLを好みます。

于 2018-04-30T21:31:21.657 に答える