KB2380361-FIX: tõrketeade "sp_createstats" salvestatud protseduuri käivitamisel SQL Server 2008 või SQL Server 2008 R2 kui tabel sisaldab nondeterministic arvutatud veergu

Microsoft jagab Microsoft SQL Server 2008 ja Microsoft SQL Server 2008 R2 fikseerib ühe allalaaditava failitüübina. Kuna parandused on kumulatiivsed, sisaldab iga uus versioon kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmiste SQL Server 2008 või SQL Server 2008 R2 paranduse väljalaskes.

Sümptomid

Arvestage järgmise stsenaariumiga.

  • Saate luua tabeli, mis sisaldab nondeterministic arvutatud veergu SQL Server 2008 või SQL Server 2008 R2 andmebaasis. Näiteks käivitage järgmine lause, et luua tabel, mis sisaldab nondeterministic arvutatud veergu. CREATE TABLE [dbo].[t1]( [DateOfBirth] DATE, [Age] AS (FLOOR(DATEDIFF(DAY,[DateOfBirth],GETDATE())/(365.0))))GO Märkus.Selles avalduses on funktsioon GETDATE nondeterministic.

  • Käivitate sp_createstats salvestatud protseduuri jõudluse parandamiseks.Märkus. Sp_createstats salvestatud protseduur loob ühe veeruga statistika andmebaasi kõlblike veergude jaoks.

Selle stsenaariumi korral sp_createstats salvestatud protseduur nurjub. Seetõttu ei pruugita ühegi abikõlbliku veeru statistikat luua. Lisaks kuvatakse järgmine tõrketeade:

MSG 2729, tase 16, olek 1, rea 1Column "Age" tabelis "dbo. T1" ei saa kasutada indeksis või statistikas või partitsiooni võtmena, sest see pole tarkadeks.

Põhjus

See probleem ilmneb seetõttu, et sp_createstats salvestatud protseduur ei jäta nondeterministic arvutatud veerge vahele.

Lahendus

Kumulatiivse värskenduse teave

SQL serveri 2008 hoolduspakett 1

Selle probleemi parandus anti esmakordselt välja kumulatiivne Update 11 SQL Server 2008 Service Pack 1. Selle kumulatiivse värskenduspaketi kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2413738 SQL Server 2008 hoolduspaketi 1 koondvärskenduses pakett 11Märkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL serveri 2008 Fix väljalaskega. Microsoft soovitab, et te loobuksid kõige uuemate paranduste lubamisest, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

970365 Pärast SQL Server 2008 hoolduspaketti 1 välja antud SQL serveri 2008 järgudMicrosoft SQL serveri 2008 käigultparandused luuakse teatud SQL serveri hoolduspakettide jaoks. SQL Server 2008 hoolduspaketi 1 installimisel peate rakendama SQL serveri 2008 hoolduspaketi 1 käigultparanduse. Vaikimisi sisaldub SQL serveri hoolduspaketis pakutav käigultparandus järgmises SQL serveri hoolduspaketis.

SQL Server 2008 hoolduspakett SP2

Selle probleemi lahendus anti esmakordselt välja kumulatiivne Update 1 for SQL Server 2008 Service Pack 2. Selle kumulatiivse värskenduspaketi kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2289254 Kumulatiivne Update 1 SQL Server 2008 Service Pack 2 jaoksMärkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL serveri 2008 Fix väljalaskega. Soovitame teil kaaluda kõige uuemate paranduste rakendamist, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2402659 Pärast SQL Server 2008 Service Pack 2 väljaandmist väljaantud SQL serveri 2008 järgud

SQL Server 2008 hoolduspakett SP2

Selle probleemi lahendus anti esmakordselt välja kumulatiivne Update 2 for SQL Server 2008 Service Pack 2. Selle kumulatiivse värskenduspaketi kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2467239 SQL Server 2008 hoolduspakett SP2 koondvärskenduses pakett 2Märkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL serveri 2008 Fix väljalaskega. Microsoft soovitab, et te loobuksid kõige uuemate paranduste lubamisest, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2402659 Pärast SQL Server 2008 Service Pack 2 väljaandmist väljaantud SQL serveri 2008 järgud Microsoft SQL serveri 2008 käigultparandused luuakse teatud SQL serveri hoolduspakettide jaoks. Peate rakendama SQL Server 2008 hoolduspaketi SP2 käigultparanduse SQL Server 2008 Service Pack 2 installimisel. Vaikimisi sisaldub SQL serveri hoolduspaketis pakutav käigultparandus järgmises SQL serveri hoolduspaketis.

SQL Server 2008 R2

Selle probleemi parandus anti esmakordselt välja kumulatiivne Update 4. Lisateavet selle kumulatiivse värskenduspaketi SQL Server 2008 R2 hankimise kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

2345451 SQL Server 2008 R2 koondvärskenduses pakett 4 Märkus. Kuna järgud on kumulatiivsed, sisaldab iga uus parandus kõiki Kiirparandusi ja kõiki turvaparandusi, mis kuulusid eelmise SQL serveri 2008 R2 paranduse väljalaskes. Soovitame teil kaaluda kõige uuemate paranduste rakendamist, mis sisaldavad seda käigultparandust. Lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

981356 Pärast SQL Server 2008 R2 väljaandmist väljaantud SQL Server 2008 R2 järgud

Olek

Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.

Viited

Tarkadeks ja Nondeterministic funktsioonide kohta lisateabe saamiseks külastage järgmist Microsoft Developer Networki (MSDN-i) veebisaiti:

Üldine teave tarkadeks ja nondeterministic funktsioonide kohtaSp_createstats salvestatud protseduuri kohta lisateabe saamiseks külastage järgmist MSDN-i veebisaiti:

Üldteave Transact-SQL-i salvestatud protseduuri "sp_createstats" kohtaArvutatud veergude kohta lisateabe saamiseks külastage järgmist MSDN-i veebisaiti:

Üldine teave arvutatud veergude kohtaLisateavet SQL serveri täiendava teeninduse mudeli kohta klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:

935897 Astmeline teeninduse mudel on saadaval SQL serveri meeskonnas, et esitada teadaolevate probleemide kohta käigultparandusedSQL serveri värskenduste nimede skeemi kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

822499Microsoft SQL serveri tarkvaravärskenduste pakettide uus nimede skeemTarkvaravärskenduste terminoloogia kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

824684 Microsofti tarkvaravärskenduste kirjeldamiseks kasutatavate standardsete terminite kirjeldus

Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×