Labojums: Vairākas problēmas, kas rodas, izmantojot saistītu serverī, kurā tika izveidots SQL Native Client sniedzējs SQL Server 2008

Veidne: Vispārīgs labojumfails

127399 (satura uzturēšana)kļūdas numurs: BUG #: 401247 (SQL VSTS)

Microsoft izplata Microsoft SQL Server 2008 labojumus kā vienu lejupielādējamu failu. Tā kā labojumi ir kumulatīvi, katrs jauns laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2008 labojumu laidienā.

Pazīmes

Datorā, kurā darbojas sistēma Microsoft SQL Server 2008, rodas viena vai vairākas no šīm problēmām, izveidojot saistītie serveri, izmantojot SQL Native Client nodrošinātājs (Sqlncli.dll).

Piezīme. Šīs problēmas rodas arī ar Microsoft SQL Server 2005 3. servisa pakotne (SP3). Tomēr šajā rakstā labojumfailu neattiecas uz SQL Server 2005 SP3.

1. problēma

Apsveriet šādu situāciju:

  • SQL Server Management Studio, atveriet logu jaunu saistītie serveri un izveidot saistītie serveri, izmantojot kādu no šiem iestatījumiem:

    • Servera tips , SQL Server SQL Native Client nodrošinātājs

    • SQL Native Client (nav SQL Native Client 10) sniedzēju ar citu datu avotuservera tips

    • Microsoft OLE DB nodrošinātājs SQL Server Server ievadietcitu datu avotu

  • Izvēršot Saistītie serveri katalogs ar SQL Server Management Studio, lai redzētu saistītie serveri.

Šādā gadījumā SQL servera pakalpojums negaidīti izslēdzas vai mini dump failu SQL servera kļūda žurnāla mapē tiek izveidota atkārtoti. Šī problēma turpina līdz SQL servera pakalpojums ir apturēts. Turklāt SQL Server Management Studio ziņo par šādu kļūdu:

NOSAUKUMS: Microsoft SQL Server Management Studio
------------------------------
Neizdevās ielādēt šī pieprasījuma datus. (Microsoft.SqlServer.Management.Sdk.Sfc)

Lai saņemtu palīdzību, noklikšķiniet uz: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
PAPILDU INFORMĀCIJA:
Izpildot Transact-SQL priekšraksts vai pakešu radās izņēmums. (Microsoft.SqlServer.ConnectionInfo)
------------------------------

Beidzies taimauts. Taimauta periods beidzās pirms operācijas pabeigšanas vai serveris nereaģē. (Microsoft SQL Server, kļūda: -2)



Piezīme. Šī problēma nerodas, ja, izpildot vaicājumu saistītie serveri, izmantojot SQL Native Client sniedzējs ar servera tipu ar SQL Server.

2. problēma

Apsveriet šādu situāciju:

  • Saistītie serveri izveidojat, izmantojot Microsoft OLE DB nodrošinātājs ODBC draiveri.

  • ODBC datu avots ir izveidots, izmantojot SQL Native Client nodrošinātājs servera tipu ar citu datuavotu.

Šādā gadījumā saistīts serveris atgriež rezultātus.

Risinājums

Šīs problēmas labojums vispirms tika izlaists kumulatīvais atjauninājums 7 sistēmas SQL Server 2008 1. servisa pakotnei. Lai iegūtu papildinformāciju par šo kumulatīvo atjauninājumu pakotnes, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:-

979065 7. kumulatīvo atjauninājumu pakotne sistēmai SQL Server 2008 1. servisa pakotne
Piezīme. Tā kā būvējumi ir kumulatīvi, katrs jauns labojumu laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2008 labojumu laidienā. Ieteicams apsvērt tāda visjaunākā labojuma laidiena pielietošanu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:-

970365 SQL Server 2008 būvējumi, kas tika izlaisti pēc sistēmas SQL Server 2008 1. servisa pakotnes izlaišanas
Microsoft SQL Server 2008 labojumfaili tiek izveidoti īpaši SQL Server servisa pakotnēm. Ir jāinstalē labojumfails SQL Server 2008 1. servisa pakotnei un SQL Server 2008 1. servisa pakotnes instalēšanas. Pēc noklusējuma SQL Server servisa pakotne ir pieejama jebkurā labojumfails ir iekļauts SQL Server nākamajā servisa pakotnē.

Papildinformācija

Sqlncli.dll un Sqlservr.exe failu versiju var apstiprināt vaicājums darbojas šādi:

