Teď jste offline a čekáte, až se znova připojí internet.

Oprava: SQL Server může dojít k selhání při žádosti o spuštění vzdáleného uložená procedura obsahuje neúplné vymezení argumenty

DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.

Projděte si také anglickou verzi článku: 3135750
Příznaky
Na vzdáleném serveru se systémem Microsoft SQL Server 2012 a SQL Server 2014 máte uloženou proceduru, která má argument výstup podobný následujícímu:

create procedure procExample @retVal varchar(10) outputas set @retVal = 'Goodbye';
Syntaxe pro vyvolání vzdálených procedur obvykle podobná následující:

-- 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;
Vynecháte-li "? VÝSTUP"část Syntaxe volání místní server, který je spuštěn SQL Server může dojít k chybě. Vzdálený server nadále pracovat, protože provedení nikdy nedosáhne z důvodu opomenutí této syntaxe. Příklad syntaxe je podobná následující:

-- 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];
Proměnná nebyla inicializována nezpůsobí selhání místního serveru. Však generuje chybovou zprávu, která uvádí, že všechny argumenty jsou určeny pro volání (jako by). Můžete mít například následující syntaxi:

-- 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];
V tomto případě se zobrazí chybová zpráva podobná následující:

Msg 201, úroveň 16, stát 4, procExample procedura, řádek 10

Procedura nebo funkce "procExample" očekává, že parametr '@retVal', která nebyla dodána.
Řešení

Informace o aktualizaci

Tento problém byl poprvé opraven v následující kumulativní aktualizaci pro SQL Server:
Doporučení: Nainstalujte nejnovější kumulativní aktualizaci pro SQL Server

Každé nové kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly obsaženy v předchozí kumulativní aktualizace. Rezervovat nejnovější kumulativní aktualizace pro SQL Server:

Poznámka: Můžete najít informace o nejnovější SQL Server vytvoří z Kde lze najít informace o nejnovější SQL Server vytvoří.
Prohlášení
Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".
Odkazy
Seznamte se terminologie používaná společností Microsoft k popisu aktualizací softwaru.

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 3135750 - Poslední kontrola: 05/31/2016 07:56:00 - Revize: 3.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 KbMtcs
Váš názor
e="display: none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">l>html>