SQL Server 2012 で FileTables を使い始めたばかりです。リモート サーバー上にすべてをセットアップし、問題なく作業を進めました。非トランザクション ファイルの挿入などはまったく問題なく機能しました。
しかし、Windows エクスプローラー (右クリック -> 新規 -> テキスト ドキュメント) から FileTable 共有ディレクトリに新しいテキスト ファイルを作成しようとすると、完全にフリーズしました。FileTable でクエリを実行すると、クエリがフリーズするだけで応答がありません。そのため、ファイル システムからの非トランザクション挿入によって FileTable がロックされたことがわかりました。
とにかく、これは私がこれまでに試したことです(成功せずに):
進行中のファイル ストリーム ハンドル ( http://msdn.microsoft.com/en-us/library/gg492061.aspx#BasicsKilling ) を強制終了しますが、結果はありません。実行はフリーズするだけです。
-- Kill all handles on database EXEC sp_kill_filestream_non_transacted_handles; GO -- Kill handles on filetable EXEC sp_kill_filestream_non_transacted_handles @table_name = 'dbo.MyFileTable'; GO -- Kill single handle EXEC sp_kill_filestream_non_transacted_handles @handle_id = <handle id>; GO
データベースをオフラインにします。これにより、次のエラー メッセージが表示されます。
Msg 5061, Level 16, State 1, Line 2 ALTER DATABASE failed because a lock could not be placed on database 'FOO'. Try again later.
データベースをドロップします。これにより、次のエラー メッセージが表示されます。
Msg 3702, Level 16, State 4, Line 2 Cannot drop database "FOO" because it is currently in use.
データベースで進行中のセッション (?) を強制終了します。
EXEC sp_who2 KILL <SPID>
前述のように、トランザクションと非トランザクションの両方で FileTable を操作できません。ご覧のとおり、自分のデータベースを削除することさえできません。
これを引き起こした可能性のある提案はありますか?FileTable の使用に注意する必要がありますか? これを解決する方法について何か提案はありますか?