【データベース】SQLServerをAccessでリンクしたテーブルの処理速度が急に遅くなった事象を対処

Access

MS-Accessで作成されたプログラムが、急に処理速度が遅くなった(以前と比較して10倍程遅い)と連絡がありました。
他のPCでも発生しているらしいので、データベース環境に問題ありと判断しました。

まずは現状調査

調査を行い整理してみると、
1:今まで30秒前後の処理が5分以上かかるようになった
2:処理は、ひとつのテーブルに約3000行の追加処理
3:この追加した約3000行の削除処理も遅くなった
4:テーブルはSQLServerへAccessからリンク
5:現状のテーブルは20万件超え(定期的に削除しているので30万件を超える事は無さそう)

もう少し事象を深く掘り下げる為、Management Studioから上記3の処理を行うと数秒で終了しました。
SQLServer単体の処理速度は遅くなっておらず、Accessとの接続で何らかの異常が発生している事が判明しました。

対処

まずは該当テーブルの、統計情報の更新を行います。

UPDATE STATISTICS テーブル名(全テーブル一括で行う場合は【sp_updatestats】)

直後に該当テーブルのリンクを、一旦削除して再リンクします。

確認すると無事に元通りの速さに戻ったようです!

まとめ

統計情報の更新または、再リンクのどちらか不明ですが解決できました。
同事象が将来的に再発生しそうなので、記録として残しておきます。

日々のITエンジニアの日常作業を発信しています。
また、様々な商品のレビュー記事も投稿していますのでぜひご活用ください。

投稿は基本的に毎週月曜日です。
2025年2月中旬より入院の為投稿できていませんがサーバーOSの更新も完了し、2025年7月ようやくリスタートできそうです。

では今週も頑張っていきましょう!

AccessSQL/データベース(DB)プログラミング

コメント