select * from sys.dm_os_loaded_modules where name like '%sqlncli.dll' or name like '%sqlservr.exe'

Ja izmantojat sistēmu Microsoft SQL Server 2008 1. servisa pakotne (SP1) vai jaunākas versijas Microsoft SQL Server 2008, vaicājums atgriezīs šo informāciju par versiju:

  • Sqlncli.dll faila versija ir vēlāk 9.0:3207.0.

  • Sqlservr.exe fails ir lielāks par vai vienāds ar 10.0:2531.0, bet agrāk nekā 10.0:2766.0 versiju.

Ja izmantojat sistēmu Microsoft SQL Server 2008 RTM vai jaunākām versijām SQL Server 2008 RTM, vaicājums atgriezīs šo informāciju par versiju:

  • Sqlncli.dll failu vēlāk 9.0:3207.0 versija ir versija.

  • Sqlservr.exe fails ir lielāks par vai vienāds ar 10.0:1600.0, bet agrāk nekā 10.0:1835.0 versiju.

Varat palaist šo skriptu nosaka, vai saistītie serveri, rodas problēmas, kas aprakstītas sadaļā "Simptomi":

declare @ServerName sysnamedeclare @ProductName sysname
declare @ProviderName sysname
declare crs cursor local fast_forward
for ( SELECT srv.name AS [Name], srv.product AS[ProductName], srv.provider AS [ProviderName]
FROM sys.servers AS srv
WHERE (srv.server_id != 0)and(srv.name='<Server Name>') )
open crs
fetch crs into @ServerName,@ProductName,@ProviderName
while @@fetch_status >= 0
begin
create table #tmp_catalog_exist_test (id int null,[description]sysname null,flags varchar null)
insert into #tmp_catalog_exist_test(id,[description],flags)
EXEC master.dbo.xp_prop_oledb_provider @ProviderName
fetch crs into @ServerName,@ProductName,@ProviderName
end
deallocate crs
go

