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

Cấu hình bộ nhớ và định cỡ cân nhắc trong SQL Server 2012 và phiên bản mới hơn

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để 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 nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các 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, 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.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 2663912
Tóm tắt
Microsoft SQL Server thực hiện tự động nhớ quản lý dựa trên các yêu cầu bộ nhớ hiện tại trong SQL Server thành phần và khối lượng công việc trên hệ thống. SQL Server cũng cung cấp các tùy chọn cấu hình liên quan đến bộ nhớ để giúp tinh chỉnh mẫu hành vi ứng dụng cụ thể và yêu cầu nâng cao. Các tùy chọn cấu hình khác bao gồm:
  • Tuỳ chọn sp_configure (bộ nhớ máy chủ tối đa (MB), bộ nhớ máy chủ min (MB), và awe kích hoạt)
  • tham số -g (memory_to_reserve)
  • Trang bị khóa

Microsoft SQL Server 2012 giới thiệu những thay đổi trong quản lý bộ nhớ có ảnh hưởng đến cách quản trị viên cấu hình các tùy chọn bộ nhớ. Vui lòng xem lại các thay đổi được mô tả ở đây trước khi bạn nâng cấp lên SQL Server 2012 hoặc trước khi bạn đặt cấu hình cài đặt chuyên biệt mới của SQL Server 2012.

Lưu ý: Bài viết này cũng áp dụng cho Microsoft SQL Server 2014.
Thông tin thêm
SQL Server 2012 cũng giới thiệu cách cụ thể loại cấp phát bộ nhớ được chiếm và các tùy chọn cấu hình bộ nhớ điều khiển tối đa số lượng bộ nhớ có thể sử dụng các loại phân bổ. Những thay đổi trong SQL Server 2012 được cụ thể yêu cầu cấp phát bộ nhớ SQL CLR và phân bổ nhiều trang. SQL Server 2012 đã cấp phát trang mới quản lý phân bổ một trang và nhiều trang (ít hơn 8 KB và hơn yêu cầu phân bổ 8 KB). Do đó, không có mục riêng biệt "phân bổ nhiều trang" trong SQL Server 2012.

Thay đổi "hệ phục vụ tối đa bộ nhớ (MB)" và "bộ nhớ máy chủ min (MB)"

Trong các phiên bản của SQL Server (SQL Server 2005, SQL Server 2008 và SQL Server 2008 R2), tuỳ chọn cấu hình sau xác định giới hạn của bộ nhớ vật lý vùng đệm tiêu thụ. Chú ý rằng chúng tôi nói về bộ nhớ vật lý này trường hợp, vật lý bộ nhớ cam kết của quá trình công cụ bộ máy cơ sở dữ liệu SQL Server:
  • Hệ phục vụ tối đa bộ nhớ (MB)
  • bộ nhớ máy chủ min (MB)
Thisconfiguration tùy chọn thông thường bao gồm chỉ cấp phát bộ nhớ được nhỏ hơn hoặc bằng 8 KB trong quá trình SQL Server. Phân bổ werealso được gọi là "single_page_allocations" do quản lý bộ nhớ SQL Server sử dụng kích thước trang 8 KB. Cấu hình này không bao gồm các yêu cầu cấp phát bộ nhớ sau:
  • Phân bổ nhiều trang từ SQL Server: đây là phân bổ yêu cầu nhiều hơn 8 KB.
  • Phân bổ CLR: bao gồm các phân bổ SQL CLR đống và các phân bổ chung được tạo ra trong quá trình cài đặt chuyên biệt CLR.
  • Cấp phát bộ nhớ cho luồng ngăn xếp trong quá trình SQL Server.
  • Yêu cầu cấp phát bộ nhớ trực tiếp vào Windows: Windows đống sử dụng và phân bổ ảo trực tiếp bằng mô-đun được tải trình SQL Server. Ví dụ về các yêu cầu cấp phát bộ nhớ bao gồm phân bổ từ quy trình được lưu trữ mở rộng dll, đối tượng được tạo ra bằng cách sử dụng quy trình tự động (sp_OA cuộc gọi), và phân bổ từ nhà cung cấp máy chủ được liên kết.

