これを行う最善の方法についてアドバイスが必要です。
現在、MSSQL 2012 には、区切られたデータ ファイルを一時テーブルに一括挿入し、さまざまなテキスト/数学ロジックを介してすべての行をライブ データ テーブルに処理する clr プロシージャがあります。
完了したら、作成したテーブルを削除したいと思います。DROP TABLE xxx は、次のエラーが発生する場所です。
Msg 6522, Level 16, State 1, Procedure SyncAgents, Line 0
A .NET Framework error occurred during execution of user-defined routine or aggregate "SyncAgents":
System.Security.HostProtectionException: Attempted to perform an operation that was forbidden by the CLR host.
The protected resources (only available with full trust) were: All
The demanded resources were: ExternalThreading
System.Security.HostProtectionException:
at StoredProcedures.SyncAgents()
.
基本的には、UNSAFE である必要があることを意味します。これは私が避けたいことです。質問は次のとおりです。
このテーブルを使い終わった後、このテーブルを削除する最良の方法は何ですか? それはスケジュールされたタスクであるべきですか?それを行うために設定できるある種の巧妙なトリガーはありますか?
キュー (単純な varchar/bit with tablename/isprocessed テーブル) を調べて、そのキューに基づいてドロップを実行するスケジュールされたプロシージャを作成することを考えています。
私は最初から問題を間違って考えていますか?
あなたの提案をいただければ幸いです。