
SQLServer2005 Workgroup を使っています。
500万行ぐらいあるテーブルがあるのですが
update テーブル名 set 列=~~ where ~~~
update テーブル名 set 列=~~ where ~~~
update テーブル名 set 列=~~ where ~~~
update テーブル名 set 列=~~ where ~~~
というプログラムを実行したところ、10時間経っても計算結果が終わらない為、
一旦キャンセルをしました。
ところが「クエリをキャンセルしてます」というメッセージが流れたまま
キャンセル後、10時間経過しても終了してくれません。
この状態で新たにクエリを作ってプログラムを実行してもものすごく処理が重いです。
キャンセルによってデータを元に戻そうとしているのかどうか分りませんが
元に戻さなくていいので強制的に終了する方法はないでしょうか?
No.1ベストアンサー
- 回答日時:
頑張ってロールバックしているんでしょうね。
Update文が何行あるのかわかりませんが、適宜Commit入れておくことはできなかったんでしょうか?
責任を負えませんが、データのバックアップがきちんと用意できている等
DBが壊れることも厭わないなら、「サービスを停止する」とか。
ご回答ありがとうございます。
あの後、もうどうすることも出来ないので結局1日放置したら処理が終わっていました。
Commitと言う関数を使ったこと無いので調べてみました
「処理を確定する」ということらしいのですが
update ~~~
commit
と実行すると
メッセージ 3902、レベル 16、状態 1、行 2
COMMIT TRANSACTION 要求に対応する BEGIN TRANSACTION がありません。
と言うメッセージが流れてくるのですが
これはcommitがちゃんと完了しているのでしょうか?
申し訳ないのですが、調べてもよく分らなかったので
よろしければご教授お願いします。
No.2
- 回答日時:
1 の回答へのコメントへの回答
メッセージ 3902、レベル 16、状態 1、行 2
COMMIT TRANSACTION 要求に対応する BEGIN TRANSACTION がありません。
書いてある日本語の通りです。
BEGIN TRANSACTION
Update テーブル名・・・・
COMMIT
って書けばいいのです。
ただ、その前に一度「SQL トランザクション」で勉強されてから、
タスクをこなされた方が良いかと思いますよ?
何の目的で書いたプログラムなのかはわかりませんが、
トランザクション(transaction、commit、roll back)ぐらいは
把握されてからプログラムを書かれた方が幸せになれると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Oracle SQL update方法 2 2022/06/22 14:07
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- MySQL UPDATE my_items SET item_name '赤い,甘い,ケーキ' WHERE id 1 2023/01/03 09:52
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
このQ&Aを見た人はこんなQ&Aも見ています
-
復旧中のデータベースについて
SQL Server
-
「取り消しています」が表示されてから消えない
Windows 7
-
クエリをキャンセルしたいのですが。。。
その他(データベース)
-
-
4
復元に異常に時間がかかる
SQL Server
-
5
トランザクションログを出力せずにデータを削除する方法
Oracle
-
6
SQLServerでNULLを挿入したいです
SQL Server
-
7
BULK INSERT時のNull許容について
SQL Server
-
8
T-SQLで任意の箇所で強制終了する方法
SQL Server
-
9
含まない言い方ってどうしたらいいんでしょうか
日本語
-
10
数百万件レコードのdelete
SQL Server
-
11
同じSQL文で極端に検索が遅くなる時がある
MySQL
-
12
mdfファイルの残骸について
SQL Server
-
13
処理件数を非表示にしたい
SQL Server
-
14
データベースのINT型項目にNULLはNG?
MySQL
-
15
DBの定義のサイズを大きくし過ぎると問題ある?
その他(データベース)
-
16
GROUP BYでエラーが発生
SQL Server
-
17
MS SQLServer のSQLで文字列の前にN:
その他(データベース)
-
18
「~のため,~のため」というように,ためが二回続くのは変でしょうか?
日本語
-
19
GROUP BYを行った後に結合したい。
Oracle
-
20
CSVファイルをBULK INSERTでSQLserverに読み込むことは可能?
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユニオンクエリの結果をテーブ...
-
accessテーブル作成クエリを実...
-
エクセルでテーブルの最終行が...
-
ADOでSeekメッソッドが使えませ...
-
PL/SQLでFROM句に変数を使いたい
-
コンボボックスで入力したもの...
-
クエリのキャンセルがいつにな...
-
SQLサーバーのテーブルの値...
-
あるテーブルのデータを追加、...
-
UNIONなどで複数のテーブルから...
-
AccessでOracleのテーブルをリ...
-
#ワークテーブルにinsert時 変...
-
位置を指定してフィールドを追...
-
ストアドをまたがるローカル一...
-
テーブルデザインの書き出しで...
-
「マスタ」と「テーブル」の違...
-
3つ以上のテーブルをUNIONする...
-
インデックスの再構築の意味っ...
-
SELECT時の行ロックの必要性に...
-
Accessにインポートしたら並び...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SI Object Browserのテーブルス...
-
クエリのキャンセルがいつにな...
-
ユニオンクエリの結果をテーブ...
-
accessテーブル作成クエリを実...
-
AccessでOracleのテーブルをリ...
-
コンボボックスで入力したもの...
-
エクセルでテーブルの最終行が...
-
UNIONなどで複数のテーブルから...
-
あるテーブルのデータを追加、...
-
アクセスのテーブル作成クエリ...
-
VIEWしか読み取れないユーザの...
-
PL/SQLでFROM句に変数を使いたい
-
Access のリレーションシップで...
-
ADOでSeekメッソッドが使えませ...
-
ストアドをまたがるローカル一...
-
レプリケーションしているテー...
-
SQLサーバーのテーブルの値...
-
リンクサーバー接続先の参照エ...
-
ACCESS-リンクテーブルの設定で...
-
重複するレコードに対しフラグ...
おすすめ情報