Divi zvanu stacksfrom SQL Server 2008 SP1 (būvējums 10.0.2531.0):ChildEBP RetAddr 4603aeac 02c79496 kernel32!RaiseException+0x53
4603aef8 02703706 sqlservr!CDmpDump::Dump+0x95
4603af34 02703e6d sqlservr!SQLDumperLibraryInvoke+0x169
4603b028 026f9cf0 sqlservr!CImageHelper::DoMiniDump+0x2b0
4603bddc 026f95f5 sqlservr!stackTrace+0x693
4603bdfc 02a0e2e4 sqlservr!stackTraceCallBack+0x40
4603c08c 78158c0e sqlservr!ex_terminator+0x85
4603c0d8 78158576 msvcr80!_CallSETranslator+0xa3
4603c10c 7815894b msvcr80!FindHandlerForForeignException+0x58
4603c16c 78158a57 msvcr80!FindHandler+0x33b
4603c1a0 78158b11 msvcr80!__InternalCxxFrameHandler+0xd9
4603c1dc 7c828772 msvcr80!__CxxFrameHandler3+0x26
4603c200 7c828743 ntdll!ExecuteHandler2+0x26
4603c2a8 7c82857e ntdll!ExecuteHandler+0x24
4603c2a8 0154c80b ntdll!KiUserExceptionDispatcher+0xe
4603c5ac 015bf8c5 sqlservr!CVariableInfo::PbGetBlock+0x53
4603c5d4 015bf962 sqlservr!CVarPageMgr::PbAllocate+0x14c
4603c5ec 015bfd85 sqlservr!CMemObj::Alloc+0x2f
4603c61c 01537c2b sqlservr!CMemThread<CMemObj>::Alloc+0x5e
4603c638 015bef96 sqlservr!CMemPartitioned<CMemThread<CMemObj> >::Alloc+0x64
4603c658 0159bed5 sqlservr!operator new+0x21
4603c678 014ab62f sqlservr!operator new[]+0x54
4603c6a0 011ad344 sqlservr!SEColumnMetadataCache::InitRowsetAndHoBtColumnIdMaps+0x100
4603c7c0 011ae6da sqlservr!SEColumnMetadataCache::PopulateSEColumnAttributesFromMetadata+0x1fc
4603c828 011ae2e6 sqlservr!VisibleHoBt::PopulateHoBtColumnAttributesFromMetadata+0x130
4603c92c 011adcce sqlservr!VisibleHoBt::RefreshFromMetadataManager+0x32a
4603c998 011adeba sqlservr!VisibleHoBt::Refresh+0x9d
4603c9d0 011adfbe sqlservr!BaseSharedHoBt::Init+0x61
4603cb20 0159e687 sqlservr!HoBtFactory::GetHoBtAccess+0x28b
4603cb3c 0109c0a9 sqlservr!HoBtAccess::Init+0x55
4603cdf8 01513dc9 sqlservr!HoBtFactory::CreateHoBt+0x52f
4603e594 0109bdf7 sqlservr!SECreateRowset+0x6d4
4603e6b0 010984aa sqlservr!DDLAgent::SECreateRowsets+0x5ef
4603e838 01c27bb5 sqlservr!CIndexDDL::CreateRowsets+0x826
4603e854 016055c4 sqlservr!CIndexDDL::CreateEmptyHeap+0xb0
4603ea78 01096408 sqlservr!CTableCreate::CreateRelation+0x648
4603ed80 01c9fb74 sqlservr!CTableCreate::LCreateImpl+0xaf9
4603ee78 01e5198e sqlservr!CStmtCreateTable::XretCreateTableExecute+0x1b2
4603ee94 01572ddf sqlservr!CXStmtCreateTableDDL::XretExecute+0x3e
4603ef38 0156bf19 sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+0x2f1
4603f014 0156b0c1 sqlservr!CMsqlExecContext::FExecute+0x71a
4603f0d0 01fa1d2f sqlservr!CSQLSource::Execute+0x6d2
4603f890 01fa64ed sqlservr!ExecuteSql+0x7de
4603f940 01fa69a5 sqlservr!CSpecProc::ExecuteSpecial+0xd3
4603fa34 0156b8c2 sqlservr!CSpecProc::Execute+0x245
4603fbc4 0156b4d5 sqlservr!process_request+0x301
4603fd14 015be5a5 sqlservr!process_commands+0x2f3
4603fd84 015be6d6 sqlservr!SOS_Task::Param::Execute+0x117
4603fdc4 015be38f sqlservr!SOS_Scheduler::RunTask+0xbc
4603fe00 0112f47d sqlservr!SOS_Scheduler::ProcessTasks+0x12f
4603fe80 0112e2fa sqlservr!SchedulerManager::WorkerEntryPoint+0x243
4603fe98 015943b9 sqlservr!SystemThread::RunWorker+0x7d
4603ff04 0112e8e8 sqlservr!SystemThreadDispatcher::ProcessWorker+0x2bd
4603ff78 781329bb sqlservr!SchedulerManager::ThreadEntryPoint+0x142
4603ffb0 78132a47 msvcr80!_callthreadstartex+0x1b
4603ffb8 77e6482f msvcr80!_threadstartex+0x66
4603ffec 00000000 kernel32!BaseThreadStart+0x34



ChildEBP RetAddr
45b8e3a4 02c79496 kernel32!RaiseException+0x53
45b8e3f0 02703706 sqlservr!CDmpDump::Dump+0x95
45b8e42c 02703e6d sqlservr!SQLDumperLibraryInvoke+0x169
45b8e520 026f9cf0 sqlservr!CImageHelper::DoMiniDump+0x2b0
45b8f2d4 026f95f5 sqlservr!stackTrace+0x693
45b8f2f4 02a0e2e4 sqlservr!stackTraceCallBack+0x40
45b8f584 78158c0e sqlservr!ex_terminator+0x85
45b8f5d0 78158576 msvcr80!_CallSETranslator+0xa3
45b8f604 7815894b msvcr80!FindHandlerForForeignException+0x58
45b8f664 78158a57 msvcr80!FindHandler+0x33b
45b8f698 78158b11 msvcr80!__InternalCxxFrameHandler+0xd9
45b8f6d4 7c828772 msvcr80!__CxxFrameHandler3+0x26
45b8f6f8 7c828743 ntdll!ExecuteHandler2+0x26
45b8f7a0 7c82857e ntdll!ExecuteHandler+0x24
45b8f7a0 0154c80b ntdll!KiUserExceptionDispatcher+0xe
45b8faa4 015bf8c5 sqlservr!CVariableInfo::PbGetBlock+0x53
45b8facc 015bf962 sqlservr!CVarPageMgr::PbAllocate+0x14c
45b8fae4 015bfd85 sqlservr!CMemObj::Alloc+0x2f
45b8fb14 012658f8 sqlservr!CMemThread<CMemObj>::Alloc+0x5e
45b8fb4c 01265991 sqlservr!SNIPacketNew+0x81
45b8fb80 012d7941 sqlservr!SNIPacketAllocateEx2+0x1be
45b8fba0 012dbc5c sqlservr!TDSSNIClient::NewPacket+0x55
45b8fbcc 012dbea5 sqlservr!CNetConnection::FInit+0x132
45b8fbf8 012dc150 sqlservr!CPhysicalConnection::PNetConnCreateDefault+0xe4
45b8fd14 015be5a5 sqlservr!TDSSNIClient::ProcessCommon+0x2e8
45b8fd84 015be6d6 sqlservr!SOS_Task::Param::Execute+0x117
45b8fdc4 015be38f sqlservr!SOS_Scheduler::RunTask+0xbc
45b8fe00 0112f47d sqlservr!SOS_Scheduler::ProcessTasks+0x12f
45b8fe80 0112e2fa sqlservr!SchedulerManager::WorkerEntryPoint+0x243
45b8fe98 015943b9 sqlservr!SystemThread::RunWorker+0x7d
45b8ff04 0112e8e8 sqlservr!SystemThreadDispatcher::ProcessWorker+0x2bd
45b8ff78 781329bb sqlservr!SchedulerManager::ThreadEntryPoint+0x142
45b8ffb0 78132a47 msvcr80!_callthreadstartex+0x1b
45b8ffb8 77e6482f msvcr80!_threadstartex+0x66
45b8ffec 00000000 kernel32!BaseThreadStart+0x34

