Áp dụng cho
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

Microsoft phân phối các bản sửa SQL Server Microsoft SQL Server 2012 trong một tệp có thể tải xuống. Vì các bản sửa lỗi được tích lũy nên mỗi bản phát hành mới đều chứa tất cả các bản cập nhật nóng và tất cả các bản cập nhật bảo mật được bao gồm trong bản phát hành bản cập nhật SQL Server 2012 trước đó.

Triệu chứng

Hãy xem xét tình huống sau:

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

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

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

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

Trong trường hợp này, lỗi bộ lập lịch không tạo ra xảy ra và truy vấn đang chạy trên cùng một bộ lập lịch chạy chậm. Ngoài ra, một mini-dump tập tin được tạo ra trong thư mục SQL Server nhật ký.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): Hết thời gian chờ đã hết. Khoảng thời gian chờ đã trôi qua trước khi hoàn tất thao tác hoặc máy chủ không đáp ứng.tại System.Data.SqlClient.SqlInternalConnection.OnError(ngoại lệ SqlException, Boolean breakConnection)tại System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()tại System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, Lỗi UInt32)at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()tại System.Data.SqlClient.TdsParserStateObject.ReadByte()at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, dữ liệu SqlDataReaderStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)tại System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)tại System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Phương pháp chuỗi, Kết quả DbAsyncResult)tại System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(Kết quả DbAsyncResult, String methodName, Boolean sendToPipe)tại System.Data.SqlClient.SqlCommand.ExecuteNonQuery()at TVPApp.Program.Main(String[] args)

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

<Ngày><Giờ> Server Sử dụng 'dbghelp.dll' phiên bản '4.0.5'<Thời gian><Máy chủ> Ngày tháng ***Không thể tải ngữ cảnh chuỗi cho spid #<Date><Time> Server * *******************************************************************************><2><8 Ngày><Thời gian> Máy chủ *><6 Ngày><Máy chủ> * BẮT ĐẦU KẾT XUẤT NGĂN XẾP:><0 Ngày><Thời gian> Server * <Ngày><Thời gian> dịch vụ #><8 Ngày><Thời gian> Máy chủ *><2 Ngày><Máy chủ> * Bộ lập lịch><6 Ngày><Thời gian> Máy chủ *<Giờ><Ngày> Máy chủ * *******************************************************************************<Ngày><Thời gian> Chữ ký Xếp chồng Máy chủ cho kết xuất là 0x000000000000002C<Ngày><Thời gian> Server Quá trình kết xuất bên ngoài sẽ trả về mã 0x20000001.Quá trình kết xuất bên ngoài không trả về lỗi.<><thời gian> Quy trình Máy chủ 0:0:0 (0x1670) Nhân viên 0x0000000004EDE160 có vẻ không hoạt động trên Scheduler 5. Thời gian tạo luồng: 13014210386757. Approx Thread CPU sử dụng: kernel 0 ms, người dùng 70106 ms. Quá trình sử dụng 16%. Hệ thống nhàn rỗi 77%. Khoảng thời gian: 70140 ms.<><thời gian> Quy trình Máy chủ 0:0:0 (0x1670) Nhân viên 0x0000000004EDE160 có vẻ không hoạt động trên Scheduler 5. Thời gian tạo luồng:

Nguyên nhân

Sự cố này xảy ra do lỗi trong Công cụ cơ SQL Server 2012. Các cột văn bản trong TVP được thực hiện như chèn chuỗi hoặc bộ đệm, và tăng số hàng tăng số lượng bộ đệm. Tuy nhiên, quá trình phát hành bộ đệm là tốn thời gian. Do đó, lỗi bộ lập lịch không sản lượng được tạo ra khi phát hành và thu hẹp hoạt động xảy ra. Lưu ý Sự cố tương tự đã được giải quyết trong bài viết cơ sở Kiến thức Microsoft sau đây. Tuy nhiên, gói cập nhật tích lũy được mô tả trong bài viết không phải là một truy vấn hết thời gian chờ vấn đề.

2520808 Khắc phục: Lỗi bộ lập lịch không tạo ra khi bạn chạy truy vấn sử dụng TVP trong SQL Server 2008 hoặc trong SQL Server 2008 R2 nếu sử dụng Sql Profiler hoặc SQL Server Extended Events

Giải pháp

Thông tin cập nhật tích lũy

Gói cập nhật tích lũy 5 cho SQL Server 2012 Gói Dịch vụ 1 (SP1)

Bản sửa lỗi cho sự cố này lần đầu tiên được phát hành trong Bản cập nhật Tích lũy 5. Để biết thêm thông tin về cách nhận gói cập nhật tích lũy này cho bản SQL Server 2012, 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:

2861107 Gói cập nhật tích lũy 5 dành cho SQL Server 2012Note Vì các bản dựng được tích lũy nên mỗi bản phát hành bản sửa lỗi mới chứa tất cả các cập nhật nóng và tất cả các bản sửa lỗi bảo mật được bao gồm trong bản phát hành sửa lỗi SQL Server 2012 trước đó. Chúng tôi khuyên bạn nên cân nhắc việc áp dụng bản phát hành sửa lỗi 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 đây để xem bài viết trong Cơ sở Kiến thức Microsoft:

2772858 Bản dựng SQL Server 2012 mới được phát hành sau SQL Server 2012 Gói Dịch vụ 1 được phát hành

Cách giải quyết

Để 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 Extended Events.

  • Bấm để xóa hộp kiểm RPC:Bắt đầu và RPC:Đã hoàn thành trong định nghĩa theo dõi.

Trạng thái

Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

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.