Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server không giải phóng bộ nhớ sau khi thực thi truy vấn

SQL Server thực sự được thiết kế để yêu cầu càng nhiều RAM càng tốt, bộ nhớ này sẽ không được giải phóng trừ khi bộ nhớ này được hệ điều hành yêu cầu rõ ràng. Tôi nghĩ rằng cách tiếp cận tốt nhất là giới hạn dung lượng RAM mà máy chủ có thể sử dụng, điều này sẽ cho phép hệ điều hành có một lượng tài nguyên nhất định để sử dụng bất kể điều gì. Để đặt điều này Cách định cấu hình tùy chọn bộ nhớ bằng SQL Server Management Studio :

Bạn cũng có thể làm điều đó trong T-SQL bằng các lệnh sau (ví dụ):

exec sp_configure 'max server memory', 1024
reconfigure

Để hạn chế mức tiêu thụ ở 1GB.

Lưu ý:phần trên sẽ không giới hạn tất cả các khía cạnh của SQL Server đối với dung lượng bộ nhớ đó. Điều này chỉ kiểm soát vùng đệm và bộ đệm kế hoạch thực thi. Những thứ như CLR, Văn bản đầy đủ, bộ nhớ thực được sử dụng bởi các tệp SQL Server .exe, SQL Agent, các thủ tục được lưu trữ mở rộng, v.v. không được kiểm soát bởi cài đặt này. Tuy nhiên, những thứ khác này thường không cần nhiều bộ nhớ như vậy, đó là vùng đệm và bộ đệm kế hoạch thực thi cần phần lớn bộ nhớ.

Tôi hy vọng điều này sẽ hữu ích.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trả về lớn hơn sau đó 24 giờ ở định dạng hh:mm:ss trong SQL server 2008

  2. TSQL:Phân tách / phân tích cú pháp lồng nhau của chuỗi thành bảng (nhiều Thẻ được nối:Giá trị trong một chuỗi)

  3. TSQL chọn vào bảng Temp từ sql động

  4. Sử dụng cơ sở dữ liệu bên trong một thủ tục được lưu trữ

  5. Cách tốt nhất để tăng tải trong ssis