現象
共通言語ランタイム (CLR) ストアド プロシージャを使用して、Microsoft SQL Server 2016 または 2017 Integration Services (SSIS 2016) パッケージを起動することを想定しています。 SQLContext.WindowsIdentity プロパティを呼び出す CLR ストアド プロシージャを実行すると、SSIS パッケージが起動しないために、SQL Server での偽装呼び出しに対して SQLContext.WindowsIdentity プロパティが NULL 値を返すことに気付く場合があります。 この問題は、SYSADMIN アクセス許可を持たない Windows ログイン (SQL Server ログインではない) を持つユーザーによって CLR プロシージャが所有されている場合に発生します。 また、以下のようなエラー メッセージが表示されることがあります。
注
SQL Server 認証を使用するアカウントでは、操作を開始できません。 Windows 認証を使用するアカウントで操作を開始します。
解決策
この問題は、次の SQL Server の累積的な更新プログラムで修正されています。
SQL Server 2017 の累積的な更新プログラム 1
SQL Server 2016 SP1 の累積的な更新プログラム 5
メモ: この問題を解決するには、トレース フラグ (TF) 4637 を有効にする必要があります。
SQL Server の累積的な更新プログラムについて:
SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。
SQL Server 2017 の最新の累積的な更新プログラム
SQL Server 2016 の最新の累積的な更新プログラム
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
参考資料
マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。