Applies ToSQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup

Microsoft phân phối các bản sửa lỗi Microsoft SQL Server 2008 R2 là một tệp được tải xuống. Vì bản sửa lỗi được 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 bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục SQL Server 2008 trước đó.

Triệu chứng

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

  • Bạn có mô hình dịch vụ dữ liệu chính (MDS) và tổ chức có thuộc tính dựa trên tên miền trong Microsoft SQL Server 2008 R2. Thuộc tính dựa trên miền được thiết kế để tự tham chiếu đến cùng thuộc tính. Ví dụ, bạn có một thực thể nhân viên có thuộc tính Managername . Thuộc tính Managername tham chiếu đến cùng một thực thể nhân viên chính nó.Lưu ý Người quản lý cũng là một loại nhân viên.

  • Có một cấu trúc phân cấp được định nghĩa được xác định trên một thuộc tính để hiển thị mối quan hệ phụ huynh/con đệ quy cho thuộc tính dựa trên miền.

  • Bạn tải các giá trị dữ liệu có chứa một hoặc nhiều tham chiếu vòng vào bảng MDS Staging. Hành vi này gây ra tham chiếu vòng và nút đầu tiên trong thuộc tính không phải là một phần của hình tròn. Ví dụ, mẫu dữ liệu sau hiển thị tham chiếu vòng. Tuy nhiên, giá trị thành viên Member1 không phải là một phần của vòng tròn:

    Member1--thuộc tính người quản lý--> Member2--thuộc tính người quản lý--> Member3--thuộc tính trình quản lý--> Member2--thuộc tính trình quản lý--> Member3

    insert into mdm.tblStgMemberAttribute(ModelName, EntityName, MemberType_ID, MemberCode, AttributeName, AttributeValue, Status_ID)Values ('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member3', 0),('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member1', 0)('EntityTest', 'ModelTest', 1, 'Member1', 'Manager', 'NULL', 0)
  • Bạn sử dụng một trong các phương pháp sau đây để tải các giá trị dữ liệu vào thực thể bằng cách sử dụng quy trình MDS Staging:

    • Chạy exec [MDM]. [ quy trình udpStagingSweep] bằng cách sử dụng các tham số cần thiết để xử lý dữ liệu được sắp xếp theo giai đoạn.

    • Bấm vào quản lý tích hợp để truy nhập trang chủ của website MDS. Trên trang xuất nhập , bên dưới tiêu đề phần bản ghi không thể lọc, hãy bấm vào biểu tượng bánh răng để xử lý các bản ghi cho một mô hình và phiên bản cụ thể.

Trong trường hợp này, quá trình nền trong quá trình dàn dựng có thể gặp phải một vòng lặp vô hạn khi tiến trình nền trong nội bộ [MDM]. [ quy trình udpMemberRecursiveCircularCheck] .

Nguyên nhân

Sự cố này xảy ra vì các thủ tục Udpstagingsweep và Udpstagingmemberattributesave gọi các thủ tục udpMemberRecursiveCircularCheck một lần cho mỗi hàng dàn dựng. Hành vi này nên kiểm tra giá trị thuộc tính dựa trên miền và trả về lỗi nếu hàng dàn sẽ gây ra tham chiếu vòng cùng với dữ liệu hiện có. Sau khi tất cả các hàng đã tổ hợp được chọn, bạn sẽ nhận được kết quả sau đây:

  • Các hàng mà không có lỗi nào được áp dụng.

  • Các hàng được dàn có lỗi được ghi nhận với mã lỗi.

Nếu các điều kiện được mô tả trong phần "các triệu chứng" là đúng, thì hàm [MDM]. [ hàm udpMemberRecursiveCircularCheck] vòng lặp vô thời hạn cho đến khi có tài nguyên máy chủ đang cạn kiệt, hoặc xuất hiện một thời gian xảy ra.

Giải pháp

Thông tin Cập Nhật tích lũy

Gói dịch vụ SQL Server 2008 R2 1

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 Cumulative 4. Để biết thêm thông tin về cách tải gói Cập Nhật tích lũy cho SQL Server 2008 R2 SP1, 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:

