Applies ToSQL Server 2012 Service Pack 3 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard

Sau khi bạn áp dụng bản cập nhật này, bạn phải thêm dấu theo dõi-T8075 dưới dạng tham số khởi động để bật thay đổi này.

Triệu chứng

Khi bạn chạy một truy vấn trong phiên bản 64 bit của Microsoft SQL Server 2012, bạn sẽ nhận được thông báo lỗi vắng mặt tương tự như sau trong Nhật ký lỗi SQL Server:

Các trang được phân bổ không thành công: FAIL_PAGE_ALLOCATION 513

Truy vấn mất nhiều thời gian để hoàn tất việc thực hiện và gặp phải SOS_MEMORY_TOPLEVELBLOCKALLOCATOR đợi. Khi bạn kiểm tra các điểm thông tin sau đây, bạn sẽ thấy rằng có dung lượng địa chỉ ảo có sẵn rất thấp:

  • DBCC MEMORYSTATUS-quy trình/hệ thống đếm bộ nhớ ảo sẵn dùng trong phần

  • Cột: virtual_address_space_available_kb sys.dm_os_process_memory

Các giá trị này bắt đầu khoảng 8 terabyte (TB) trong quy trình x64 và tiếp tục Trèo xuống và đạt đến một vài Gigabyte (GB).  Khi bạn đang ở giai đoạn nơi mà không gian địa chỉ ảo sẵn dùng là rất thấp, các truy vấn tìm cách thực hiện việc phân phối bộ nhớ cũng có thể gặp phải một loại chờ của CPC. Các điểm dữ liệu sau đây sẽ tiếp tục tăng theo thời gian:

  • Danh mục: virtual_address_space_reserved_kb sys.dm_os_process_memory và sys.dm_os_memory_nodes cột

  • DBCC MEMORYSTATUS-phần quản lý bộ nhớ-VM reserved

Các giá trị này thường sẽ tăng theo bội số của giá trị "Max Server Memory" lên đến gần 8 TB.

Nguyên nhân

Khi quy trình SQL Server đã đạt đến trạng thái mà tổng số bộ nhớ máy chủ = target Server memory = Max Server memory, có các chính sách trong trình quản lý bộ nhớ SQL Server để cho phép phân bổ mới yêu cầu nhiều trang 8 KB để thành công tạm thời. Mẫu phân bổ lặp lại trong điều kiện như vậy có thể gây phân mảnh của khối bộ nhớ và mức tiêu thụ không gian địa chỉ ảo. Nếu quy trình này lặp lại nhiều lần, không gian địa chỉ SQL Server ảo sẽ bị cạn kiệt và bạn sẽ thấy các triệu chứng đã được đề cập trước đó.

Giải pháp

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

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.

 

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 đó. Chúng tôi khuyên bạn nên tải xuống và cài đặt các bản Cập Nhật tích lũy mới nhất cho SQL Server:

Hotfix này sẽ ngăn cả bộ nhớ và việc giảm không gian địa chỉ ảo sẵn dùng mà bạn có thể gặp phả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".

Thông tin Bổ sung

  • Windows 2012 R2 cho phép không gian địa chỉ ảo để phát triển lớn như 128 TB. Do đó, bạn có thể không nhận thấy vấn đề này trong môi trường Windows 2012 R2. Để biết thêm thông tin, hãy xem chủ đề sau trong Trung tâm Windows dev:giới hạn bộ nhớ cho bản phát hành Windows và Windows Server

  • Nếu bạn thấy sự phát triển liên tục trong không gian địa chỉ ảo ngay cả sau khi bạn áp dụng bản sửa lỗi này, bạn có thể xác định truy vấn hoặc hoạt động nào đang yêu cầu khối lượng lớn bộ nhớ bằng cách dùng sự kiện Page_allocated mở rộng. Một tập lệnh mẫu trông như thế này:

    CREATE EVENT SESSION [memory_tracking] ON SERVERADD EVENT sqlos.page_allocated(    ACTION(package0.callstack,sqlos.cpu_id,sqlos.task_address,sqlos.worker_address,sqlserver.database_id,sqlserver.query_hash,sqlserver.request_id,sqlserver.session_id,sqlserver.sql_text)    WHERE ([number_pages]>(1)))ADD TARGET package0.event_file(SET filename=N'E:\Data\MSSQL11.MSSQLSERVER\MSSQL\Log\memory_tracking.xel')WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)GO

    Thông thường đây là các bản sao lưu Nhật ký và các hoạt động bảo trì chỉ mục, vốn sẽ xảy ra thường xuyên.

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