ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

SQL SERVERのデータ、DBDEL、だんだんレコードが消えていく

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 | 投稿日時 2017-6-14 13:50 | 最終変更
nkmt  長老   投稿数: 1668
Win2012
SQL Server 2012 STDの環境

SQL SERVERの950万件のデータを
xpa3.1でDBDELしている時に
Management Studioを見ていたら
ファイルがさっと存在しなくなるのではなく

件数がだんだん減っていく様子が見てとれました。

DBDELって データをDROPというかERASEする処理ではなく
レコードDELETEする処理なんでしょうか?

DBDELを発行するタスクは、トランザクション無し。

この処理をサーバー、クライアントで実行していたら
物凄い数のSQL文がLAN上を行き交うのでしょうね。

私の使い方が誤っているのでしょうか?

DBDELっててっきりファイルDROPだと思ってたのに
違うのでしょうか?

Magicを強制終了しましたが、Management Studio側での
レコード件数がだんだん減っていくのが停止しません。

3000万件のDBDELって考えただけで恐ろしい。

※今、どんなSQL文が動いているか確認する術は有りますか?

DBDELがこのような挙動をするのであれば
DROP TABLE ○○CSV取込テーブル といったSQL文の発行が
望ましいのでしょうね。

※950万件のDBDELの最中に、Magicを終了させてもレコード件数が
だんたん減っていくのは止まりませんでしたが
最終的には件数=0、使用されているデータ領域は
1500MBでした。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-14 15:02
IIT  新米   投稿数: 6
nkmtさん、こんにちは。
DBDELの挙動の件はわかりませんが、
どんなSQL文が発行されているかは、「SQLServer Profiler」でトレースをするとわかりますよ。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-14 15:15
nkmt  長老   投稿数: 1668
IIT様 アドバイスありがとうございました。
「SQLServer Profiler」を初めて動かしてみました。
聞いた事があるような名前でしたが初めて起動しました。
DBDELの部分はまだ確認出来ていませんが
登録リンクの部分では、INSERTが大量発行されているのが
わかりました。
DBDELがどうなっているのかの確認を後で行ってみます。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-14 15:30
nkmt  長老   投稿数: 1668
DBDELの実験を行いました。

トレースの中にDBDELの部分であると思いますが
DROP TABLE ○○テーブル というトレースが有りました。

客先環境ではなく、スタンドアロンPCで開発版での実験です。

DELETE文 大量発行ではありませんでした。

950万件をDBDELした時の件数がだんだん減っていく
の症状が発生した環境も次回トレースしてみたいと思います。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-14 15:30 | 最終変更
nkmt  長老   投稿数: 1668
(二重投稿につき削除しました。)
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-14 15:37 | 最終変更
nkmt  長老   投稿数: 1668
※すみません、お詫びして訂正いたします。

もしかすると以下の状況かもしれないです。

サーバー、クライアントで1000万件のCSV取込に
あまりに時間がかかっていた為、Magicを強制終了しておりました。

 ( DBDEL(DROP)は、さっさっと終了していた。)

CSV取込(INSERT)が時間がかかっていたので強制終了した事により
このINSERTを取り消していた為、件数がだんだん減っていた。

→ これをDBDELはDROPではなく、レコードDELETEではないか?
  と疑ってしまった。 という私の勘違いだったと思います。

お騒がせして失礼いたしました。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2017-6-17 19:55 | 最終変更
nkmt  長老   投稿数: 1668
この件ですが、登録リンクしていたバッチ処理を
タスクマネージャーで強制終了した訳ですが
トランザクションを強制終了したので
ちゃんとRollbackが働いたという訳ですね。

当たり前なんでしょうけどSQL Server偉いですね。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約