Hotfix này cũng áp dụng cho các dịch vụ phân tích Microsoft SQL Server 2014 (SSAS 2014).
Triệu chứng
Giả định rằng bạn có một số kích thước trong Microsoft SQL Server 2012 Analysis Services (SSAS 2012) hoặc SQL Server 2014 Analysis Services (SSAS 2014) Cube (Tfs_Analysis) có chứa dữ liệu cho Microsoft Visual Studio Team Foundation Server (TFS). Khi bạn chạy lệnh xử lý so với kích thước, việc xử lý có thể không thành công và bạn nhận được thông báo lỗi sau đây:
Lỗi nội bộ: lỗi không mong muốn xảy ra (tệp ' pfiallocator. cpp ', Line 822, function ' PFMemoryHolder:: RegisterMemoryHolder ').
Nếu bạn sử dụng SQL Profiler để theo dõi sự cố, theo dõi cho biết thông báo lỗi sau xảy ra trong lệnh Processfull trên kích thước Vdimworkitemtreeoverlay :
Lỗi nội bộ: lỗi không mong muốn xảy ra (tệp ' pfiallocator. cpp ', Line 822, function ' PFMemoryHolder:: RegisterMemoryHolder '). Lỗi trong công cụ lưu trữ OLAP: đã xảy ra lỗi trong khi ' thuộc tính WorkItemTreeSK ' của kích thước của mục ' làm việc ' từ cơ sở dữ liệu ' Tfs_Analysis ' đang được xử lý.
Lưu ý Lỗi xử lý ảnh hưởng đến thiết kế cơ sở dữ liệu dịch vụ phân tích có các nguồn dữ liệu đã sử dụng nhà cung cấp dữ liệu .NET Framework được quản lý cho SQL Server, là hệ thống. Data. SqlClient.
Nguyên nhân
Sự cố xảy ra do giá trị phím kích thước trùng lặp trong nguồn dữ liệu được sử dụng bởi việc xử lý Dịch vụ phân tích.
Giải pháp
Vấn đề lần đầu tiên được khắc phục trong bản Cập Nhật tích lũy SQL Server sau đây.
Cập Nhật tích lũy 1 cho SQL Server 2014 /en-us/help/2931693
Bản Cập Nhật tích lũy 6 cho SQL Server 2012 SP1 /en-us/help/2874879
Mỗi bản Cập Nhật tích lũy mới cho SQL Server 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 Cập Nhật tích lũy trước đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:
Thông tin Bổ sung
Sau khi bạn áp dụng hotfix, việc xử lý sẽ hoạt động theo các thiết đặt cấu hình lỗi xử lý thay vì theo các triệu chứng lỗi nội bộ. Bạn có thể kiểm soát hành vi bằng cách sử dụng thiết đặt phím trùng lặp khi bạn xử lý các kích thước ssas. Hoặc, bạn có thể kiểm soát hành vi bằng cách cấu hình thuộc tính Keyduplicate của thuộc tính errorconfiguration như sau khi bạn thiết kế các kích thước:
-
Khi cài đặt bàn phím được đặt là thiết đặt mặc định của ignoreerror, không có cảnh báo khi gặp phải một giá trị phím trùng lặp và vẫn tiếp tục xử lý.
-
Khi thiết đặt Keyduplicate được đặt là Reportandcontinue, các lỗi hoặc cảnh báo được báo cáo. Tuy nhiên, việc xử lý vẫn tiếp tục.
-
Khi thiết đặt Keyduplicate được đặt là Reportandstop, các lỗi hoặc cảnh báo được báo cáo và việc xử lý sẽ bị ngừng.
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
Để giải quyết vấn đề này, hãy xóa bỏ các phím trùng lặp không hợp lệ trong bảng kích thước kho dữ liệu trong công cụ cơ sở dữ liệu SQL Server. Bạn có thể sử dụng truy vấn sau đây để tìm khóa trùng lặp:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSKFROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlayGROUP BY WorkItemTreeSKHAVING COUNT(WorkItemTreeSK) >1
Tham khảo
Để biết thêm thông tin về tùy chọn và thiết đặt xử lý, hãy đi tới trang web MSDN sau đây:
Thông tin về tùy chọn xử lý và thiết đặtĐể biết thêm thông tin về cách xử lý các kho hoặc khối hình thủ công, hãy đi tới trang web MSDN sau đây:
Quy trình theo cách thủ công các khối dịch vụ phân tích và kho dữ liệu cho máy chủ tổ chức nhóm