Gælder for
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-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.

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.