Bắt đầu với SQL Server 2012, phân bổ nhiều trang và phân bổ CLR cũng được bao gồm trong giới hạn bộ nhớ được kiểm soát bởi hệ phục vụ tối đa bộ nhớ (MB)bộ nhớ máy chủ min (MB). Thay đổi này cung cấp một khả năng kích thước chính xác cho tất cả các yêu cầu bộ nhớ đi qua trình quản lý bộ nhớ SQL Server. Xem xét cẩn thận giá trị hiện tại hệ phục vụ tối đa bộ nhớ (MB)bộ nhớ máy chủ min (MB) của bạn sau khi bạn nâng cấp lên SQL Server 2012. Bạn nên xem lại các giá trị vì SQL Server 2012 bây giờ bao gồm tài khoản để cấp phát bộ nhớ hơn so với các phiên bản. Những thay đổi này áp dụng cho phiên bản 32-bit và 64-bit của SQL Server 2012.

Bảng sau cho biết liệu loại cấp phát bộ nhớ quản lý tuỳ chọn cấu hình hệ phục vụ tối đa bộ nhớ (MB)bộ nhớ máy chủ min (MB).
Loại cấp phát bộ nhớSQL Server 2005, SQL Server 2008, SQL, Server 2008 R2SQL Server 2012, SQL Server 2014
Phân bổ một trangVâng, hợp nhất thành "kích thước bất kỳ" trang phân bổ
Phân bổ nhiều trangKhôngVâng, hợp nhất thành "kích thước bất kỳ" trang phân bổ
Phân bổ CLRKhông
Giới thiệu ngăn xếp bộ nhớKhôngKhông
Cấp phát trực tiếp từ WindowsKhôngKhông
SQL Server 2012 và các phiên bản có thể phân bổ nhiều bộ nhớ hơn giá trị được chỉ định trongbộ nhớ máy chủ tối đa. Hành vi này có thể xảy ra khi giá trịTổng bộ nhớ máy chủ (KB)đã được cài đặt chuyên biệtBộ nhớ máy chủ mục tiêu (KB)(theo quy định củabộ nhớ tối đa máy chủ). Nếu không có đủ bộ nhớ tiếp giáp để đáp ứng nhu cầu của yêu cầu nhiều trang bộ nhớ (hơn 8 KB) vì phân mảnh bộ nhớ, SQL Server có thể thực hiện trên cam kết thay vì từ chối yêu cầu bộ nhớ.

Ngay sau khi thực hiện phân bổ này, tài nguyên màn hình khởi động để giải phóng bộ nhớ được phân bổ và cố gắng mang lại giá trịTổng bộ nhớ máy chủ (KB)belowthe Bộ nhớ máy chủ mục tiêu (KB) thông số kỹ thuật. Do đó, Sử dụng Bộ nhớ SQL Server có thể ngắn exceedthe hệ phục vụ tối đa bộ nhớcài đặt chuyên biệt. Trong trường hợp này,Tổng bộ nhớ máy chủ (KB)hiệu suất truy cập đọc sẽ vượt quábộ nhớ tối đa máy chủvà cài đặt chuyên biệtBộ nhớ máy chủ mục tiêu (KB) .

Hiện tượng này thường được quan sát trong các thao tác sau:
  • Lớn Columnstore chỉ truy vấn
  • Xây dựng Columnstore mục chỉ dẫn (lại), mà sử dụng số lượng lớn bộ nhớ để thực hiện thao tác băm và sắp xếp
  • Thao tác sao lưu yêu cầu lớn bộ nhớ đệm
  • Theo dõi hoạt động có thể lưu trữ lớn các tham số đầu vào

Cập Nhật tích luỹ 8 cho SQL Server 2014Cập Nhật tích luỹ 1 dành cho SQL Server 2014 SP1giới thiệu một cải tiến cho bản phát hành bộ nhớ nhanh hơn, như được mô tả trong tổng quan về trước. Ngoài ra,Cập Nhật tích luỹ 9 dành cho SQL Server 2014giải quyết một vấn đề cấp phát bộ nhớ có liên quan đến hơn cam kết. Để biết thêm thông tin, hãy xem bài viết sau trong Cơ sở Kiến thức của Microsoft:
Để biết thêm chi tiết về các phần của bộ nhớ do thiết đặtbộ nhớ máy chủ tối đa, hãy xem phần Tùy chọn cấu hình máy chủ bộ nhớ máy chủ Sách trực tuyến chủ đề.

Thay đổi đối với "memory_to_reserve"


