D-WEBトップニューススポーツ芸能2024年カレンダーベストセラー料理レシピ百科ログファイル一覧

SQLserver - インポートで行削除ができない (2016/11/14)


SQLserver ? インポートで行削除ができない

インポートで行削除ができない

先日、SQLserver2005が動いているサーバーの外付けディスクがクラッシュしてしまいました。この中にはSQLserverのデータファイルも入っていました。重要なデータは他のサーバーにバックアップしてありましたが、SQLserverのデータファイルはコピーができないため、ファイルのバックアップはしていませんでした。ただデータは主なレコードを別のSQLserver2012にスクリプトでコピーをしていたため、全て失うということではありません。

コピーしたSQLserver2012のデータファイルをアタッチできれば、それだけで修復は終わりですが、バージョンが上位ということで、はねられてしまいます。しかたなく、別のフォルダに残っていた古いデータファイルをアタッチして、SQLserver2012からインポートすることにしました。

SQLserver2005のインポートには、転送先テーブル内の行を削除するというオプションがあり、それを使用してインポートしました。ところが結果を見ると、行(レコード)が複数できています。おかしいと思い再度やってみると、さらに同じ行が増えます。転送先テーブル内の行を削除するというオプションが効いていないようです。
転送先テーブル内の行を手動で削除すればいいのでしょうが、大変手間がかかります。新たにテーブルを作成するというオプションもありますが、この場合IDENTITYがコピーされず、手動で設定し直しとなります。初めてSQLserverにデータベースを作成する時はこの方法でおこなうのですが、今回のようにレコードだけのコピーに新たにテーブルを作成するというのは抵抗があります。

どうもおかしいと思い、ネットで調べてみると、なんとか見つかりました。どうもSQLserver2005のインポートのバグのようです。

インポートのウィザードではデータベースを選ぶと、全テーブルの一覧が出ます。そこで左上の変換元にチェックを入れると、全テーブルが選択されて反転表示されます。この状態でマッピングの編集を押すと設定ウィンドウが出て、行の削除とIDの挿入にチェックを入れます。これで次へを押せばインポートが実行されます。結果は最初に書いたように行の削除は行われず、行がダブルためIDの挿入もエラーを起こすという、めちゃめちゃな結果になります。


↑左上の変換元にチェック(全選択)

これを避けるためには、左上の変換元(全テーブル一括)のチェックを止めて、変換元テーブルの左側にあるチェックボックスを個別にオンにします。さらにこの変換元テーブルを1つ選択し、ハイライトさせた状態で「マッピングの編集」をクリックします。設定ウィンドウが出て、行の削除とIDの挿入にチェックを入れます。


↑テーブルを1つづつ選択

これを全てのテーブルに繰り返し設定します。全てのテーブルの設定がすんだら次へを押してインポートを実行します。結果は変換先のテーブルの行が削除され、IDも問題なく挿入されます。いくつもテーブルがあると少し大変になりますが、新たにテーブルを作成して、IDENTITYやキーの再設定をするよりはましといえます。
このようなバグはSQLserverのバージョンアップで解消されていると思われます。バージョンアップする方がいいとは思いますが、上位互換がなくなる機能もありますので、安定した運用に支障をきたすことがあります。バグは、方法があれば、できるだけ解消しておいた方がいいでしょう。

 共有元ページ


スポンサー リンク



注目のタイトル

西城秀樹 /GOLDEN☆BEST デラックス 西城秀樹

ヒット曲、代表曲を網羅した豪華3枚組ベスト!! 1970年代から現在に至るまで、日本の音楽界に於いて常に精力的に活躍し、数多くのヒット曲を世に送り出し続けてきた西城秀樹の、超豪華3枚組GOLDEN☆BESTが遂に登場!!記念すべきデビュー曲から、彼の代表曲、ヒット曲を網羅した聴き応えのあるベスト・オブ・ベストです。珠玉の名曲の数々をたっぷりご堪能ください! 【CD3枚組】2010年リマスタリング



D-web ランキング ベスト

ベストセラー 危険なビーナス 東野 圭吾
音楽 【メーカー特典あり】 馬と鹿 ) ) 米津玄師
DVD 5×20 All the BEST!! CLIPS 1999-2019

ニュース
スポーツ
芸能 石田ひかり ドラマで共演する石原さとみとのツーショットが「姉妹に見える」と話題に

旬の話題 サッカー日本代表 新ユニフォーム

  共有ブログ


Copyright © 2024 D-web Portal. All Rights Reserved.

当サイトへのリンクは自由です。 D-web ポータル