1

でファイルストリームグループを作成しましたC:\Test\FilestreamGroup1

およびvarBinaryFilstream列のあるテーブル

これで、ファイルがアップロードされると、FilestreamGroup1に物理的に保存されます...

ここで私は2つのことを知りたい

  • FilestreamGroup1に保存されている形式のファイルはどれですか(アップロードされたファイルごとに、2つのエンコードされたファイルが見つかりました)?
  • 次に、アップロードされたファイルを物理的に削除する方法(つまり、テーブルからレコードを削除することは、execute deleteコマンドに似ていますが、これを行うと、NTFSからファイルが物理的に削除されることはありません...ファイルを物理的に削除するにはどうすればよいですか)
4

4 に答える 4

2

ファイルシステムからファイルを即座に削除したい場合は、チェックポイントリンクを使用して手動でガベージコレクションを強制する必要があります

于 2012-06-04T06:13:32.133 に答える
2

これはStackOverflowの質問ではなく、ServerFault(管理者)に属しています。それは開発者をtoucehsしかし-

つまり、テーブルからレコードを削除することは、execute deleteコマンドに似ていますが、これを実行しても、NTFSからファイルが物理的に削除されることはありません...ファイルを物理的に削除するにはどうすればよいですか?

データベースを所有する主な理由を知っていますか?データの整合性を保証します。

削除は、バックアップが取られるまでデータを保持する必要があります。バックアップポリシーは何ですか?更新を行うと、その単純な理由でファイルの別のコピーが作成されることに気付くかもしれません。古いものはまだバックアップに利用できる必要があり、それが彼らがそれを統合する方法です。

FilestreamGroup1に保存されている形式のファイルはどれですか(アップロードされたファイルごとに、2つのエンコードされたファイルが見つかりました)?

いいえ、ファイルは生で保存されます。それらをエンコードする意味は何ですか...パスを取得するSQL関数があり、クライアントがファイルをロードするためにSQLを使用しないことがサポートされているシナリオである場合(ただし、ファイル名とパスをSQLに要求します。 NTFSファイル共有を介してアクセスします)。これは相互運用もサポートします(ネットワークからロードするプログラムにはSQL駆動の場所を提供できるため)。

私はあなたが1つのコピーしか持っておらず、どういうわけか更新を行って2番目のファイルが書き込まれることを強く想定しています。

http://msdn.microsoft.com/en-us/library/cc645962.aspx

SQLを使用してFileSTreamデータにアクセスする方法についての説明があります。

http://technet.microsoft.com/en-us/library/cc645940(v=sql.105).aspx

Win32を使用してFIleStreamデータにアクセスする方法についての説明があります。

行が削除された後に残されたFILESTREAMファイル

行が削除されたときにファイルが残されている間を説明します。「sqlfilestreamdeletefile」の非常に簡単な検索を使用して、結果リストの項目1であることがわかりました。グーグルを試してみましたか?

于 2012-06-04T06:13:49.900 に答える
0

次に、アップロードされたファイルを物理的に削除する方法(つまり、テーブルからレコードを削除することは、execute deleteコマンドに似ていますが、これを行うと、NTFSからファイルが物理的に削除されることはありません...ファイルを物理的に削除するにはどうすればよいですか)

チェックポイントはファイルを削除しません。ファイルはバックグラウンドプロセスで削除され、かなり時間がかかる場合があります。削除を強制するには

sp_filestream_force_garbage_collection

編集:SQLServer2012でのみ機能します

于 2013-02-19T12:09:32.770 に答える
-1

行を削除した後、「チェックポイント」を書き込みます。ファイルの物理的な存在を削除します。

以下のクエリを実行して、ファイルがファイルシステムから自動的に削除されることを確認してください

TableNameチェックポイントから削除

ありがとう。

于 2012-07-16T11:20:29.187 に答える