web-dev-qa-db-ja.com

SQLサーバー用のmysqldump

私はmysqlデータベースでmysqldumpを何度も使用しており、その動作に精通しています。 SQLServerデータベースで使用できる同様のツールがあるかどうか誰かが知っていますか。

SQL Serverがデータベースをバックアップできることは知っていますが、可能であれば、すべてのSQL挿入ステートメントをテキストファイルに出力したいと思います。

4
Simon Foster

テーブルのデータからSQL挿入ステートメントを作成するフリーウェアがあります。

[SQL Dumper](モデレーター注:マルウェアが蔓延しているサイトのためにリンクが削除されました)

SQL Server Dumperを使用すると、選択したSQLServerデータベーステーブルをSQLINSERTステートメントにダンプできます。SQLINSERTステートメントは、ローカルの.sqlファイルとして保存され、重複テーブルの作成に必要なすべてのデータを含むか、バックアップ目的で使用されます。テーブルごとに個別の.sqlファイルを作成するか、選択したすべてのテーブルを1つのファイルに結合するかを選択できます。

このプログラムは、次の特別な機能を実装しています。

  • 衝突/エラーなしでデータを挿入するために、外部キーはテキストファイルのテーブルを注文します
  • 主キーIDENTITYは、IDENTITYフィールドの値を保証します
  • それ自体への参照は制約を排除し、最後にそれを再度作成します

SQL Serverの組み込みスキーマ生成(オブジェクトスクリプト)と組み合わせて使用​​します。

4
splattne

これを行うために独自のSQLを作成する以外に、市販のツールがあります。

2
Kev Riley

Sql Server 2005および2000の場合、MicrosoftにはデータベースパブリッシングWizardダウンロードできます ここ 無料です。そのツールの新しいバージョンがSql Server2008に組み込まれています。

2
Rob Allen

SQL Server 2008には、これを可能にする新しいオプションがあります。これを行う方法を説明する まともな記事 があります。以前のバージョンのSQLServerにはこの機能が組み込まれておらず、スクリプトを生成するために外部ツールが必要でした。

0
Justin Scott

(私はSQL Serverの専門家なので)mysqldumpをざっと見てみましたが、2008年以前のSQL Serverには、同じことを行うネイティブなものはありません。ただし、(SQL Server Management Studioを使用して)データベースからテーブル定義をスクリプト化してから、すべてのテーブルデータをネイティブ(つまり、raw)形式または読み取り可能な形式でファイルにエクスポートできます。

これにより、SQL Serverインポートツールを使用してデータベースを再作成し、希望する方法でデータを挿入できます。または、挿入ステートメントを自分で作成することもできます(ただし、ID値などで注意が必要になります)。

ただし、自分で行うことはお勧めしません。この方法が本当に必要な場合は、利用可能な(無料ではない)ツールの1つを試してください。私の頭から離れているのは Apex SQL Script だけです。

2008では、SQL Server Management Studioを使用して、スクリプトを作成したり別の製品を購入したりする煩わしさなしにこれを行うことができます。

これがお役に立てば幸いです。

0
Paul Randal