Không khôn ngoan khi chạy SQL Server với bất kỳ sản phẩm khác, bao gồm một phiên bản SQL Server khác. Lý do cho khuyến nghị này là bản chất của cách SQL Server sử dụng tài nguyên hệ điều hành. SQL Server chạy trên cơ sở hạ tầng lập lịch trình xử lý và quản lý bộ nhớ chế độ người dùng có tên là SQLOS . SQL Server được thiết kế để chạy với hiệu suất cao nhất và giả định rằng đó là máy chủ duy nhất trên hệ điều hành. Do đó, hệ điều hành SQL dự trữ tất cả RAM trên máy cho quá trình SQL và tạo bộ lập lịch cho mỗi lõi CPU và phân bổ nhiệm vụ cho tất cả bộ lập lịch chạy, sử dụng tất cả CPU mà nó có thể nhận được khi cần. Vì SQL dự trữ tất cả bộ nhớ, các tiến trình khác cần bộ nhớ sẽ khiến SQL nhìn thấy áp lực bộ nhớ , và phản ứng với áp lực bộ nhớ sẽ loại bỏ các trang khỏi vùng đệm và các kế hoạch đã biên dịch khỏi bộ đệm kế hoạch. Và vì SQL là máy chủ duy nhất thực sự sử dụng bộ nhớ thông báo API (có tin đồn rằng Exchange tiếp theo cũng vậy), SQL là quy trình duy nhất thực sự thu hẹp lại để nhường chỗ cho các quy trình khác (như các nhóm ASP có lỗi bị rò rỉ). Hành vi này cũng được giải thích trong BOL: Quản lý bộ nhớ động .
Một mô hình tương tự xảy ra với lập lịch CPU trong đó các quy trình khác lấy cắp thời gian của CPU từ các bộ lập lịch SQL. Trên các hệ thống cao cấp và trên máy Opteron, mọi thứ trở nên tồi tệ hơn vì SQL sử dụng NUMA cục bộ để tận dụng tối đa, nhưng không có quy trình nào khác thường không biết NUMA và càng nhiều thì hệ điều hành có thể cố gắng bảo toàn cục bộ phân bổ, cuối cùng chúng sẽ phân bổ toàn bộ trên RAM vật lý và giảm thông lượng tổng thể của hệ thống như các CPU đang chạy không tải khi chờ truy cập trang ranh giới chéo. Có những thứ khác cũng cần xem xét như TLB và L2 không tăng do các quy trình khác chiếm chu kỳ CPU.
Vì vậy, tóm lại, bạn có thể chạy các máy chủ khác với SQL Server, nhưng không được khuyến khích. Nếu bạn phải , sau đó đảm bảo rằng bạn cô lập hai máy chủ theo khả năng tốt nhất của mình. Sử dụng mặt nạ sở thích CPU cho cả hai SQL và IIS / ASP để tách biệt cả hai trên các lõi riêng biệt, định cấu hình SQL để dự trữ ít RAM hơn để tạo bộ nhớ trống cho IIS / ASP, định cấu hình nhóm ứng dụng của bạn để tái chế mạnh mẽ nhằm ngăn chặn sự phát triển của nhóm ứng dụng.