フォルダーとファイルの両方をFileTable
含む SQL Server 2012 データベースに があります。フォルダの名前を変更したかったので、実行しました
update MyFileTable set name = 'NewName' where name = 'OldName';
更新は成功し、ファイル テーブルから選択すると新しい名前が反映されます。ただし、Windows エクスプローラーで対応するフォルダーの場所に移動すると、新しい名前が反映されません。更新して少し待ってから更新してみましたが、フォルダーにはまだ古い名前が付けられています。(古い名前の)フォルダを開こうとすると、場所が無効であるというエラーが表示され(またはその影響)、「OK」をクリックするとフォルダが消えます。
ただし、新しい名前で同じ場所に新しいフォルダーを作成しようとすると、フォルダーが既に存在するというエラーが表示されます。「OK」をクリックすると、新しい名前のフォルダーが表示され、「新しいフォルダー」という名前の新しいフォルダーが表示されます (という名前のフォルダーを作成しようとして失敗したためですNewName
。フォルダーを削除した後New folder
、目的の結果が得られます: ファイル テーブルが更新され、新しい名前が Windows エクスプローラーに反映されます。
したがって、ファイル テーブルはほとんど機能しているように見えますが、クエリまたはストアド プロシージャで実行された名前の変更 (またはその他の変更) がファイル共有に反映されるようにするにはどうすればよいでしょうか?
私はグーグルで検索しましたが、この問題について議論しているものは見つかりませんでした。
編集:
新しいレコードをファイル テーブルに挿入するときに、同様のことに気付きました。新しいレコード (この場合はフォルダー) は、ファイル テーブルには表示されますが、作成後に Windows エクスプローラーには表示されません。しかし不思議なことに、さまざまなことを試してみたところ、最近作成された 5 つのフォルダーが Windows エクスプローラーに一度に表示されました。だから、多分ただの遅れがあります。誰かが同様の経験をしたことがありますか?