Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Trình duyệt của bạn không được hỗ trợ

Bạn cần cập nhật trình duyệt của mình để sử dụng trang web.

Cập nhật lên Internet Explorer phiên bản mới nhất.

"Bột ngọt 8992" thông báo lỗi và siêu dữ liệu không phù hợp trong catalog hệ thống SQL Server

Extended support for SQL Server 2005 ends on April 12, 2016

If you are still running SQL Server 2005 after April 12, 2016, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

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: 2787112
Triệu chứng
Bạn có kinh nghiệm một trong những vấn đề sau đây trong Microsoft SQL Server.

Vấn đề 1

Giả sử bạn tạo một mâu thuẫn trong các siêu dữ liệu hệ thống khi bạn theo cách thủ công Cập nhật bảng hệ thống trong bộ máy cơ sở dữ liệu SQL Server. Sau đó, bạn cố gắng chạy lệnh DBCC CHECKDB để xác định các mâu thuẫn trong hệ thống siêu dữ liệu bảng. Trong tình huống này, các thông báo lỗi sau đây được trả lại:
Msg 8992 người, cấp 16, bang 1, dòng 1
Kiểm tra danh mục Msg 3853, trạm đậu 1: Thuộc tính (referenced_object_id =ID đối tượng>, key_index_id =Chỉ số ID>) của hàng (object_id =ID đối tượng>) trong sys.foreign_keys không có một hàng phù hợp với (object_id =ID đối tượng>, index_id =Chỉ số ID>) trong sys.indexes.

Vấn đề 2

Khi bạn cập nhật các bảng hệ thống tại SQL server, bạn nhận được một thông báo cảnh báo tương tự như sau đây:
Cảnh báo: bảng hệ thống IDBảng ID> đã được cập nhật trực tiếp vào bộ máy cơ sở dữ liệu IDbộ máy cơ sở dữ liệu ID> và bộ nhớ cache tính mạch lạc có thể không có được duy trì. SQL Server nên được khởi động lại.
Trong trường hợp này, nếu bạn chạy lệnh DBCC CHECKDB hoặc DBCC CHECKCATALOG , thông báo cảnh báo cùng với ngày tháng và thời gian mà hệ thống catalog cuối đã được thay đổi được trả lại. Ngoài ra, thông báo cảnh báo sau đây cũng được kí nhập trong SQL Server log:
Cảnh báo: Hệ thống cửa hàng đã được cập nhật trực tiếp vào bộ máy cơ sở dữ liệu IDbộ máy cơ sở dữ liệu ID>, gần đây nhất tạiThời gian kí nhập>.
Lưu ý Thông tin này được lưu trữ trong bộ máy cơ sở dữ liệu tiêu đề và vẫn còn cho cuộc đời của bộ máy cơ sở dữ liệu.
Nguyên nhân
Vấn đề này xảy ra vì SQL Server không hỗ trợ cập nhật hướng dẫn sử dụng hệ thống bàn. bảng hệ thống nên được Cập Nhật chỉ bởi bộ máy cơ sở dữ liệu SQL Server.

Lưu ý Bạn có thể xem dữ liệu trong bảng hệ thống bằng cách sử dụng hệ thống danh dạng xem mục.
Giải pháp
Để giải quyết vấn đề này, sử dụng một trong những phương pháp sau đây.

Phương pháp 1

Nếu bạn có một sao lưu bộ máy cơ sở dữ liệu sạch, khôi phục lại bộ máy cơ sở dữ liệu từ đồng gửi lưu.

Lưu ý Phương pháp này chỉ hoạt động nếu sao lưu không có mâu thuẫn trong các siêu dữ liệu.

Phương pháp 2

Nếu bạn không thể khôi phục lại bộ máy cơ sở dữ liệu từ đồng gửi lưu, xuất khẩu các dữ liệu và các đối tượng bộ máy cơ sở dữ liệu mới. Sau đó, chuyển giao các nội dung theo cách thủ công Cập Nhật bộ máy cơ sở dữ liệu vào bộ máy cơ sở dữ liệu mới. Lưu ýBạn không thể sửa chữa các mâu thuẫn trong catalog hệ thống bằng cách sử dụng các tùy chọn sửa chữa trong lệnh DBCC CHECKDB . Vì vậy, bởi vì lệnh không thể sửa chữa siêu dữ liệu tham nhũng, lệnh không cung cấp bất kỳ cấp độ sửa chữa được đề nghị.
Thông tin thêm
Để biết thêm chi tiết về các quy tắc của hệ thống Trung tâm cố vấn phát hiện sửa đổi được thực hiện để hệ thống danh mục, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
2688307 ID sự kiện 17659 và tổ chức sự kiện ID 3859 người đang kí nhập khi bạn cập nhật bảng hệ thống trong bộ máy cơ sở dữ liệu SQL Server
Bảng sau liệt kê các lỗi chỉ ra mâu thuẫn trong catalog hệ thống. Thông thường, các lỗi sau đây được tạo ra cùng với một mã lỗi "8992 người".
Lỗitin nhắn văn bản
3851Một hàng không hợp lệ (% ls) được tìm thấy trong bảng hệ thống sys.%ls%ls
3852Hàng (% ls) trong sys.%ls%ls không có một hàng phù hợp với (% ls) trong sys.%ls%ls.
3853Thuộc tính (% ls) của hàng (% ls) trong sys.%ls%ls không có một hàng phù hợp với (% ls) trong sys.%ls%ls.
3854Thuộc tính (% ls) của hàng (% ls) trong sys.%ls%ls có một hàng phù hợp với (% ls) trong sys.%ls%ls là không hợp lệ.
3855Thuộc tính (% ls) tồn tại mà không có một hàng (% ls) trong sys.%ls%ls.
3856Thuộc tính (% ls) tồn tại nhưng nên không cho hàng (% ls) trong sys.%ls%ls.
3857Các thuộc tính (% ls) là cần thiết nhưng là mất tích cho hàng (% ls) trong sys.%ls%ls.
3858Các thuộc tính (% ls) của hàng (% ls) trong sys.%ls%ls có giá trị không hợp lệ.
3859 ngườiCảnh báo: Hệ thống cửa hàng đã được cập nhật trực tiếp vào bộ máy cơ sở dữ liệu ID % d, đặt gần đây tại % S_DATE.
Sau đây là ví dụ về thông báo lỗi mà bạn có thể nhận được khi bạn gặp những vấn đề này:
Máy chủ: Msg 2513, cấp 16, bang 1, dòng 1
Bóng lỗi: ID đối tượngID đối tượng> (đối tượng 'ID đối tượng>') không phù hợp giữa 'SYSCOLUMNS' và 'SYSOBJECTS'.

