Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

LỖI #: 187868 (bảo trì nội dung)VSTS: 1340145

Microsoft phân phối Microsoft SQL Server 2012 bản vá trong một tập tin có thể tải xuống. Bởi vì các bản sửa lỗi tích lũy, mỗi bản phát hành mới chứa tất cả các hotfix và tất cả bản Cập Nhật bảo mật được đính kèm với trước SQL Server 2012 Cập Nhật phát hành.

Triệu chứng

Xem xét tình huống sau:

  • Bạn tạo một quy trình được lưu trữ sử dụng bảng giá trị tham số (TVP) trong Microsoft SQL Server 2012.

  • Bạn sử dụng SQL Profiler hoặc SQL Server mở rộng sự kiện ghi lại các RPC: bắt đầu và RPC: hoàn thành sự kiện.

  • Bạn chạy một truy vấn sử dụng TVP.

  • Truy vấn hết thời gian.

Trong trường hợp này, một bộ lập lịch các lỗi xảy ra và truy vấn đang chạy trên cùng một lịch chạy chậm. Ngoài ra, một tệp kết xuất nhỏ được tạo trong thư mục Nhật ký của SQL Server.
Khi sự cố này xảy ra, bạn nhận được thông báo lỗi tương tự như sau:

System.Data.SqlClient.SqlException (0x80131904): Thời gian chờ hết hạn. Thời gian chờ trôi qua trước khi hoàn thành các hoạt động hoặc máy chủ không đáp ứng.
tại System.Data.SqlClient.SqlInternalConnection.OnError (ngoại trừ SqlException, Boolean breakConnection)
tại System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
tại System.Data.SqlClient.TdsParserStateObject.ReadSniError (TdsParserStateObject stateObj, UInt32 lỗi)
tại System.Data.SqlClient.TdsParserStateObject.ReadSni (DbAsyncResult asyncResult, TdsParserStateObject stateObj)
tại System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
tại System.Data.SqlClient.TdsParserStateObject.ReadByte()
tại System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
tại System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior runBehavior chuỗi resetOptionsString)
tại System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior RunBehavior runBehavior, Boolean returnStream, Boolean không đồng bộ)
tại System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior RunBehavior runBehavior, Boolean returnStream, phương pháp chuỗi, DbAsyncResult kết quả)
tại System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery (DbAsyncResult kết quả, Chuỗi methodName Boolean sendToPipe)
tại System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
tại TVPApp.Program.Main (chuỗi] args)


Lập lịch các lỗi cùng với thông báo lỗi tương tự như sau được ghi vào Nhật ký lỗi SQL Server:

< Ngày >< Phiên bản máy chủ bằng cách sử dụng 'dbghelp.dll' thời gian > '4.0.5'
< Ngày >< thời gian > Server *** không thể nhận luồng bối cảnh cho dịch vụ spid #
<Date><Time> Server * *******************************************************************************
< Ngày >< thời gian > Server *
< Ngày >< thời gian > Server * bắt đầu ngăn xếp kết xuất:
< Ngày >< thời gian > Server * dịch vụ spid < ngày >< thời gian > #
< Ngày >< thời gian > Server *
< Ngày >< thời gian > Server * các lập lịch
< Ngày >< thời gian > Server *
<Date><Time> Server * *******************************************************************************
< Ngày >< thời gian > Server ngăn xếp chữ ký cho biến là 0x000000000000002C
< Ngày >< thời gian > Server ngoài xuất trình trở mã 0x20000001.
Ngoài xuất trình trả lại không bị lỗi.
Quy trình chủ < ngày >< thời gian > 0:0:0 (0x1670) riêng biệt 0x0000000004EDE160 dường như các lập lịch 5. Giới thiệu thời gian tạo: 13014210386757. Sử dụng xấp xỉ luồng CPU: lõi 0 ms, người dùng 70106 bà sử dụng quy trình 16%. Hệ thống tải 77%. Khoảng thời gian: 70140 ms.
Quy trình chủ < ngày >< thời gian > 0:0:0 (0x1670) riêng biệt 0x0000000004EDE160 dường như các lập lịch 5. Giới thiệu thời gian tạo:

Nguyên nhân

Sự cố này xảy ra vì một lỗi trong cơ sở dữ liệu SQL Server 2012. Cột văn bản trong TVP được thực hiện như chèn dây hoặc bộ đệm và tăng số lượng hàng tăng số lượng bộ đệm. Tuy nhiên, quá trình phát hành bộ đệm là thời gian. Do đó, tạo ra các lỗi lịch khi phát hành và thu hẹp hoạt động xảy ra.

Lưu ý Sự cố tương tự như đã được giải quyết trong bài viết cơ sở kiến thức Microsoft sau. Tuy nhiên, các gói Cập Nhật tích luỹ được mô tả trong bài viết không cho một vấn đề thời gian chờ truy vấn.

Khắc phục sự cố 2520808 : các lỗi lịch khi bạn chạy một truy vấn sử dụng TVP trong SQL Server 2008 hay trong SQL Server 2008 R2 nếu SQL Profiler hoặc SQL Server mở rộng sự kiện được sử dụng

Giải pháp

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

Bản Cập Nhật tích lũy gói 5 cho SQL Server 2012 gói dịch vụ 1 (SP1)

