Microsoft SQL Server 2012 Service Pack 1-rettelser distribueres som én fil, der kan downloades. Da rettelserne er kumulative, indeholder hver ny version alle hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige rettelse til SQL Server 2012 Service Pack 1.
Symptomer
Når du kører en Transact-SQL-sætning i SQL Server 2012, får du vist følgende fejlmeddelelse:
Forkert syntaks nær 'begi'.
Dette problem opstår, når følgende betingelser gælder:
-
Sætningen indeholder en HVIS-betingelse.
-
HVIS-betingelsen indeholder ikke BEGIN- og END-sætninger.
-
HVIS-betingelsen efterfølges af en BEGIN TRY-blok.
-
HVIS-blokken kompileres igen, når du kører forespørgslen.
Løsning
Oplysninger om samlet opdatering
Samlet opdatering 4 til SQL Server 2012 SP1
Rettelsen til dette problem blev først udgivet i Samlet opdatering 4. Du kan finde flere oplysninger om, hvordan du får denne samlede opdateringspakke til SQL Server 2012 SP1, ved at klikke på nedenstående artikelnummer for at gå til artiklen i Microsoft Knowledge Base:
2833645 Samlet opdatering 4 til SQL Server 2012 SP1Note Da builds er kumulative, indeholder hver ny rettelse alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den tidligere rettelse til SQL Server 2012 SP1. Vi anbefaler, at du overvejer at anvende den nyeste rettelse, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
2772858 De SQL Server 2012-builds, der blev udgivet efter SQL Server 2012 Service Pack 1 blev udgivet
Status
Microsoft har bekræftet, at problemet findes i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".
Flere oplysninger
For at genskabe dette problem skal du køre følgende Transact-SQL-sætninger i 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);HVIS år(getdate())=2012 SELECT @i=(SELECT COUNT(*) AS nr FROM #temptable);START PRØV VÆLG"meddelelse"AFSLUT PRØV STARTFANGSTVÆLG ERROR_MESSAGE()SLUT CATCH
Løsning
Du kan løse dette problem ved at føje BEGIN- og END-sætninger til HVIS-betingelsen.
Referencer
Flere oplysninger om den trinvise serviceringsmodel for SQL Server finder du ved at klikke på nedenstående artikelnummer for at gå til artiklen i Microsoft Knowledge Base:
935897 Der findes en trinvis serviceringsmodel fra SQL Server-teamet til at levere hotfixes til rapporterede problemer Du kan få flere oplysninger om navngivningsskemaet for SQL Server opdateringer ved at klikke på nedenstående artikelnummer for at gå til artiklen i Microsoft Knowledge Base:
822499 Navngivningsskema for Microsoft SQL Server softwareopdateringspakker Du kan få flere oplysninger om softwareopdateringsterminologi ved at klikke på nedenstående artikelnummer for at gå til artiklen i Microsoft Knowledge Base:
824684 Beskrivelse af den standardterminologi, der bruges om Microsoft-softwareopdateringer.