マネージ スレッドが Win32 スレッドであるとは限りません。マネージ スレッドはファイバです。CLR は、SQL によって所有される実際のスレッドの先頭でマネージ スレッドをファイバとして実行します。これらのスレッドは、AppDomains および SQL Server プロセスのデータベースで共有されます。マネージ スレッド ローカル ストレージの使用は有効ですが、アンマネージ スレッド ローカル ストレージは使用できません。また、コードが現在の OS スレッドで再度実行されるとは限りません。これらの設定をスレッドのロケールのように変更しないでください。ロックを開始するスレッドはロックの終了も実行する必要があるので、CreateCriticalSection または CreateMutex を P/Invoke 経由で呼び出さないでください。ファイバを使用する場合はその必要はないため、Win32 クリティカル セクションおよびミューテックスは SQL では無効になります。マネージ スレッド ローカル ストレージやスレッドの現在の UI カルチャなど、System.Thread マネージ オブジェクトのほとんどの状態を安全に使用できます。ただし、モデルのプログラミング上の理由から、SQL での実行中にスレッドの現在のカルチャを変更できません。変更は新しい権限によって行われます。