Msg 3853, cấp 16, bang 1, thuộc tuyến 2
Thuộc tính (object_id =ID đối tượng>) của hàng (object_id =ID đối tượng>, index_id =Chỉ số ID>) trong sys.indexes không có một hàng phù hợp với (object_id =ID đối tượng>) trong sys.objects.

Msg 3855, cấp 16, bang 1, thuộc tuyến 2
Thuộc tính (data_space_id = 1) tồn tại mà không có một hàng (object_id =ID đối tượng>, index_id =Chỉ số ID>) trong sys.indexes.

Msg 3852, cấp 16, bang 1, dòng 1
Hàng (object_id =ID đối tượng>, index_id = 1) ở sys.indexes (loại = U) không có một hàng phù hợp với (lớp = 0, objid =ID đối tượng>, indexid =Chỉ số ID>, rowsetnum = 1) ở sys.sysrowsetrefs.

Msg 3852, cấp 16, bang 1, dòng 1
Hàng (object_id =ID đối tượng>, index_id = 1) ở sys.indexes (loại = U) không có một hàng phù hợp với (lớp = 0, objid =ID đối tượng>, indexid =Chỉ số ID>, rowsetnum = 1) ở sys.sysrowsetrefs.

Msg 3853, cấp 16, bang 1, dòng 1
Thuộc tính (default_object_id =Đối tượng ID>) của hàng (object_id =ID đối tượng>, column_id =Cột ID>) trong sys.columns không có một hàng phù hợp với (object_id =ID đối tượng>) trong sys.objects.

Msg 8992 người, cấp 16, bang 1, dòng 1
Kiểm tra danh mục Msg 3853, trạm đậu 1: Thuộc tính (object_id =ID đối tượng>) của hàng (object_id =ID đối tượng>, column_id =Cột ID>) trong sys.columns không có một hàng phù hợp với (object_id =ID đối tượng>) trong sys.objects.

Thực hiện DBCC hoàn thành. Nếu DBCC in thông báo lỗi, liên hệ với người quản trị hệ thống của bạn.
Ngoài ra, bạn có thể nhận được một "bột ngọt 211" lỗi tương tự như sau đây nếu bạn kiểm tra sự thống nhất của một bộ máy cơ sở dữ liệu bằng cách chạy lệnh CHECKDB .
Msg 211, mức độ 23, bang 230, dòng 1
Lược đồ có thể tham nhũng. Chạy DBCC CHECKCATALOG.

Msg 0, Level 20, bang 0, dòng 0
Một lỗi nghiêm trọng xảy ra trên lệnh hiện hành. Các kết quả, nếu có, nên được loại bỏ
Thông báo lỗi này cũng chỉ ra rằng Danh mục Sản phẩm Hệ thống chứa các siêu dữ liệu không phù hợp.

Lưu ýNếu bạn kiểm tra sự thống nhất của một bộ máy cơ sở dữ liệu được nâng cấp từ SQL Server 2000 bằng cách chạy lệnh CHECKDB , lệnh có thể quay một lỗi "8992 người" mã và báo cáo mâu thuẫn trong catalog hệ thống. Hành vi này xảy ra vì lệnh DBCC CHECKDB trong SQL Server 2000 không bao gồm các chức năng của lệnh DBCC CHECKCATALOG . Vì vậy, bạn sẽ không phát hiện thấy những vấn đề trong SQL Server 2000 trừ khi bạn chạy lệnh DBCC CHECKCATALOG .

Để biết thêm chi tiết về làm thế nào để sử dụng lệnh DBCC CHECKDB , đi đến web site của Microsoft sau đây:
Tham khảo
Để biết thêm chi tiết về các vấn đề có thể xảy ra khi một bảng SQL Server Hệ thống được Cập Nhật theo cách thủ công, nhấp vào số bài viết để xem bài viết trong cơ sở kiến thức Microsoft:

2688307 ID sự kiện 17659 và tổ chức sự kiện ID 3859 người đang kí nhập khi bạn cập nhật bảng hệ thống trong bộ máy cơ sở dữ liệu SQL Server


Warning: This article has been translated automatically

Thuộc tính

ID Bài viết: 2787112 - Xem lại Lần cuối: 02/04/2013 20:31:00 - Bản sửa đổi: 3.0

  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Standard
  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB2787112 KbMtvi
Phản hồi