発生した事象
ある日、Windows の空き容量が急激に減少していることに気づいた。
調査すると、
C:\Users\<User>\AppData\Local\Microsoft\OneDrive\ListSync\
配下にある
Microsoft.ListSync.db
が
24.5GB
まで肥大化していた。
最初の予想
- OneDriveキャッシュ破損
- OneDrive同期不具合
- OneDrive同期ループ
OneDrive再構築
OneDrive停止
↓
ListSync フォルダを退避
↓
OneDrive再起動
結果
24.5GB
↓
12.9GB
へ減少。
SQLiteで直接解析
テーブル一覧取得
SELECT name
FROM sqlite_master
WHERE type='table';
SharePoint関連のテーブルが大量に存在していた。
容量を消費しているテーブルを特定
SELECT
name,
ROUND(SUM(pgsize)/1024.0/1024.0,2) AS MB
FROM dbstat
GROUP BY name
ORDER BY MB DESC
LIMIT 50;
結果
list_<ListID>_<SiteID>_rows
14052 MB
という圧倒的なテーブルを発見。
正体を特定
SELECT *
FROM lists;
結果
サイト:
https://<tenant>.sharepoint.com/sites/sharefiles
ライブラリ:
Shared Documents
であることが判明。
レコード数確認
SELECT COUNT(*)
FROM "list_<ListID>_<SiteID>_rows";
結果
2,765,000件
真の原因
当初は OneDrive で同期している約16,000ファイルが原因だと考えていた。
しかし SQLite 解析の結果、Microsoft.ListSync.db を構成している最大テーブルは会社共有 SharePoint サイトの Shared Documents ライブラリに対応しており、約276万レコード、約14GBを占有していた。
つまり実際には、OneDriveでリンクしているフォルダだけではなく、会社共有の SharePoint サイト sharefiles の Shared Documents 全体のメタデータがキャッシュされていたことが肥大化の原因だった。
最終的な対処
Get-ItemProperty HKLM:\SOFTWARE\Policies\Microsoft\OneDrive
確認結果
DisableNucleusSync = 1
設定後は
Business_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
配下が生成されなくなった。
学び
Microsoft.ListSync.db は単なる同期しているOneDriveのファイルだけの情報ではない
OneDriveにショートカットを作成しているフォルダの親も含めたすべてのサイトの情報を持ってしまっている。
まとめ
今回のケースでは、Microsoft.ListSync.db の肥大化原因は、会社共有 SharePoint サイト sharefiles の Shared Documents ライブラリ全体のメタデータキャッシュだった。
OneDriveの破損ではなく、SQLite解析により原因を具体的に特定できた。
追記 2026/10/01 18:58
OneDrive.admxを導入してGPOで配布しようと思ったら場所がめちゃくちゃわかりにくいところにできてた…
