KB4058289 - 修正:當您在 SQL Server 2016 和 2017 中加密未發佈的預存程序時,ALTER PROCEDURE WITH ENCRYPTION 陳述式失敗

套用到
SQL Server 2016 Service Pack 1 SQL 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 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

症狀

假設您在 Microsoft SQL Server 2016 和 2017 中建立合併出版物。 當您嘗試使用 ALTER PROCEDURE 加密不屬於已發佈物件的預存程序時 ...WITH ENCRYPTION 陳述式時,您可能會注意到陳述式失敗,並顯示類似下列的錯誤訊息:

注意

Msg 536, Level 16, State 4, Procedure ProcedureName, Line Number [批次開始 Line Number]

傳遞至 RIGHT 函數的長度參數無效。

解決方式

此問題已在下列 SQL Server 累積更新中修正:

SQL Server 2017 累積更新 6

SQL Server 2016 SP1 的累積更新 8

關於 SQL Server 的累積更新:

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

適用於 SQL Server 2017 的最新累積更新

適用於 SQL Server 2016 的最新累積更新

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來說明軟體更新的術語。