
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
「取り消しています」が表示されてから消えない
Windows 7
-
クエリをキャンセルしたいのですが。。。
その他(データベース)
-
復旧中のデータベースについて
SQL Server
-
-
4
復元に異常に時間がかかる
SQL Server
-
5
T-SQLで任意の箇所で強制終了する方法
SQL Server
-
6
SQLServerでNULLを挿入したいです
SQL Server
-
7
MS SQLServer のSQLで文字列の前にN:
その他(データベース)
-
8
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
9
Statement ignored というエラー
Oracle
-
10
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
11
ウォッチ式の文字数制限について
Visual Basic(VBA)
-
12
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
13
オブジェクト参照がオブジェクト インスタンスに設定されていません というエラーについて
Microsoft ASP
-
14
エクセルでENTERを押すと数式がそのまま文字列になってしまう
Excel(エクセル)
-
15
データベース関係で、データの洗い替えとはどのような事を行うことでしょう
IT・エンジニアリング
-
16
SELECT文で、指定カラム以外の全カラムを一括指定って可能でしょうか
MySQL
-
17
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
18
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
19
BULK INSERT時のNull許容について
SQL Server
-
20
SQLのエラー(~付近に不適切な構文があります)
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SI Object Browserのテーブルス...
-
クエリのキャンセルがいつにな...
-
SQLサーバーのテーブルの値...
-
PL/SQLでFROM句に変数を使いたい
-
トリガの使い方
-
#ワークテーブルにinsert時 変...
-
アクセスのテーブル作成クエリ...
-
ユニオンクエリの結果をテーブ...
-
「マスタ」と「テーブル」の違...
-
オラクルではできるのにSQLSERV...
-
accessで移動平均する方法
-
数百万件レコードのdelete
-
ACCESS2000のテーブル構造
-
請求と入金のテーブルの作成の...
-
VBAの実行時エラー'2522'について
-
SQLで○○の値以外を持っているレ...
-
更新クエリでキー違反
-
Access VBA [リモートサーバー...
-
SELECT時の行ロックの必要性に...
-
AccessShareLock はどの程度気...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SI Object Browserのテーブルス...
-
accessテーブル作成クエリを実...
-
クエリのキャンセルがいつにな...
-
ストアドをまたがるローカル一...
-
エクセルでテーブルの最終行が...
-
ユニオンクエリの結果をテーブ...
-
アクセスのテーブル作成クエリ...
-
UNIONなどで複数のテーブルから...
-
ADOでSeekメッソッドが使えませ...
-
あるテーブルのデータを追加、...
-
コンボボックスで入力したもの...
-
VIEWしか読み取れないユーザの...
-
列サイズ変更時、DB停止は必要?
-
テーブル作成クエリで新テーブ...
-
#ワークテーブルにinsert時 変...
-
エクセルの数式で添付写真のも...
-
excel テーブル
-
SQL Serverのテーブル追加を、A...
-
Accessでバージョン違いのファ...
-
エクセル
おすすめ情報