Sửa chữa cho vấn đề này lần đầu tiên được phát hành tích lũy Update 5. Để biết thêm thông tin về cách lấy gói Cập Nhật tích luỹ này dành cho SQL Server 2012, bấm vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

2861107 tích lũy gói 5 cho SQL Server 2012Lưu ý Bởi vì các bản xây dựng tích lũy, mỗi sửa chữa mới phát hành chứa tất cả các hotfix và tất cả bản vá bảo mật được đính kèm với trước SQL Server 2012 vá. Chúng tôi khuyên bạn xem xét việc áp dụng bản vá mới nhất có chứa hotfix này. Để biết thêm thông tin, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:

2772858 the SQL Server 2012 xây dựng đã được phát hành sau khi SQL Server 2012 gói dịch vụ 1

Giải pháp

Để khắc phục sự cố này, hãy sử dụng một trong các phương pháp sau:

  • Không sử dụng SQL Profiler hoặc SQL Server mở rộng sự kiện.

  • Bấm để bỏ chọn các RPC: bắt đầu và RPC: hoàn thành hộp kiểm trong danh sách theo dõi.

Thông tin

Khắc phục sự cố này không áp dụng cho SQL Server 2008 hay SQL Server 2008 R2 khi cơ sở kiến thức này được xuất bản. Nếu bất kỳ người dùng gặp phải sự cố tương tự trong SQL Server 2008 hay SQL Server 2008 R2 ngay cả khi người dùng áp dụng gói được mô tả trong bài viết sau, kiểm tra nếu có thời gian chờ truy vấn và xác định xem hết thời gian có thể được giải quyết. Ngoài ra, gửi yêu cầu để sửa lỗi này áp dụng cho SQL Server 2008 hay SQL Server 2008 R2.

Khắc phục sự cố 2520808 : các lỗi lịch khi bạn chạy một truy vấn sử dụng TVP trong SQL Server 2008 hay trong SQL Server 2008 R2 nếu SQL Profiler hoặc SQL Server mở rộng sự kiện được sử dụng

Thông tin ngăn xếp cuộc gọi

sqlmin!CLinkedMap<__int64,CCheckReadersAndWriters::CCounts>::FLookup+0x29sqlmin!CCheckReadersAndWriters::Release+0x69
sqlmin!CMainIlb::{dtor}+0x3d
sqlmin!CMainIlb::`scalar deleting destructor'+0x3d
sqlmin!CBlobHandleFactoryMain::ReleaseILockBytes+0x13
sqlmin!CMainIlb::Release+0xf0
sqllang!CTraceRpcBinaryStream::~CTraceRpcBinaryStream+0x80
sqllang!CTraceTvpData::{dtor}+0x14
sqllang!CTraceTvpData::`scalar deleting destructor'+0x1e
sqllang!CRpcTraceHelper::CleanUpTraceTvpData+0x33
sqllang!CRpcTraceHelper::~CRpcTraceHelper+0x70
sqllang!CRPCExecEnv::~CRPCExecEnv+0x2ab
sqllang!CRPCExecEnv::`scalar deleting destructor'+0x14
sqllang!process_request+0x10b1
sqllang!process_commands+0x51c
sqldk!SOS_Task::Param::Execute+0x21e
sqldk!SOS_Scheduler::RunTask+0xa8
sqldk!SOS_Scheduler::ProcessTasks+0x299
sqldk!SchedulerManager::WorkerEntryPoint+0x261
sqldk!SystemThread::RunWorker+0x8f
sqldk!SystemThreadDispatcher::ProcessWorker+0x3c8
sqldk!SchedulerManager::ThreadEntryPoint+0x236
kernel32!BaseThreadInitThunk+0xd
ntdll!RtlUserThreadStart+0x1d
sqlmin!CLinkedMap<__int64,CCheckReadersAndWriters::CCounts>::FDelete+0x34sqlmin!CCheckReadersAndWriters::Release+0xfb
sqlmin!CMainIlb::{dtor}+0x3d
sqlmin!CMainIlb::`scalar deleting destructor'+0x3d
sqlmin!CBlobHandleFactoryMain::ReleaseILockBytes+0x13
sqlmin!CMainIlb::Release+0xf0
sqllang!CTraceRpcBinaryStream::~CTraceRpcBinaryStream+0x80
sqllang!CTraceTvpData::{dtor}+0x11
sqllang!CRpcTraceHelper::CleanUpTraceTvpData+0x55
sqllang!CRpcTraceHelper::TracePostExec+0x1bf
sqllang!CRPCExecEnv::OnExecFinish+0xaa
sqllang!CProtocolHeaderInfo::{dtor}+0xffffffff`ffb158e2
sqllang!process_request+0x764
sqllang!process_commands+0x51c
sqldk!SOS_Task::Param::Execute+0x21e
sqldk!SOS_Scheduler::RunTask+0xa8
sqldk!SOS_Scheduler::ProcessTasks+0x29a
sqldk!SchedulerManager::WorkerEntryPoint+0x261
sqldk!SystemThread::RunWorker+0x8f
sqldk!SystemThreadDispatcher::ProcessWorker+0x3c8
sqldk!SchedulerManager::ThreadEntryPoint+0x236
kernel32!BaseThreadInitThunk+0x1a
ntdll!RtlUserThreadStart+0x1d

Trạng thái

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".

Author: jannaw
Writer: v-yipli
Biên tập: pradm; jannaw hozhan
Editor: v-mordew

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×