Thiết lập:
- Máy chủ Windows 2008 R2
- Máy chủ SQL 2008 R2 SP1
- RAM 240GB
- TempDB là các tệp dữ liệu 8x16GB không phát triển tự động (tổng cộng 128 GB)
- Máy chủ vật lý / độc lập
Máy chủ này được sử dụng để xử lý ETL. Chúng tôi vừa cài đặt thêm RAM trong máy chủ này với tổng số 240GB RAM. Dịch vụ SQL Server là những thứ thực sự duy nhất đang chạy.
Bộ nhớ hiển thị tốt trong BIOS, OpenManage và Windows.
Nếu tôi định cấu hình Máy chủ SQL để sử dụng bộ nhớ Tối thiểu / Tối đa 70/100 GB, chúng tôi không gặp vấn đề gì. Tuy nhiên, khi tôi tăng mức đó lên 120/150 GB, tôi sẽ gặp lỗi sau khi chạy một trong các quy trình ETL của chúng tôi:
Không thể phân bổ không gian cho đối tượng '<đối tượng hệ thống tạm thời: 422234507706368>' trong cơ sở dữ liệu 'tempdb' vì nhóm tệp 'PRIMARY' đã đầy. Tạo không gian đĩa bằng cách xóa các tệp không cần thiết, thả các đối tượng trong nhóm fileg, thêm các tệp bổ sung vào filegroup hoặc cài đặt tự động bật cho các tệp hiện có trong filegroup. (Msg 1105, Bang 2, Quy trình không xác định, Dòng 1)
Chúng tôi chưa bao giờ gặp phải vấn đề này trước khi thay đổi cấu hình bộ nhớ. Sau khi định cấu hình lại về 70 / 100GB ban đầu, chúng tôi không nhận được lỗi này.
Những điều tôi đã thử:
- Đặt các tệp dữ liệu TempDB để tự động phát triển. Điều này chỉ đơn giản dẫn đến các tệp tự động phát triển cho đến khi đạt được dung lượng đĩa và sau đó không thành công.
- Thêm nhiều tệp dữ liệu TempDB. Lỗi tương tự như hình.
- Tăng kích thước TempDB lên 8x32GB (tổng cộng 256GB)
Tôi không biết điều gì có thể gây ra vấn đề này.