Khắc phục: 17066 và 3624 lỗi khi bạn chạy các thủ tục sp_refreshview được lưu trữ trong một lô lớn mà thực hiện nhị phân lớn đối tượng liên quan đến hoạt động trong SQL Server 2008 R2 hoặc trong SQL Server 2012

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để 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 ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại 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, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. 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. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 2778479
Microsoft phân phối Microsoft SQL Server 2008 R2 Service Pack 2 bản sửa lỗi như là một tải về tệp. 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ả các sửa lỗi bảo mật mà được đính kèm với trước SQL Server 2008 R2 bản ghi dịch vụ Pack 2 sửa chữa phát hành.
Triệu chứng
Xem xét kịch bản sau đây:
  • Bạn thực hiện một loạt lớn các SQL phát biểu trong Microsoft SQL Server 2008 R2 hoặc trong Microsoft SQL Server 2012.
  • SQL phát biểu thực hiện một số lượng lớn các đối tượng lớn nhị phân (BLOB)-liên quan đến hoạt động.
  • SQL phát biểu gọi thủ tục sp_refreshview được lưu trữ trong lô.
Trong trường hợp này, các thủ tục sp_refreshview lưu trữ có thể thất bại. Khi vấn đề này xảy ra, các lỗi sau đây được kí nhập trong SQL Server error log:

Lỗi: 17066, mức độ nghiêm trọng: 16, bang: 1.
SQL Server khẳng định: Tập tin: <tmpilb.cpp>, dòng = 3199 thất bại trong việc khẳng định = 'fNoWriters'. Lỗi này có thể được liên quan đến thời gian. Nếu lỗi vẫn còn sau khi rerunning câu, sử dụng DBCC CHECKDB để kiểm tra bộ máy cơ sở dữ liệu cho 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 trong bộ nhớ dữ liệu không bị hỏng. </tmpilb.cpp>

Lỗi: 3624, mức độ nghiêm trọng: 20, bang: 1.
Một hệ thống kiểm tra khẳng định đã thất bại. Kiểm tra Nhật ký lỗi SQL Server để biết chi tiết. Thông thường, một thất bại khẳng định được gây ra bởi một phần mềm lỗi hoặc dữ liệu tham nhũng. Để kiểm tra cho bộ máy cơ sở dữ liệu tham nhũng, xem xét chạy DBCC CHECKDB. Nếu bạn đồng ý gửi bãi cho Microsoft trong khi thiết lập, một bãi chứa mini sẽ được gửi cho Microsoft. Một bản Cập Nhật có sẵn từ Microsoft trong Service Pack mới nhất hoặc trong một QFE từ hỗ trợ kỹ thuật.

Lỗi: 17066, mức độ nghiêm trọng: 16, bang: 1.
SQL Server khẳng định: Tập tin: <tmpilb.cpp>, dòng = 3306 thất bại trong việc khẳng định = 'fNoReaderWriterConflict'. Lỗi này có thể được 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 bộ máy cơ sở dữ liệu cho 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 trong bộ nhớ dữ liệu không bị hỏng.</tmpilb.cpp>

Ngoài ra, các lỗi sau đây có thể được kí nhập ở Nhật ký lỗi SQL Server khi vấn đề này xảy ra:

Lỗi: 17066, mức độ nghiêm trọng: 16, bang: 1.
SQL Server khẳng định: Tập tin: <tmpilb.cpp>, dòng = 3306 thất bại trong việc khẳng định = 'fNoReaderWriterConflict'. Lỗi này có thể được 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 bộ máy cơ sở dữ liệu cho 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 trong bộ nhớ dữ liệu không bị hỏng.</tmpilb.cpp>

