KB2658474-FIX: neteisingi rezultatai, kai SqlConnection. Getschemos metodas nuskaito lentelės schemos informaciją SQL serverio 2008, SQL serverio 2008 R2 arba SQL serverio 2012

"Microsoft" platina "Microsoft SQL Server" 2008 3 pakeitimų paketą (SP3), "Microsoft SQL Server 2008 R2" arba "Microsoft SQL Server" 2012 pataisymus kaip vieną atsisiunčiamą failą. Kadangi pataisymai yra kumuliacinės, kiekviena nauja versija yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnės SQL serverio 2008 3 pakeitimų paketo (SP3), SQL serverio 2008 R2 arba SQL serverio 2012 pataisos leidimas.

Simptomai

Tarkime, kad turite kliento taikomąją programą, kuri naudoja " SqlConnection. GetSchema " metodą norint gauti lentelės schemos informaciją. Šioje lentelėje yra stulpelio pavadinimas, kuriame yra taškas (.). Pvz., vienas iš stulpelių pavadinimų lentelėje yra "Stulpelis1. A." Šioje situacijoje stulpelis, kurio varde yra taškas, nėra rezultatų, kuriuos pateikia SqlConnection. Getschemos metodas.Pastaba Ši problema neiškyla, kai naudojate " Oledbconnection. GetSchema " metodą.

Priežastis

Norint įvertinti stulpelių teises, "SQL Server 2008" 1 pakeitimų pakete naudojama funkcija HAS_PERMS_BY_NAME vietoj teisių funkcijos sys.spt_columns_view_managed sistemos rodinyje. Tačiau jei stulpelio pavadinime yra laikotarpis ir jis neįtrauktas į funkciją " pasiūlymo pavadinimas ", funkcija HAS_PERMS_BY_NAME mano, kad vartotojas turi nepakankamai teisių į tą stulpelį. Todėl atsiranda problema, kuri minima skyriuje "Požymiai".

Sprendimas

Kaupiamojo naujinimo informacija

"SQL Server 2008 R2" 2 pakeitimų paketas

Ši problema buvo pirmą kartą išleista Kaupiamasis naujinimas 1 SQL serverio 2008 R2 Service Pack 2. Jei norite gauti daugiau informacijos apie tai, kaip gauti šį kaupiamąjį naujinimų paketą, spustelėkite toliau pateiktą straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

2720425 Kaupiamojo naujinimo paketas 1, skirtas "SQL Server 2008 R2" 2 pakeitimų paketuiPastaba Kadangi komponavimo versijos yra kumuliacinės, kiekviena nauja pataisų versija yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio SQL serverio 2008 R2 pataisų leidimo. Rekomenduojame apsvarstyti, kaip taikyti naujausią pataisų leidimą, kuriame yra šios karštosios pataisos. Jei reikia daugiau informacijos, spustelėkite toliau esantį straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

2730301 SQL serverio 2008 R2 komponavimo versijos, išleistos po "SQL Server 2008 R2" 2 pakeitimų paketo išleidimo

SQL serverio 2012

Šios problemos pataisa pirmą kartą buvo išleista Kaupiamasis naujinimas 2 SQL serverio 2012. Daugiau informacijos apie šį kaupiamųjų naujinimų paketą rasite spustelėję toliau nurodytą straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

2703275 Kaupiamojo naujinimo paketas 2 SQL serverio 2012Pastaba Kadangi komponavimo versijos yra kumuliacinės, kiekviena nauja pataisų versija yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio SQL serverio 2012 pataisų leidimo. "Microsoft" rekomenduoja apsvarstyti naujausių pataisų leidimų, kuriuose yra šios karštosios pataisos, taikymą. Jei reikia daugiau informacijos, spustelėkite toliau esantį straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

2692828 "SQL Server 2012" komponavimo versijos, išleistos po "SQL Server" 2012 išleidimo SQL serverio 2012 karštąją pataisą turite taikyti "SQL Server 2012" įdiegčiai.

"SQL Server 2008 R2" 1 pakeitimų paketas

Ši problema buvo pirmą kartą išleista Kaupiamasis naujinimas 7 SQL serverio 2008 R2 Service Pack 1. Jei norite gauti daugiau informacijos apie tai, kaip gauti šį kaupiamąjį naujinimų paketą, spustelėkite toliau pateiktą straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

2703282 Kaupiamojo naujinimo paketas 7, skirtas "SQL Server 2008 R2" 1 pakeitimų paketuiPastaba Kadangi komponavimo versijos yra kumuliacinės, kiekviena nauja pataisų versija yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio SQL serverio 2008 R2 pataisų leidimo. Rekomenduojame apsvarstyti, kaip taikyti naujausią pataisų leidimą, kuriame yra šios karštosios pataisos. Jei reikia daugiau informacijos, spustelėkite toliau esantį straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

2567616 SQL serverio 2008 R2 stato, buvo paleistas po to, kai buvo išleistas "SQL Server 2008 R2" 1 pakeitimų paketas

SQL serverio 2008 R2

Šios problemos taisymas pirmą kartą buvo išleistas Kaupiamasis naujinimas 13. Jei norite gauti daugiau informacijos apie tai, kaip gauti šį kaupiamojo naujinimo paketą, skirtą "SQL Server" 2008 R2, spustelėkite toliau pateiktą straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

2679366 Kaupiamojo naujinimo paketas 13, skirtas "SQL Server 2008 R2" Pastaba Kadangi komponavimo versijos yra kumuliacinės, kiekviena nauja pataisų versija yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio SQL serverio 2008 R2 pataisų leidimo. Rekomenduojame apsvarstyti, kaip taikyti naujausią pataisų leidimą, kuriame yra šios karštosios pataisos. Jei reikia daugiau informacijos, spustelėkite toliau esantį straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

981356 SQL serverio 2008 R2 stato, buvo paleistas po to, kai buvo išleistas SQL Server 2008 R2

"SQL Server 2008" SP3 kaupiamojo naujinimo paketas 4

Šios problemos taisymas pirmą kartą buvo išleistas 4 kaupiamąjį naujinimą. Jei norite gauti daugiau informacijos apie tai, kaip gauti šį kaupiamojo naujinimo paketą, skirtą "SQL Server 2008" 4 pakeitimų paketui, spustelėkite toliau pateiktą straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

2673383 "SQL Server 2008" 3 pakeitimų paketo kaupiamojo naujinimo paketas 4Pastaba Kadangi komponavimo versijos yra kumuliacinės, kiekviena nauja pataisų versija yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnės SQL serverio 2008 Service Pack 4 pataisos leidimo. Rekomenduojame apsvarstyti, kaip taikyti naujausią pataisų leidimą, kuriame yra šios karštosios pataisos. Jei reikia daugiau informacijos, spustelėkite toliau esantį straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

2629969 SQL serverio 2008 komponavimo versijos, išleistos po "SQL Server 2008" 3 pakeitimų paketo išleidimo

Daugiau informacijos

Daugiau informacijos apie metodą SqlConnection. GetSchema rasite apsilankę šioje MSDN svetainėje:

Bendrąja informacija apie metodą SqlConnection. GetSchema

Statusą

"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.

Reikia daugiau pagalbos?

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijungti prie "Microsoft Insider"

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×