OneDriveでファイルが壊れる2つの原因と対策
ある著名人がOneDriveのファイルをiPhoneから開けなくて困っている話から、別の人が確定申告データが壊れたとかいろいろとOneDriveの問題が指摘されています。問題がこれだけ多くしているのは「Windows 10がOneDriveでのバップアップを強要することにより問題を起こしている」ことにあるようです。「ファイルのバックアップ」と言われたら安心のためにやっとこうか、OSが言うんだしとうっかり許してしまいそうですが、マイクロソフトアカウントでWindows 10にログインするとOneDriveが自動的に有効になりバックアップしようとすると、様々な落とし穴があるとリンク先のITサポートSORAでは指摘されています。バックアップというと、安心のためにデータを保存してくれるだけに聞こえますが、実態はファイルの同期であり、フリープランで容量を超えるとか、様々なハマりポイントがあるようです。
筆者も最近、新たにつないだドライブを丸ごとバックアップするとWindows 10が提案してきて、そんな危険なことはしちゃまずいと避けてきたわけですが、多くの人が、ついお勧めにしたがってしまいハマることは想像がつきます。
また、OneDriveがMy Documents以下のフィルをまるごとクラウド同期させてしまう仕様が問題という指摘もあります。
OneDriveのバージョンアップでOutlookのpstファイルは除外するようになったんですが、そもそもの問題としてアプリの設定データとユーザーのファイルを一緒くたにMy Documentsに入れているフォルダ構成がクソなんでどうしようもない
-- いりじうむ192 (@irid192) January 14, 2022
ユーザは悪くなくて、すべてのアプリでデフォルトの保存先はMy Documentsになってるんですよ。だからその階層に保存するのはMSが想定している動作。
-- いりじうむ192 (@irid192) January 14, 2022
アプリがUser\AppData以下にデータを保存しろという話はあるけど、昔のWindowsの推奨はそうではなかったし。
MSが悪い
Microsoft OfficeにAccess がついてきたからとRDBMSを知らずに使って困るという問題に似ています。RDBを買おうと思って買う人は使えるいいソフトと思うんですが、ついてきたから活用しときましたとか、で20世紀に流行ったエンドユーザーコンピューティングで部署の業務改善とかやってしまうと、ドキュメントも何も残ってないブラックボックスなアプリでメンテナンス不能で積んでしまう問題に似ています。
データベースの話を書きましたが、パソコンで使われるデータベース的なファイルはMicrosoft Accessに限りません、OutlookのクライアントファイルであるPSTファイルとか、確定申告のデータファイルとかも実はデータベースファイルであることが多く、一般的に使われるWordやExcelのDocファイルやXLSファイルとなの類とは大きく違います。データベース的なファイルは絶えず更新されており、OneDriveのようなファイル同期システムとは相性が非常に悪く基本的には使ってはいけないものなのです。
プロなら知っておきたい、データベースファイルは絶えず更新され要注意
データベースといっても様々なんですが、伝統的なOracle Databaseのデータを格納する表領域、更新を格納するログ領域、そして、データベースを管理するシステム領域の3つを考えると分かりやすいでしょう。データファイルを書き換えない間も、制御ファイルは絶えず更新されている、データベースのファイルはそういうものです。
Microsoft AccessやOutlookのファイルもデータベースのファイルであり、絶えず更新されています。ファイルが一つにまとまっていて扱いやすかったりしますが、WordやExcelのように保存しようと意図して保存するようなものではなく、使っていたら絶えず更新されていくわけです。壊れたと話題の確定申告のデータも、データを扱うシステムの特性から考えると絶えず更新されるデータベースのファイルだったことでしょう。
そういう、絶えず更新されるデータベースのファイルをOneDriveのようなクラウドとローカルで同期するシステムで使うとデータの不整合のリスクがあがります。クラウドストレージサービスによってはそういう問題を避けるような仕組みがあるでしょう。
ともあれ、データベースのファイルの性質を理解すると、データベースファイルにアクセスではなくて、クラウドのデーベースシステムにアクセスするようにするとか、ローカルをマスターファイルにして、クラウド上には片方向のレプリケーションを置くとか、世代バックアップ先として使うとかいう使い方をすることが安全だと考えられます。
クラウドとローカルで自動同期するというOneDriveのような仕組みは非常に便利なのですが、用途や使い方を理解し、データベースのファイルでは利用を注意することが大事です。
そういう注意事項を理解したうえで、OneDriveでファイルを壊さないための対策としては、バックアップ用途として設定する必要があり、それはなかなか難しいと考えます。
そこで、対策としてはOneDriveは使わない、DropboxやGoogle Driveなどの他の仕組みを使うのがデータ消失を防ぐ一番シンプルな解決策となるでしょう。
データが壊れたという問題発生が減ることを願っています。