Ghi chú
  • Vấn đề này không xảy ra khi bạn gọi thủ tục sp_refreshview lưu trữ bên ngoài hàng loạt.
  • Sp_refreshview lưu trữ thủ tục thất bại nếu nó được gọi là chống lại quan điểm tương tự bên trong lô.
  • Các nhị phân lớn đối tượng liên quan đến hoạt động có thể có tiềm ẩn. Vì vậy, vấn đề này là khó khăn để xác định. Tuy nhiên, bạn có thể xác định vấn đề này bằng cách sử dụng các thông báo lỗi.
Giải pháp

Cumulative update Cập nhật thông tin

Cumulative update 6 cho SQL Server 2012

Sửa chữa cho vấn đề này lần đầu tiên được phát hành trong Cumulative Update 6. Để biết thêm chi tiết về làm thế nào để có được điều này gói cumulative update cho SQL Server, bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2728897 Cumulative update Cập Nhật gói 6 cho SQL Server 2012
Lư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ả các sửa lỗi bảo mật mà được đính kèm với trước SQL Server 2012 sửa chữa phát hành. Chúng tôi khuyên bạn hãy xem xét việc áp dụng sửa chữa phát hành gần đây nhất có chứa hotfix này. Để biết thêm chi tiết, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2692828 SQL Server 2012 xây dựng mà đã được phát hành sau khi SQL Server 2012 được phát hành

Cumulative Update 2 cho SQL Server 2012 SP1

Sửa chữa cho vấn đề này lần đầu tiên được phát hành trong Cumulative Update 2. Để biết thêm chi tiết về làm thế nào để có được điều này gói cumulative update cho SQL Server 2012 SP1, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2790947 Cumulative update Cập Nhật gói 2 cho SQL Server 2012 Service Pack 1
Lư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ả các sửa lỗi bảo mật mà được đính kèm với trước SQL Server 2012 SP1 sửa chữa phát hành. Chúng tôi khuyên bạn hãy xem xét việc áp dụng sửa chữa phát hành gần đây nhất có chứa hotfix này. Để biết thêm chi tiết, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2772858 SQL Server 2012 xây dựng mà đã được phát hành sau khi SQL Server 2012 Service Pack 1 đã được phát hành

Cumulative update 4 cho SQL Server 2008 R2 SP2

Sửa chữa cho vấn đề này lần đầu tiên được phát hành trong Cumulative Update 4. Để biết thêm chi tiết về làm thế nào để có được điều này gói cumulative update cho SQL Server 2008 R2 SP 2, bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2777358 Cumulative update Cập Nhật gói 4 cho SQL Server 2008 R2 Service Pack 2
Lư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ả các sửa lỗi bảo mật mà được đính kèm với trước SQL Server 2008 R2 SP 2 sửa chữa phát hành. Chúng tôi khuyên bạn hãy xem xét việc áp dụng sửa chữa phát hành gần đây nhất có chứa hotfix này. Để biết thêm chi tiết, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2730301 SQL Server 2008 R2 xây dựng mà đã được phát hành sau khi SQL Server 2008 R2 Service Pack 2 được phát hành
Tình trạng
Microsoft đã xác nhận rằng đây là một vấn đề trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Tham khảo
Để biết thêm thông tin về mô hình bản ghi dịch vụ gia tăng cho SQL Server, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
935897 Một mô hình bản ghi dịch vụ gia tăng là có sẵn từ đội SQL Server để cung cấp hotfixes cho báo cáo vấn đề
Để biết thêm chi tiết về lược đồ đặt tên cho SQL Server Cập Nhật, bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
822499 Các lược đồ đặt tên cho gói cập nhật phần mềm Microsoft SQL Server
Để biết thêm chi tiết về thuật ngữ Cập nhật phần mềm, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
824684 Mô tả thuật ngữ chuẩn được sử dụng để mô tả Cập nhật phần mềm Microsoft

Thuộc tính

ID Bài viết: 2778479 - Xem lại Lần cuối: 02/18/2013 17:37:00 - Bản sửa đổi: 4.0

Microsoft SQL Server 2008 R2 Service Pack 2, SQL Server 2012 Enterprise Core, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Developer

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