Applies ToSQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

現象

Microsoft SQL Server 2016 がディストリビューターとして機能しており、SQL Server 2014 または SQL Server 2012 が Publisher として機能していることを前提としています。 この設定では、スナップショット、または sql Server 2012 または SQL Server 2014 パブリッシャーで、ユーザー定義関数 (UDF) をアーティクルとして作成したときに、スナップショットエージェントが失敗し、次のようなエラーメッセージが表示されます。

UserDefinedFunction ' functionname ' のスクリプトが失敗しました

スナップショットエージェントジョブヒストリから、次のエラーメッセージが表示されます。

<DateTime> [5%] レプリケーションエージェントで、<DateTime> ソースが見つかりました。ソース: 不明な<DateTime> 例外の種類: functionname '<> <のスクリプトは失敗しました: 該当するものではありません。

原因

この問題は、スナップショットエージェントで SMO Miscro sft が使用されていることが原因で発生し Miscroます。スクリプトに対するアーティクルのスクリプト。 SQL server 2016 は、 インメモリ関数/ストアドプロシージャ用の新しい SMO プロパティ IsNativelyCompiled を追加します。 このプロパティは、sql server 2016 よりも前のバージョンである SQL Server には表示されません。 ディストリビューターで SQL Server 2016 のスナップショットエージェントを実行すると、SQL Server 2016 の IsNativelyCompiledが使われますが、smo プロパティのは、 Sql server 2012 または2014パブリッシャーに対してチェックされ、上記のエラーが発生して失敗します。

解決方法

この問題は、SQL Server の次の累積的な更新プログラムで修正されています。 Sql server 2016 SP1 の累積更新プログラム 2 (sql server 2016 の累積更新プログラム 4 )

SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。 SQL Server 2016 の最新の累積的な更新プログラム

回避策

この問題を回避するには、サブスクライバーでユーザー定義関数 (UDF) を手動で作成します。

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

関連情報

ソフトウェアの更新を説明するために Microsoft が使用する 用語について説明します。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。