2633146 Gói Cập Nhật tích lũy 4 cho SQL Server 2008 R2 gói dịch vụ 1Lưu ý Vì bản dựng được tích lũy, mỗi bản phát hành khắc phục sự cố mới chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản phát hành khắc phục sự cố SQL Server 2008 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 bản sửa lỗi gần đây 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:

2567616 Bản dựng SQL Server 2008 R2 đã được phát hành sau khi SQL Server 2008 R2 Service Pack 1 đã được phát hành

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

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:

  • Để tránh vấn đề này, hãy làm theo các bước sau đây:

    1. Xem lại theo cách thủ công các giá trị dữ liệu của thành viên đang được chèn vào bảng Staging trước khi bạn chạy tiến trình tập hợp.

    2. Đảm bảo tất cả các giá trị thành viên cho bất kỳ thuộc tính dựa trên miền nào không chứa tham chiếu vòng được mô tả trong phần "triệu chứng"

  • Khi sự cố được mô tả trong phần "các triệu chứng" xảy ra, hãy làm theo các bước sau để khắc phục sự cố:

    1. Xác định phiên đang chạy trong vòng lặp vô hạn.

    2. Giết phiên để dừng vòng lặp.

    3. Xóa các giá trị tham chiếu vòng từ bảng Staging trước khi xử lý tham chiếu vòng.

Lưu ý́

  • Để xác định phiên nào cần giết, hãy dùng một trong các phương pháp sau đây:

    • Sử dụng màn hình hoạt động trong Microsoft SQL Server Management Studio.

    • Chọn từ trang sys. sysprocesses hoặc sys.dm_exec_requests dạng xem quản lý động (các) để xác định các phiên làm việc bên trong cơ sở dữ liệu MDS, trong đó CPU và thời gian sẽ tăng nhanh chóng. Hãy đảm bảo rằng truy vấn hiện tại đang chạy trên phiên làm việc khớp với tên quy trình được mô tả trong phần "Cause".

  • Để xác định quy trình hiện đang chạy cho các phiên, hãy dùng một trong các phương pháp sau đây:

    • Bấm chuột phải vào menu chi tiết trên mỗi quy trình trong quá trình giám sát hoạt động danh sách.

    • Sử dụng một trong các tham số sau đây:

      • Lệnh DBCC INPUTBUFFER (dịch vụ SPID) cùng với ID phiên.

      • Hàm SELECT * FROM sys.dm_exec_sql_text (sqlhandle) cùng với tham số xử lý kết hợp SQL khi bạn sử dụng đầu ra của hàm \.

Tham khảo

Để biết thêm thông tin về cách mở màn hình hoạt động trong SQL Server Management Studio, hãy truy cập trang web MSDN sau đây:

Cách mở màn hình hoạt động trong SQL Server Management StudioĐể biết thêm thông tin về cú pháp giết , hãy truy cập trang web MSDN sau đây:

Thông tin chung về cú pháp giếtĐể biết thêm thông tin về sys.dm_exec_requests , hãy truy cập trang web MSDN sau đây:

Thông tin chung về các sys.dm_exec_requestsĐể biết thêm thông tin về sys.dm_exec_sql_text , hãy truy cập trang web MSDN sau đây:

Thông tin chung về các sys.dm_exec_sql_textĐể biết thêm thông tin về lệnh DBCC INPUTBUFFER , hãy truy cập trang web MSDN sau đây:

Thông tin chung về lệnh DBCC INPUTBUFFERĐể biết thêm thông tin về mô hình dịch vụ gia tăng cho SQL Server, 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:

935897 Mô hình dịch vụ gia tăng sẵn dùng từ nhóm SQL Server để cung cấp hotfixes cho các vấn đề được báo cáoĐể biết thêm thông tin về lược đồ đặt tên cho các bản Cập Nhật SQL Server, hãy bấm số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:

822499 Lược đồ đặt tên mới cho gói cập nhật phần mềm Microsoft SQL ServerĐể biết thêm thông tin về các thuật ngữ Cập nhật phần mềm, 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:

824684 Mô tả thuật ngữ chuẩn được sử dụng để miêu tả các bản cập nhật phần mềm của Microsoft

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