Các phiên bản 32-bit SQL Server (SQL Server 2005, SQL Server 2008 và SQL Server 2008 R2), quản lý bộ nhớ SQL Server dành một phần của quá trình không gian địa chỉ ảo để sử dụng bởi các yêu cầu phân phối sau:
  • Phân bổ nhiều trang từ SQL Server: đây là phân bổ yêu cầu nhiều hơn 8 KB.
  • Phân bổ CLR: bao gồm các phân bổ SQL CLR đống và các phân bổ chung được tạo ra trong quá trình cài đặt chuyên biệt CLR.
  • Cấp phát bộ nhớ cho luồng ngăn xếp trong quá trình SQL Server.
  • Yêu cầu cấp phát bộ nhớ trực tiếp vào Windows: các yêu cầu phân bổ bao gồm Windows đống sử dụng và phân bổ ảo trực tiếp bằng mô-đun được tải trình SQL Server. Ví dụ về các yêu cầu cấp phát bộ nhớ bao gồm phân bổ từ quy trình được lưu trữ mở rộng dll, đối tượng được tạo ra bằng cách sử dụng quy trình tự động (sp_OA cuộc gọi), và phân bổ từ nhà cung cấp máy chủ được liên kết.

Không gian địa chỉ ảo dành cho các phân bổ được xác định bởi các tùy chọn cấu hình memory_to_reserve . Sử dụng SQL Server là 256 MB. Để ghi đè lên giá trị mặc định, sử dụng tham số khởi động SQL Server -g . Phần này của không gian địa chỉ ảo còn là gọi là "Bộ nhớ để lại" hoặc "Không đệm nhóm vùng."

Vì SQL Server 2012 mới cấp phát trang "kích thước bất kỳ" xử lý phân bổ lớn hơn 8 KB, giá trị memory_to_reserve bao gồm phân bổ nhiều trang. Ngoại trừ thay đổi này, mọi thứ khác vẫn giữ nguyên tuỳ chọn cấu hình này.

Bảng sau cho biết liệu loại cấp phát bộ nhớ rơi vào vùng memory_to_reservekhông gian địa chỉ ảo cho quá trình SQL Server.
Loại cấp phát bộ nhớSQL Server 2005, SQL Server 2008, SQL Server 2008 R2SQL Server 2012, SQL Server 2014
Phân bổ một trangKhôngKhông hợp nhất thành "kích thước bất kỳ" trang phân bổ
Phân bổ nhiều trangKhông hợp nhất thành "kích thước bất kỳ" trang phân bổ
Phân bổ CLR
Giới thiệu ngăn xếp bộ nhớ
Cấp phát trực tiếp từ Windows

Thay đổi đối với các tùy chọn cấu hình liên quan đến bộ nhớ

Nếu bạn cấu hình SQL Server 2005, SQL Server 2008 hay SQL Server 2008 R2 sử dụng tuỳ chọn "awe kích hoạt", hãy xem bài viết sau đây để hiểu các thay đổi quan trọng cho tuỳ chọn cấu hình này:

Nếu bạn cấu hình SQL Server 2005, SQL Server 2008 hay SQL Server 2008 R2 sử dụng tính năng "khoá trang", hãy xem bài viết sau đây để hiểu các thay đổi quan trọng cho tuỳ chọn cấu hình này:

Sử dụng Bộ nhớ tối đa cho các phiên bản khác nhau của SQL Server

Các phiên bản khác nhau của SQL Server có giới hạn tối đa các tài nguyên, họ có thể sử dụng. Không có giới hạn áp dụng về cách Sử dụng Bộ nhớ tối đa cho các phiên bản khác nhau của SQL Server. Ví dụ: một phiên bản SQL Server 2008 R2 Standard Edition có thể sử dụng chỉ là một bộ nhớ tối đa là 64 GB. Đầy đủ chi tiết, hãy truy cập web site MSDN sau đây:Bắt đầu với SQL Server 2012, các giới hạn bộ nhớ được áp dụng cho bộ máy cơ sở dữ liệu bộ nhớ cache (bộ đệm nhóm). Phần còn lại của bộ đệm ẩn trong trình quản lý bộ nhớ SQL Server có thể sử dụng nhiều bộ nhớ hơn được chỉ định bởi các giới hạn phiên bản. Ví dụ: một phiên bản SQL Server 2012 Express có thể sử dụng chỉ có một kích thước tối đa 1.4 GB bộ nhớ cache của bộ máy cơ sở dữ liệu. Lưu trữ khác (chẳng hạn như bộ nhớ cache của quy trình, các siêu dữ liệu bộ nhớ cache, v.v.) có thể tiêu thụ bộ nhớ lên đến kích thước chỉ định cấu hình "hệ phục vụ tối đa bộ nhớ".

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 2663912 - Xem lại Lần cuối: 11/07/2015 07:17:00 - Bản sửa đổi: 6.0

Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2014 Enterprise

  • kbtshoot kbmt KB2663912 KbMtvi
Phản hồi