Update: SQL Server kann abstürzen, wenn eine Anforderung zur Ausführung einer remote gespeicherten Prozedur unvollständige Definition von Argumenten enthält

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 3135750
Problembeschreibung
Auf einem remote-Server mit Microsoft SQL Server 2012 oder SQL Server 2014 haben Sie eine gespeicherte Prozedur mit Argument Ausgabe, die der folgenden ähnelt:

create procedure procExample @retVal varchar(10) outputas set @retVal = 'Goodbye';
In der Regel aussehen Syntax eine entfernte Prozedur aufgerufen:

-- 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;
Wenn Sie weglassen der "? Ausgabe"Teil die Aufrufsyntax kann der lokale Server mit SQL Server abstürzen. Remote-Server weiterhin verwendet werden, da die Ausführung nicht durch diese Unterlassung Syntax erreicht. Die Syntax ähnelt z. B. die folgenden:

-- 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];
Eine Variable, die nicht initialisiert bewirkt keine lokalen Server abstürzt. Allerdings wird eine Fehlermeldung generiert, die besagt, dass nicht alle Argumente für den Aufruf angegeben werden (wie sie sein sollte). Angenommen, Sie verfügen über die folgende Syntax:

-- 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];
In diesem Fall erhalten Sie eine Fehlermeldung, die der folgenden ähnelt:

Msg 201, Ebene 16, Status 4 Verfahren ProcExample Zeile 10

Prozedur oder Funktion 'ProcExample' erwartet Parameter '@retVal', der nicht angegeben wurde.
Lösung

Update-Informationen

Dieses Problem wurde erstmals die folgenden kumulative Update für SQL Server behoben:
Empfehlung: Installieren Sie das neueste kumulative Update für SQL Server

Jede neues Kumulatives Update für SQL Server enthält alle Hotfixes und alle die Sicherheitsupdates wurden im vorherigen kumulativen Update. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:

Hinweis Finden Sie Informationen zu den neuesten SQL Server von builds Informationen zu den neuesten SQL Server erstellt.
Status
Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt "Eigenschaften" aufgeführt sind.
Informationsquellen
Erfahren Sie mehr über die Terminologie die Microsoft zur Beschreibung von Softwareupdates verwendet.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 3135750 – Letzte Überarbeitung: 05/31/2016 07:58:00 – Revision: 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 KbMtde
Feedback