2016-11-26 31 views
0

私はfiletableを使用します。 SQL ServerのFileTableからファイルを削除すると、フォルダからファイルを削除する必要があります。また、フォルダからファイルを削除するときは、filetableから削除する必要があります。SQL Server FileTable:ファイルを削除する

もう1つの質問があります:filetableは、サーバーにファイルを保存してそれを読み取る高速な方法です(1MBを超えるファイル)。

答えて

0
DROP TABLE [ IF EXISTS ] [ database_name . [ schema_name ] . | schema_name . ] 
table_name [ ,...n ] 
[ ; ] 

あなたが唯一の特定のデータを使い、削除したいtable.ifファイルをドロップするように、このコードを使用することができますどこかTSQL文の最初の質問については

+0

私の質問は、filetable.myの質問から行を削除するためのquaryは何ですか?私は行と物理ファイルを指定したフォルダから同時に削除する方法はありますか? – user2541236

2

で句を持つ、ファイルが削除されるべきです相対行(DELETE FROM ...)を削除してコミットするとすぐに削除されます。同じことを逆に適用する必要があります(相対行が消えるファイルを削除する場合)。

これは、ネットワーク共有を介して露出したファイルについても同様ですが、物理ファイルは復旧モデルとFILESTREAMのガベージコレクションプロセスに応じて、後で削除されます(sp_filestream_force_garbage_collectionストアドプロシージャを参照してください)。

2番目の質問では、SQL Serverのオーバーヘッドのために、アクセスは常に純粋なファイルシステムよりも遅くなります(が見つかりました。ただし、の検索時間はさらに短くなります)。

T-SQLアクセスと比較して、格納するBLOBのサイズによって異なります。 一言で言えば、BLOBが1 MBより小さい場合は、T-SQLを使用する方が速いはずです。詳細は、Best Practices on FILESTREAM implementationsを参照してください。

+0

次の文の公式なリファレンスがありますか? :* "逆にも同じことが適用されます(相対行が消えるファイルを削除した場合)。*。私は[ここ](https://msdn.microsoft.com/en-us/library/cc645962.aspx#Anchor_2)を読んでいます:* "行、したがってファイルを削除する唯一の方法は、 Transact-SQLのDELETE文です。 –

+0

こんにちはTT、あなたが投稿したリンクはFileStreamについてです。質問はFileTableに関するものでした。一方はもう一方(FileTableはFileStreamを使用)を使用しますが、それらは異なるテクノロジーです。ファイルストリーム行を削除するにはT-SQLを使用する必要がありますが、通常のWin32コマンドを使用してファイルテーブルをバックアップしたファイルを削除できます。これは、FileTableで、フィルタドライバが自動的にdelete文を発行します([https://www.microsoftpressstore.com/articles/article.aspx?p=2225060&seqNum=2](https://www.microsoftpressstore。 com/articles/article.aspx?p = 2225060&seqNum = 2))。混乱させて申し訳ありません :)。 –

+0

probsメイトは、私は本当にあなたのせいではなく、混乱してしまった。入力いただきありがとうございます! –

関連する問題