修正 ︰ SQL Server 可能會損毀時遠端的預存程序執行的要求包含不完整定義的引數

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3135750
徵狀
在遠端伺服器執行 Microsoft SQL Server 2012年或 SQL Server 2014年,您必須有一個類似下列的輸出引數的預存程序 ︰

create procedure procExample @retVal varchar(10) outputas set @retVal = 'Goodbye';
一般而言,要叫用這類遠端程序的語法如下所示 ︰

-- Declare a variable to hold a result, and have it initialized with a non-NULL valuedeclare @outputResult varchar(10) = 'Hello';execute ('MyDb.dbo.procExample ? OUTPUT', @outputResult OUTPUT) at [MyRemoteServer];print @outputResult;
如果您省略"?輸出 」 部分中的呼叫語法,正在執行 SQL Server 的本機伺服器可能會損毀。遠端伺服器會繼續進行操作,因為執行永遠不會到達它因為省略此語法的作業。例如,語法如下所示 ︰

-- Declare a variable to hold a result, and have it initialized with a non-NULL valuedeclare @outputResult varchar(10) = 'Hello';execute ('MyDb.dbo.procExample', @outputResult OUTPUT) at [MyRemoteServer];
尚未初始化的變數並不會導致本機伺服器當機。不過,它並產生錯誤訊息指出,並非所有的引數指定的呼叫 (如加以)。例如,您有下列語法 ︰

-- Declare a variable to hold a result, and initialize it with NULL, or leave uninitializeddeclare @outputResult varchar(10) = NULL;execute ('MyDb.dbo.procExample', @outputResult OUTPUT) at [MyRemoteServer];
在此情況下,您會收到類似下列的錯誤訊息 ︰

訊息 201、 層級 16,狀態 4,程序 procExample,行 10

程序或函數 'procExample' 預期參數 '@retVal',但未提供。
解決方案

更新資訊

下列的累積更新的 SQL Server,已先修正這個問題 ︰
建議 ︰ 安裝最新的 SQL Server 累積更新

SQL Server 的每個新的累積更新包含的所有 hotfix,所有安全性修正程式,已包含在先前的累積更新。取出 SQL Server 的最新的累積更新 ︰

附註您可以找到從建置的最新的 SQL Server 的相關資訊 何處可以找到最新的 SQL Server 有關的資訊建置.
狀況說明
Microsoft 已確認這是<套用> 一節所列出的 Microsoft 產品的問題。
参考
深入了解 術語 ,Microsoft 會用其來描述軟體更新。

警告:本文為自動翻譯

內容

文章識別碼:3135750 - 最後檢閱時間:05/31/2016 12:27:00 - 修訂: 4.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3135750 KbMtzh
意見反應