Ajut un alt DBA SQL Server cu o problemă pe care o are doar cu o anumită instanță SQL Server 2008 R2. Am rulat această interogare cu succes pe propriile instanțe 2008 R2, 2012 etc. Voi enumera interogarea mai jos. Subselectările extrag o singură valoare specifică dintr-o funcție cu valori de tabel. Am verificat că coloana de vizualizare la care se face referire există, am verificat că funcția poate fi rulată cu succes ca autonomă în afara sub-selectării, am verificat că ID-ul clientului este valid etc.
DECLARE @CustId varchar(12)
SET @CustId = 'AA100168'
SELECTAȚI
CASE (selectați WORD din dbo.GETALLWORDS([Clienți].[Aniversare],'-') unde WORDNUM = 2)
CÂND „Ian” ATUNCI 1
CÂND „Feb” ATUNCI 2
CÂND „Mar” ATUNCI 3
CÂND „Apr” ATUNCI 4
CÂND „Mai” ATUNCI 5
CÂND „Iun” APOI 6
CÂND „Iulie” ATUNCI 7
CÂND „AUG” ATUNCI 8
CÂND „Sep” ATUNCI 9
CÂND „Oct.” ATUNCI 10
CÂND „Nov” ATUNCI 11
CÂND „Dec” ATUNCI 12
ÎNCHEIAȚI CU AN Luna,
(selectați WORD din dbo.GETALLWORDS([Clienți].[Aniversare],'-') unde WORDNUM = 1) AS AnnDay,
(selectați WORD din dbo.GETALLWORDS([Clienți].[Aniversare],'-') unde WORDNUM = 3) AS AnnYear
DE LA dbo.viwUser_Customers_Custom Customers
WHERE [Clienți].[Id] = @CustId
Iată erorile care revin pentru fiecare sub-selectare.
Mesajul 102, nivelul 15, starea 1 Sintaxă incorectă lângă „Clienți”.
Vreo sugestii cu privire la ce anume cauzează eșecul? Nu se execută în SSMS, dar încercând să analizeze interogarea, revine curat. Am verificat că implementarea 2008 R2 este la același nivel de pachet de servicii ca și alte cazuri în care funcționează aceeași interogare.