Ознаки
Припустімо, що у вас є конфігурація, коли Microsoft SQL Server 2016 виконує функції Дистриб'ютора, а SQL Server 2014 або SQL Server 2012 – Publisher. Якщо за таких умов ви створюєте знімок, транзакцію чи публікацію злиття в SQL Server 2012 чи SQL Server 2014 Publisher з користувацькою функцією (UDF) у вигляді статті, агент знімків не працює під час створення сценарію UDF, і з'являється повідомлення про помилку, схоже на таке:
Примітка.
Помилка сценарію для UserDefinedFunction 'schema.functionname'
Наступне повідомлення про помилку відображається в журналі завдань агента знімків:
Примітка.
<DateTime> [5%] Агент реплікації виявив виняток
<DateTime> Source: Unknown
<Тип винятку DateTime> : Microsoft.SqlServer.Management.Smo.FailedOperationException
<Повідомлення про виняток DateTime> : Помилка сценарію для UserDefinedFunction 'schema.functionname'
<Код повідомлення DateTime> : Not Applicable
Причина
Ця проблема виникає тому, що агент знімків використовує SMO Miscrosft.SqlServer.Smo.dll для написання сценаріїв статей. SQL Server 2016 додає нову властивість SMO IsNativelyCompiled для In-Memory функцій або збережених процедур. Ця властивість відсутня в SQL ServerSQL Server, версія яких раніша за SQL ServerSQL Server 2016. Коли ви запускаєте Snapshot Agent на Distributor за SQL Server 2016, він використовує Microsoft.SqlServer.Smo.dll SQL Server 2016, але намагається перевірити властивість SMO IsNativelyCompiled з SQL Server 2012 або 2014 Publisher, і завершується помилкою вище.
Спосіб усунення проблеми
Цю проблему вирішено в наведених нижче сукупних оновленнях для SQL ServerSQL Server:
Сукупний пакет оновлень 2 для SQL ServerSQL Server 2016 SP1
Сукупний пакет оновлень 4 для SQL ServerSQL Server 2016
Відомості про сукупні оновлення для SQL ServerSQL Server
Кожне нове сукупне оновлення для SQL Server містить усі виправлення та виправлення системи безпеки, які входили до попереднього сукупного пакета оновлень. Перегляньте останні сукупні оновлення для SQL Server.
Останнє сукупне оновлення для SQL ServerSQL Server 2016
Спосіб вирішення
Щоб вирішити цю проблему, створіть користувацькі функції (UDF) вручну на Абоненту.
Стан
Корпорація Microsoft підтвердила, що це одна з проблем з продуктами Microsoft, перелічених у розділі "Застосовується до".
Посилання
Дізнайтеся, за допомогою яких термінів корпорація Майкрософт описує оновлення програмного забезпечення.