Khắc phục: Vi phạm truy nhập và "ngoại lệ không nên được đưa ra bởi mã này" lỗi xảy ra khi bạn sử dụng SQL Server 2012 hoặc SQL Server 2014

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 3042135
Triệu chứng
Giả sử rằng bạn sử dụng Microsoft SQL Server 2012 hoặc SQL Server 2014. Khi gián đoạn xảy ra trong SQL Server, bạn nhận được vi phạm truy nhập sau do gián đoạn màn hình:
sqldk! CSlotGroup::PshRelease
sqldk! CSlotPageMgr::Release
sqllang! commondelete
sqllang! xoá]
sqllang! CTraceDataSTVF::InternalReleaseResources
sqllang! TTableBase<CTraceDataSTVFInfo>:: ReleaseResources</CTraceDataSTVFInfo>
sqllang! CTraceDataSTVF:: {dtor}
sqllang! CTraceDataSTVF:: 'vô hướng xoá hủy'
sqlmin! CSTVFInternal::Release
sqlmin! CQueryExecContext:: ~ CQueryExecContext
sqlmin! CQueryInstance::ShutdownQueryExecContext
sqlmin! CQueryScan::ShutdownQueryExecContext
sqlmin! CQueryScan::DestroyQueryOnException
sqllang! CXStmtQuery::ShutdownOnException
sqllang! CXStmtQuery::FinishOnExceptionImp
sqllang! GetInterruptTicks
sqllang! InterruptTicks<unsigned __int64="">:: LoadTicks</unsigned>
sqllang! SOS_Ticks<><unsigned __int64="">, -3 >:: LoadTicks</unsigned>
sqllang! 'CMsqlExecContext::FExecute':: '1':: bắt$ 3
msvcr100! _CallSettingFrame
msvcr100! __CxxCallCatchBlock
ntdll! RcFrameConsolidation
sqllang! CMsqlExecContext::FExecute
sqllang! CSQLSource::Execute
sqllang! CStmtExecProc::XretLocalExec
sqllang! CStmtExecProc::XretExecExecute
sqllang! CXStmtExecProc::XretExecute
sqllang! CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn
sqllang! CMsqlExecContext::ExecuteStmts<1,0></1,0>
sqllang! CMsqlExecContext::FExecute
sqllang! CSQLSource::Execute
sqllang! ExecuteSql
sqllang! CSpecProc::ExecuteSpecial
sqllang! CSpecProc::Execute
sqllang! process_request
sqllang! process_commands
sqldk! SOS_Task::param:: thực thi
sqldk! SOS_Scheduler::RunTask
sqldk! SOS_Scheduler::ProcessTasks
sqldk! SchedulerManager::WorkerEntryPoint
sqldk! SystemThread::RunWorker
sqldk! SystemThreadDispatcher::ProcessWorker
sqldk! SchedulerManager::ThreadEntryPoint
kernel32! BaseThreadInitThunk
ntdll! RtlUserThreadStart
Sau khi vi phạm truy nhập, bạn nhận được thông báo lỗi từ Nhật ký lỗi SQL Server:
Ngày>Giờ> spidID> Sử dụng phiên bản 'dbghelp.dll' '4.0.5'
Ngày>Giờ> spidID> ** Dump luồng - bản ghi dịch vụ spid =ID>, EC = 0X0000007F8608E160
Ngày>Giờ> spidID> *** Ngăn xếp kết xuất được gửi đếnĐường dẫn tệp>\Tên tệp kết xuất>.txt
Ngày>Giờ> spidID> * *******************************************************************************
Ngày>Giờ> spidID> *
Ngày>Giờ> spidID> * BẮT ĐẦU NGĂN XẾP KẾT XUẤT:
Ngày>Giờ> spidID> *Ngày>Giờ> spidID>
Ngày>Giờ> spidID> *
Ngày>Giờ> spidID> * Vị trí: qxcntxt.cpp:1143
Ngày>Giờ> spidID> * Expression:! " Ngoại lệ không nên được đưa ra mã này"
Ngày>Giờ> spidID> * DỊCH VỤ SPID:ID>
Ngày>Giờ> spidID> * Quá trình ID: 3556
Ngày>Giờ> spidID> *
Ngày>Giờ> spidID> * Vào bộ đệm 37 byte -
Ngày>Giờ> spidID> * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00
Ngày>Giờ> spidID> * ÿÿ & 01 00 00 00 ff ff 0c 00 00 00 00 00 26 04 04 05 00 00
Ngày>Giờ> spidID> * 00
Ngày>Giờ> spidID> *
Ngày>Giờ> spidID> *
...
Ngày>Giờ> spidID> Ngăn xếp chữ ký cho xuất bản 0x000000014202549F
Ngày>Giờ> spidID> [Thông tin] danh tính bắt đầu cuối | Lỗi trạng thái kết quả cho chế LazyCommit ReadOnly | Giao dịch cơ sở dữ liệu ThreadId | ReadSet WriteSet ScanSet Savepoint LogSizeRq | CommitDep TotalComm phụ thuộc 0 phụ thuộc 1 phụ thuộc 2 phụ thuộc 3 phụ thuộc 4 phụ thuộc 5 phụ thuộc 6 phụ thuộc 7 | Vị trí mạng |
Ngày>Giờ> spidID> Thời gian chờ đợi bên ngoài kết xuất trình 11800.

Ngày>Giờ> spidID> Lỗi: 17066, mức độ nghiêm trọng: 16, trạng thái: 1.
Ngày>Giờ> spidID> SQL Server xác nhận: tập tin: <qxcntxt.cpp>, dòng = 1143 không thể xác nhận = '! " Ngoại lệ không nên được đưa ra mã này"'. Lỗi này có thể liên quan đến thời gian. Nếu lỗi vẫn còn sau khi rerunning tuyên bố, sử dụng DBCC CHECKDB để kiểm tra cơ sở dữ liệu cấu trúc toàn vẹn hoặc khởi động lại máy chủ để đảm bảo cấu trúc dữ liệu trong bộ nhớ không bị hỏng.</qxcntxt.cpp>

Giải pháp

Thông tin Cập Nhật tích luỹ

Số lần đầu tiên được khắc phục trong bản Cập Nhật tích luỹ sau của SQL Server.

Giới thiệu: Cài đặt bản Cập Nhật tích luỹ mới nhất cho SQL Server
Mỗi bản Cập Nhật tích luỹ mới cho SQL Server có chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật mà được đính kèm với bản Cập Nhật tích luỹ trước đó. Chúng tôi khuyên bạn nên tải xuống và cài đặt các bản Cập Nhật tích luỹ mới nhất cho SQL Server:
Tình trạng
Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 3042135 - Xem lại Lần cuối: 06/22/2015 16:07:00 - Bản sửa đổi: 2.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3042135 KbMtvi
Phản hồi