3

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 の使用に注意する必要がありますか? これを解決する方法について何か提案はありますか?

4

1 に答える 1

1

SQL Server インスタンスを再起動することで解決しました。ただし、これは私の会社で使用されているリモート インスタンスであるため、最後の手段でした。

この問題は、FileTable ディレクトリに直接ファイルを作成したことが原因であると考えています。ドキュメント ( http://msdn.microsoft.com/en-us/library/gg492083.aspx#HowToLoadNew ) には、次のように記載されています。

ファイルを FileTable にロードするために使用できるメソッドには、次のものがあります。

  • Windows エクスプローラーで、ソース フォルダーから新しい FileTable フォルダーにファイルをドラッグ アンド ドロップします。

  • コマンド プロンプトから、またはバッチ ファイルやスクリプトで、MOVE、COPY、XCOPY、または ROBOCOPYなどのコマンド ライン オプションを使用します。

  • System.IO 名前空間のメソッドを使用してファイルを移動またはコピーするカスタム アプリケーションを C# または Visual Basic.NET で記述します。

ただし、ファイルを作成すると問題が発生する可能性があるとは述べられていません。残念ながら、私の場合はそうでした。この回答が、将来同様の問題を抱えている人々に役立つことを願っています。

于 2014-09-16T12:56:11.137 に答える