Risinājums

Lai izvairītos no šīs problēmas, rīkojieties šādi:

Workaround 1:

1. izdzēsiet bojāto saistītie serveri.

2. Izveidojiet jaunu saistītie serveri, izmantojot SQL Server Native Client 10.0 (SQLNCLI10) sniedzēju. Lai to paveiktu:
. ar peles labo pogu noklikšķiniet uz Saistītie serveri un atlasiet Jaunu saistītie serveri.
b. Atlasiet citu datu avotu un pēc tam SQL Server Native Client 10.0 nodrošinātāja.

Workaround 2:

  1. Izveidojiet reģistra apakšatslēgu, ar nosaukumu "SQLNCLI" šādu ceļu:

    HKLM\Software\Microsoft\DataAccess

  2. Izveidot ar nosaukumu "SQLOSPartitioning" šajā apakšatslēgā REG_DWORD tipa reģistra ierakstu.

  3. Iestatiet ieraksta vērtību 0x0.

Statuss

Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".

Papildinformācija

Kārtulas programmatūra

Kārtulas nosaukums

Kārtulas apraksts

Produkta versijām, kuru nosacījums tiek novērtēts

System Center Advisor

SQL Server atjauninājumu KB979779 trūkst un novērstu bojājumu SQL klienta vietējais atmiņas

Šajā serverī darbojas SQL Native Client nodrošinātāju, kas atbilst SQL Server 2005. Šo vecāko versiju SQLNCLI.dll varētu potenciāli ielādēt SQL Server 2008 un SQL Server 2008 R2, uzskaitot nodrošinātāji un izveidojot saistīta serveri. Īpaši veidots SQL Server 2008 un SQL Server 2008 R2 var rasties problēmas un uzkaras, izveidojot vai izmantojot izveidota ar šo saistītie serveri ietekmē SQLNCLI.dll. Atjaunināt attiecīgajā gadījumu SQL Server 2008 un SQL Server 2008 R2 nepieciešamie labojumi vai neizmantot šo SQLNCLI.dll veidojot saistītie serveri.

SQL Server 2008

SQL Server 2008 R2



Atsauces

Lai iegūtu papildinformāciju par inkrementālās apkopes modeli sistēmai SQL Server, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

935897 inkrementālās apkopes modelis ir pieejams no SQL Server grupas, lai nodrošinātu labojumfailus paziņotajām problēmām



Lai iegūtu papildinformāciju par nosaukumdošanas shēma SQL Server atjauninājumus, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

822499 Jauna Microsoft SQL Server programmatūras atjauninājumu pakotņu nosaukumdošanas shēma

Lai iegūtu papildinformāciju par programmatūras atjauninājumu terminoloģiju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

824684 tiek izmantota Microsoft programmatūras atjauninājumu standarta terminoloģijas apraksts

Vaicājuma vārdi

sqlncli ex_terminator

Autors: bruceye
Writer:v-xinbi
Tehniskais redaktors: mikez jhalmans cshao; madhana; bruceye
Editor:v-sbrenn

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

×