92

MS SQL Server 2005/2008 でテーブルレベルのバックアップ (ダンプ) を取得する方法は?

4

16 に答える 16

90

BACKUP DATABASEもちろん、問題のテーブルがそれ自体に割り当てられていない限り、コマンドを使用して単一のテーブルをバックアップすることはできませんFILEGROUP

あなたが提案したように、あなたができることは、テーブルデータをCSVファイルにエクスポートすることです。これで、テーブルの定義を取得するために、スクリプトを「スクリプトアウト」することができますCREATE TABLE

これは、SQL ServerManagementStudio内で次の方法で実行できます。

[データベース]>[タスク]>[スクリプトの生成]を右クリックします

次に、スクリプト化するテーブルを選択し、制約やインデックスなどの関連オブジェクトを含めることも選択できます。

DATAだけschemaでうまくいくためにはAdvanced、[スクリプトオプションの設定]タブで選択する必要があり、GENERALセクションで選択を設定しTypes of data to scriptますSchema and Data

これがお役に立てば幸いですが、さらにサポートが必要な場合は、直接私に連絡してください。

于 2009-03-25T09:27:08.857 に答える
56

一括コピー ユーティリティを使用してテーブル レベルのバックアップを実行しています

輸出する:

bcp.exe "select * from [MyDatabase].dbo.Customer " queryout "Customer.bcp" -N -S localhost -T -E

インポートするには:

