Gilt für
SQL Server 2012 Enterprise SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Express

Microsoft SQL Server 2012 Service Pack 1-Updates werden als downloadbare Datei verteilt. Da die kumulativ sind, jede neue Version enthält alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2012 Service Pack 1 Release beheben.

Problembeschreibung

Beim Ausführen einer Transact-SQL-Anweisung in SQL Server 2012 erhalten Sie die folgende Fehlermeldung angezeigt:

Falsche Syntax bei "geplanten".

Dieses Problem tritt auf, wenn Folgendes zutrifft:

  • Die Anweisung enthält eine IF -Bedingung.

  • Die IF -Bedingung enthält keine Anweisungen BEGIN und END .

  • Die IF -Bedingung folgt einem Beginnen TRY -Block.

  • IF -Block wird beim Ausführen der Abfrage neu kompiliert.

Problemlösung

Informationen zum kumulativen Update

Kumulative Update 4 für SQL Server 2012 SP1

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 4 veröffentlicht. Weitere Informationen zu diesem kumulativen Updatepaket für SQL Server 2012 SP1 finden Sie im folgenden Artikel in der Microsoft Knowledge Base-Artikel zu:

2833645 kumulative update 4 für SQL Server 2012 SP1Hinweis Da diese Builds kumulativ sind, jede neue Version enthält alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2012 SP1 Release beheben. Wir empfehlen Sie prüfen die neueste Update-Version, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel Artikel der Microsoft Knowledge Base zu:

2772858 der SQL Server 2012 builds, die nach der Freigabe von Service Pack 1 für SQL Server 2012

Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Weitere Informationen

Um dieses Problem zu reproduzieren, führen Sie die folgende Transact-SQL-Anweisung in SQL Server 2012:DECLARE @i INTIF object_id('tempdb..#temptable') IS NOT NULLDROP TABLE #temptableCREATE TABLE #temptable (id INT)INSERT INTO #temptable VALUES (1),(2),(3);IF year(getdate())=2012 SELECT @i=(SELECT COUNT(*) AS nr FROM #temptable);BEGIN TRYSELECT 'message'END TRYBEGIN CATCHSELECT ERROR_MESSAGE()END CATCH

PROBLEMUMGEHUNG

IF -Bedingung fügen Sie Anweisungen BEGIN und END hinzu , um dieses Problem zu umgehen.

Referenzen

Weitere Informationen zum inkrementellen Dienstmodell für SQL Server folgendem folgenden Artikel der Microsoft Knowledge Base zu:

935897 erläutert wird ein inkrementelles Dienstmodell steht der SQL Server-Team zu Hotfixes für gemeldete ProblemeWeitere Informationen zum Benennungsschema für SQL Server-Updates finden Sie im folgenden Artikel Artikel der Microsoft Knowledge Base zu:

822499 Benennung Schema für Microsoft SQL Server-Software Pakete aktualisierenFür weitere Informationen zur Terminologie für Softwareupdates klicken Sie auf die folgende Artikelnummer, und fahren Sie mit dem Artikel in der Microsoft Knowledge Base fort:

824684 Erläuterung von der standardmäßigen Standardbegriffen bei Microsoft Softwareupdates

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.