یک سرور vps دارم که داخلش Sqlserver نصب کردم، تعداد حدود 600 دیتابیس توش هست ، نمیدونم چه اتفاقی افتاده هر کاری میکنیم رم پر میشه و سرور هنگ و کند میشه 9:49 AM بررسی مشکل RAM در SQL Server با 600 دیتابیس این یه مشکل رایجه. SQL Server به صورت پیش‌فرض تا جایی که بتونه RAM مصرف می‌کنه و آزادش نمی‌کنه. بذار مرحله به مرحله بررسی کنیم: ۱. اول چک کن SQL Server چقدر RAM گرفته sql SELECT physical_memory_in_use_kb / 1024 AS [Memory Used (MB)], page_fault_count FROM sys.dm_os_process_memory ۲. مهم‌ترین مشکل: محدود نکردن Max Server Memory SQL Server پیش‌فرض روی unlimited هست! این رو حتماً تنظیم کن: sql -- ببین الان چقدره EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'max server memory'; -- مثلاً اگه 16GB RAM داری، بذار 12GB (4GB برای OS بذار) EXEC sp_configure 'max server memory (MB)', 12288; RECONFIGURE WITH OVERRIDE; 💡 قانون کلی: همیشه ۲ تا ۴ گیگ برای OS نگه دار ۳. با 600 دیتابیس - مشکل Auto Close اگه AUTO_CLOSE = ON باشه، هر بار که کانکشن باز/بسته میشه overhead زیادی داره: sql -- چک کن کدوم دیتابیس‌ها AUTO_CLOSE دارن SELECT name, is_auto_close_on FROM sys.databases WHERE is_auto_close_on = 1 -- خاموشش کن (برای همه) EXEC sp_MSforeachdb 'IF ''?'' NOT IN (''master'',''model'',''msdb'',''tempdb'') ALTER DATABASE [?] SET AUTO_CLOSE OFF' ۴. چک کن کدوم Query داره RAM می‌خوره sql SELECT TOP 10 qs.total_grant_kb / 1024 AS [Memory Grant MB], qs.execution_count, SUBSTRING(st.text, 1, 200) AS [Query Text] FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st ORDER BY qs.total_grant_kb DESC ۵. چک کن چند تا کانکشن باز هست sql SELECT DB_NAME(database_id) AS DatabaseName, COUNT(*) AS ConnectionCount FROM sys.dm_exec_sessions WHERE database_id > 0 GROUP BY database_id ORDER BY ConnectionCount DESC ۶. اگه فوری نیاز داری RAM آزاد کنی (موقت) sql DBCC FREEPROCCACHE -- cache پاک میشه DBCC DROPCLEANBUFFERS -- buffer پاک میشه (فقط روی DEV استفاده کن) خلاصه اقدامات اولیه: اولویت کار 🔴 فوری تنظیم Max Server Memory 🔴 فوری خاموش کردن Auto Close 🟡 مهم بررسی Query های سنگین 🟡 مهم چک کردن تعداد کانکشن‌ها بگو سرور چقدر RAM داره و الان max server memory روی چه عددیه تا دقیق‌تر راهنمایی کنم. Claude is AI and can make mistakes. Please double-check responses. Cookie settings We use cookies to deliver and improve our services, analyze site usage, and if you agree, to customize or personalize your experience and market our services to you. You can read our Cookie Policy here.