bcp.exe [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000

ご覧のとおり、任意のクエリに基づいてエクスポートできるため、これを使用して増分バックアップを行うこともできます. さらに、ここで説明した SSMS を使用する他の方法とは対照的に、スクリプト化が可能です。

于 2010-11-16T19:13:33.967 に答える
45

必要な手順は次のとおりです。データが必要な場合は、Step5 が重要です。ステップ 2 では、個々のテーブルを選択できます。

編集スタックのバージョンは完全に判読できません... フルサイズの画像はこちらhttp://i.imgur.com/y6ZCL.jpg

John Sansomの回答の手順は次のとおりです

于 2011-09-16T13:19:33.617 に答える
19

以下のクエリを実行して、既存のテーブルのバックアップを作成し、データとともに古いテーブルの既存の構造を持つ新しいテーブルを作成できます。

select * into newtablename from oldtablename

テーブル構造のみをコピーするには、次のクエリを使用します。

select * into newtablename from oldtablename where 1 = 2
于 2012-05-16T04:20:33.343 に答える
8

これはqntmfred のソリューションに似ていますが、直接テーブル ダンプを使用します。このオプションはわずかに高速です ( BCP のドキュメントを参照):

輸出する:

bcp "[MyDatabase].dbo.Customer " out "Customer.bcp" -N -S localhost -T -E

インポートするには:

bcp [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000
于 2014-05-05T17:58:40.567 に答える
4

MySQLのようなものを探しているならDUMP、朗報です。SQLServer 2008ManagementStudioがその機能を追加しました。

SSMSで、問題のDBを右クリックし、[タスク]>[スクリプトの生成]を選択します。次に、オプションウィザードの2ページ目で、データのスクリプトも作成することを選択してください。これにより、ファイルに相当する量が生成さDUMPれます。

于 2009-04-09T21:53:42.697 に答える
3

新しいファイル グループを作成し、このテーブルをその上に置き、このファイル グループのみをバックアップします。

于 2009-03-26T13:07:10.190 に答える
2

Microsoftの無料のデータベース公開ウィザードを使用して、SQLスクリプト(CREATETABLEおよびINSERTINTO)を含むテキストファイルを生成できます。

このようなファイルを1つのテーブルに作成し、SQLスクリプトを実行するだけで、データを含むテーブル全体を「復元」できます。

于 2009-03-25T09:26:39.527 に答える
2

ここで説明した問題と一致するかどうかはわかりません。テーブルの増分バックアップを取る必要がありました!(新しく挿入されたデータのみをコピーする必要があります)。私は以前、DTSパッケージをどこで設計していました。

  1. (「ステータス」列に基づいて)新しいレコードをフェッチし、データを宛先に転送しました。(「データ変換タスク」を通じて)

  2. 次に、「ステータス」列を更新しました。(「SQLタスクの実行」を通じて)

「ワークフロー」を適切に修正する必要がありました。

于 2012-10-01T11:39:22.247 に答える
2

SQL Server インポートおよびエクスポート ウィザードを使用します。

  1. ssms
  2. データベース エンジンを開く
  3. 代替。エクスポートするテーブルを含むデータベースをクリックします
  4. 「タスク」を選択
  5. 「データのエクスポート...」を選択します
  6. ウィザードに従ってください
于 2015-02-03T13:18:34.200 に答える
0

BMC Recovery Manager(以前はSQLBacktrackと呼ばれていました)を使用すると、データベース(別名テーブル)内の個々のオブジェクトをポイントインタイムで回復できます。安くはありませんが、素晴らしい仕事をしています: http ://www.bmc.com/products/proddocview/0,2832,19052_19429_70025639_147752,00.html

http://www.bmc.com/products/proddocview/0,2832,19052_19429_67883151_147636,00.html

于 2009-04-09T22:02:14.237 に答える
0

SqlTableZip という名前の無料アプリで作業が完了します。基本的に、任意のクエリを記述し (もちろん、[select * from table] にすることもできます)、アプリはすべてのデータを含む圧縮ファイルを作成します。このファイルは後で復元できます。

リンク: http://www.doccolabs.com/products_sqltablezip.html

于 2014-05-02T00:26:00.440 に答える
0

Handy Backup は、MSSQL 2005/2008 を含む MS SQL Server から自動的にダンプ ファイルを作成します。これらのダンプは、特定のデータベース コンテンツの正確なコピーを含む、テーブル レベルのバイナリ ファイルです。

Handy Backup で簡単なダンプを作成するには、次の手順に従ってください。

  1. Handy Backup をインストールし、新しいバックアップ タスクを作成します。
  2. 手順 2 でデータ ソースとして「MSSQL」を選択します。新しいウィンドウで、バックアップするデータベースをマークします。
  3. バックアップを保存するさまざまな宛先の中から選択します。
  4. ステップ 4 で、「フル」バックアップ オプションを選択します。必要に応じてタイムスタンプを設定してください。
  5. 結果のダンプ ファイルを圧縮または暗号化する必要がない限り、ステップ 5 をスキップします。
  6. ステップ 6 で、定期的にダンプを作成するタスクのスケジュールを設定します (それ以外の場合は、タスクを手動で実行します)。
  7. ここでも、ステップ 7 をスキップして、ステップ 8 でタスクに名前を付けます。これでタスクは完了です。

名前の前にあるアイコンをクリックして新しいタスクを実行するか、スケジュールされた時間を待ちます。Handy Backup は、データベースのダンプを自動的に作成します。次に、バックアップ先を開きます。MS SQL バックアップを含むフォルダー (またはいくつかのフォルダー) が見つかります。このようなフォルダーには、単一の ZIP に圧縮されたいくつかのバイナリ テーブルと設定で構成されるテーブル レベルのダンプ ファイルが含まれます。

その他のデータベース

Handy Backup は、MySQL、MariaDB、PostgreSQL、Oracle、IBM DB2、Lotus Notes、および ODBC ドライバーを備えた汎用 SQL データベースのダンプを保存できます。これらのデータベースの中には、DBMS と Handy Backup 間の接続を確立するために追加の手順が必要なものがあります。

上記のツールは多くの場合、SQL データベースをテーブル レベルの SQL コマンド シーケンスとしてダンプし、これらのファイルを手動で変更する必要がある場合に備えます。

于 2016-03-02T09:59:47.213 に答える
0

誰かが誤ってテーブルから行を削除した後にテーブルを復元できるようにしたい場合は、データベース スナップショットを参照してください。スナップショットからテーブル (または行のサブセット) を非常に簡単に復元できます。http://msdn.microsoft.com/en-us/library/ms175158.aspxを参照してください。

于 2011-09-12T07:33:21.787 に答える