初めまして。SQL初心者です。
あるシステムにおいて、SQLサーバが無応答?になり、システムがダウンしてしまい、困っています。
Windows2000Server、SQL Server2000、VB6を用いてDBに定期的にRead&Write、及び各種のデータ表示を行っています。
ADOを使用して、接続や各コマンドを実行しているのですが、ごくたまに以下のエラーが出てしまいます。
Code:-2147217871,Description:時間切れになりました。Source:Microsoft OLE DB Provider for SQL Server,SQL State:HYT00,NativeError:0
過去ログや他サイトを調べた結果、コネクションのCommandTimeoutの秒数を延長させる、とあったので60秒に変更しました。
が、不定期(大体1週間~10日前後で夜中や朝方などにもあり)にこのエラーが出てしまい、約1時間~1時間半もダウンしています(この間のエラーをOn Errorではじいてログファイルに保存しています)。
毎分必ず実行しているストアド(20装置分のデータをUPDATEするので1分に20回実行する)があるのですが、必ずと言っていいほどこのストアド実行中に落ちています。
このストアドに5~6個のパラメータを渡し、複数のテーブルに対してUPDATE処理を行っています。
正常に動作している時は、数日間全く問題無いので、ストアドやVBのコードに間違いは無いと思います。
そこで、SQL Serverの設定等を見直したところ、1つ気になったところが。データベースファイル
\Microsoft SQL Server\MSSQL\Data\aaa.MDF
のサイズが14Gになっていました・・・。
このファイルにアクセスする時にSQL Serverで高負荷になってしまい、無応答のような状態になってしまうのでは?と思っていますがどうでしょう?
不定期に発生し、かつ再現性が無く、原因が掴めずに本当に困っています。
先輩方、何でも良いのでアドバイスをお願い致します。
No.1ベストアンサー
- 回答日時:
14Gですか・・・大きいですね。
データの構造がどうなのか解らないので、
容量的に妥当かどうかはわかりませんが、
一度インデックスの再構築と圧縮を掛けてはどうでしょうか
CREATE PROCEDURE SP_COMPRESS AS
DECLARE @name varchar(30)
DECLARE tnames_cursor CURSOR FOR
SELECT name FROM sysobjects
WHERE type = 'U'
OPEN tnames_cursor
FETCH NEXT FROM tnames_cursor INTO @name
WHILE (@@fetch_status <> -1)
BEGIN
PRINT @name + 'のDBREINDEX...'
EXEC ('DBCC DBREINDEX ('+ @name + ')' )
FETCH NEXT FROM tnames_cursor INTO @name
END
DEALLOCATE tnames_cursor
dbcc SHRINKFILE("SampleDb_Log",1)
DBCC SHRINKDATABASE("SampleDb",1)
GO
データベース名は自分の環境に合わせてください。
また、バックアップは必ず取っておいてください。
14Gもあれば結構時間がかかると思いますが・・・
とりあえず参考程度に・・・
No.2
- 回答日時:
データベースの構造をどうされているかわかりませんが、ログ領域をたくさんとっていて、ログがいっぱいになったりしていませんか?
そんなときにDBに更新・追加やバックアップ処理等が行われると、ログ領域が足りず、エラーになったりします。14Gというと相当大容量なサイズですが、ログの切捨てを実施する事をお勧めします。
コマンドからでもよいですが、SQLServerでお使いのデータベースを右クリックし、データベースの編集を選べば、ログの切捨てが選べると思いますがどうでしょう?
後コマンドタイムアウトですが、あれって0だか-1だかに設定するとタイムアウトしないようにできませんでしたっけ?フリーズするというのなら、タイムアウトしないようにしたところでしようがないんですが一応。
sekiguchi-dさん
ご回答ありがとうございます。
私の方でもソースコードの方ではなく、SQL Serverの設定自体に問題があるのでは、、、と疑っています。
ログ切捨てですね。
試してみます。
それで連続運転してみるしかないですかね・・・。
コマンドタイムアウトは0(無制限)だったと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
エクセルからSQLサーバー 時間切れになるようになった
SQL Server
-
EXCELVBAでSQLserverからデータをひっぱってきてエクセルに表示させたい
Visual Basic(VBA)
-
VB6.0でSQLServerへ・・・RecordSet生成タイムアウト・・・
Visual Basic(VBA)
-
-
4
手動または分散トランザクションモード…のエラー
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL Server時間切れについて
-
コンピュータ名を変更するとSQL...
-
SQLSERVERエージェントからのス...
-
今、何のストアドを実行してい...
-
Oracle 8i コンマ(,)を含むデ...
-
Excel-VBAの「しばらくお待ちく...
-
SQLサーバー接続 特定のPCがWin...
-
バッチファイルからのBCP起動に...
-
オブジェクト名 '<table>' が無...
-
ACCESS ADOでupdateが効かない
-
ユーザー定義関数内でのsp_exec...
-
SQL Loaderを使いたい
-
SQLサーバー接続について
-
DB接続ができなくなって困って...
-
Excelフィルタ抽出で「検索して...
-
Access2010 accdbのエラー「ODB...
-
dtexecコマンドを使ってDTSパッ...
-
バッチからメンテナンスプラン...
-
SQLServerのエラー1069について
-
SQLServerでViewの参照・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MSDEまたはSQLServerでReadOnly...
-
SQL Server時間切れについて
-
今、何のストアドを実行してい...
-
SQLSERVERエージェントからのス...
-
パワーポイントのアドインアプ...
-
SQLServer2005のストアドプロシ...
-
ストアドプロシージャの実行に...
-
ユーザー権限取得方法について
-
ストアドのEXECUTE権限
-
コンピュータ名を変更するとSQL...
-
SQL-ServerでAgentサービスの稼...
-
ユーザーに与える権限に付いて
-
Oracle 8i コンマ(,)を含むデ...
-
SQLのエラー(~付近に不適切な...
-
Excel-VBAの「しばらくお待ちく...
-
ノートパソコンのHDDを同機種へ...
-
SQLサーバー接続 特定のPCがWin...
-
Access2010 accdbのエラー「ODB...
-
ITパスポートについての質問で...
-
ユーザー定義関数内でのsp_exec...
おすすめ情報