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も見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
数百万件レコードのdelete
SQL Server
-
復旧中のデータベースについて
SQL Server
-
処理件数を非表示にしたい
SQL Server
-
-
4
SQLServer sqlcmdが使えない
SQL Server
-
5
クエリをキャンセルしたいのですが。。。
その他(データベース)
-
6
他のデータベースとのテーブル結合
SQL Server
-
7
同じSQL文で極端に検索が遅くなる時がある
MySQL
-
8
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
9
「取り消しています」が表示されてから消えない
Windows 7
-
10
SQLでフィールドの順番を変更したい
その他(データベース)
-
11
SQLServerでNULLを挿入したいです
SQL Server
-
12
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
13
2台のサーバー間でのテーブル結合方法
SQL Server
-
14
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
15
特定条件での連番の振り方を教えて下さい
Oracle
-
16
【DB】同じトランザクション内でupdateとselectをしたときの結果値
その他(データベース)
-
17
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
18
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
19
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
20
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessテーブル作成クエリを実...
-
SI Object Browserのテーブルス...
-
UNIONなどで複数のテーブルから...
-
Accessにインポートした複数の...
-
クエリのキャンセルがいつにな...
-
VIEWしか読み取れないユーザの...
-
テーブル作成クエリで新テーブ...
-
ACCESS-リンクテーブルの設定で...
-
IDENTITY列の複数テーブルへのI...
-
SQLスクリプトを自動生成する方法
-
DBのCreate文スクリプト作成に...
-
レプリケーションしているテー...
-
あるテーブルのデータを追加、...
-
ACCESS97で テーブルの更新に...
-
ユニオンクエリの結果をテーブ...
-
アクセス97のリレーションシ...
-
位置を指定してフィールドを追...
-
重複するレコードに対しフラグ...
-
Access のリレーションシップで...
-
エクセルでテーブルの最終行が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでテーブルの最終行が...
-
accessテーブル作成クエリを実...
-
クエリのキャンセルがいつにな...
-
ユニオンクエリの結果をテーブ...
-
SI Object Browserのテーブルス...
-
UNIONなどで複数のテーブルから...
-
あるテーブルのデータを追加、...
-
ストアドをまたがるローカル一...
-
Accessにインポートした複数の...
-
コンボボックスで入力したもの...
-
列サイズ変更時、DB停止は必要?
-
SQLサーバーのテーブルの値...
-
Access のリレーションシップで...
-
レプリケーションしているテー...
-
位置を指定してフィールドを追...
-
SQLスクリプトを自動生成する方法
-
テーブル作成クエリで新テーブ...
-
ADOでSeekメッソッドが使えませ...
-
excel テーブル
-
VIEWしか読み取れないユーザの...
おすすめ情報