PDA

View Full Version : هنگ کردن sql سرور



mir555
چهارشنبه 16 دی 1388, 17:39 عصر
ما تو شرکتمون یک سرو hp با 2 تا cpu Xenon 2.5 dual core و 16 گیگابایت رم داریم یک بانک اطلاعاتی اصلی با حجم 15 گیگابایت روشه تقریبا 100 تا کاربر آنلاین رو بانک داریم شبکه ما lan 1GB هستش ولی بازم سرور sql server هنگ می کنه و حتمی باید stop Start کنیم تا آزاد بشه در حالی که حتی تو اون زمان کمتر از 2 گیگابایت از رم پره و cpu نیز به ندرت به 10 درصد میرسه به نظر شما مشکل کجاست؟

sia_2007
چهارشنبه 16 دی 1388, 19:09 عصر
Connection ها در برنامه بسته میشوند ؟

mir555
چهارشنبه 16 دی 1388, 19:40 عصر
آره بسته میشه چک کردم تو بدترین حالت 15 تا کانکشن باز روشه
راستی ما فایل الحاقی سیستم دبیرخانه تو sql ذخیره می کنیم

sia_2007
چهارشنبه 16 دی 1388, 23:06 عصر
من دیتابیس 40 گیگابایتی رو تویه یه سازمان دیدم که با SQL کار میکرد.
با تعداد Connection های همزمان 30 تایی ( بسته به روز هفته )
البته اول روی Oracle بود ؛ وقتی آمد روی SQL 2008 ( تاکید میکنم 2008 )؛
سرعتش بالاتر هم رفت.
---
خب شما منظورتون رو از خط دوم بگید.
در ضمن نسخه SQL Server و هم چنین ویندوزتون رو بگید.
یه نکته رو هم که بدم نمیآد بهتون بگم با توجه به سرور خوبی که دارین اینه :
ببینید SQL Server به صورت پیش فرض فقط از 2GB رم سیستم استفاده میکنه و به همین دلیله که همیشه زیر 2GB رم شما مورد استفاده قرار میگیره.
و شما باید تنظمیات رو تغییر بدید تا بالای 2GB رو مصرف کنه.
اگر مقدوره لیست برنامه های سیستمی تون رو هم این جا بذارین تا اگه تداخلی هست ؛ بتونم شناساییش کنم.
در ضمن چه Feature هایی رو از SQL Server رو نصب کردید.
و زبان برنامه نویسیتون چی بوده ؟
و در نهایت این که خودتون فکر میکنید مشکل از کجاست ؟

mir555
چهارشنبه 16 دی 1388, 23:41 عصر
مرسی از توجه شما
ویندوز 2003 و sql 2005
چون داره تعداد کلاینت ما به 300 افزایش پیدا می کنه می خواییم یک سرور hp با 4 تا cpu Xenon و 32 ram بگیریم و سیستم 64 بیتی بشه با sql2008 64 بیتی
برنامه با C++ builder و با BDE به سرور وصل میشیم

AminSobati
چهارشنبه 16 دی 1388, 23:42 عصر
سلام دوست عزیزم،
در سیستمهای 32 بیتی، نرم افزارها قادر نیستند حافظه بالای 4 گیگابایت رو آدرس دهی کنند. مگر اینکه سوییچ PAE/ به boot.ini اضافه، و سیستم Restart بشه. ضمنا سرویس SQL Server باید با Local System Account کار کنه، یا اگر User Account بهش دادین، باید دسترسی Lock Page Memory داشته باشه تا بره بالای 4 گیگ.
احتمال میدم با توجه به حجم دیتابیس شما، الان SQL Server عطش زیادی برای حافظه داشته باشه!

mir555
پنج شنبه 17 دی 1388, 00:28 صبح
سلام دوست عزیزم،
در سیستمهای 32 بیتی، نرم افزارها قادر نیستند حافظه بالای 4 گیگابایت رو آدرس دهی کنند. مگر اینکه سوییچ PAE/ به boot.ini اضافه، و سیستم Restart بشه. ضمنا سرویس SQL Server باید با Local System Account کار کنه، یا اگر User Account بهش دادین، باید دسترسی Lock Page Memory داشته باشه تا بره بالای 4 گیگ.
احتمال میدم با توجه به حجم دیتابیس شما، الان SQL Server عطش زیادی برای حافظه داشته باشه!
/pae
کجا زیاد کنم تو کدوم خط
بعدش اگه یوز لوکال بدم خودش دسترسی lock page memory میده؟
اگه میشه برام توضیح بدین

AminSobati
پنج شنبه 17 دی 1388, 01:08 صبح
در boot.ini جلوی همون خطی که Windows معرفی شده.
بله Local System این دسترسی رو میده.
البته افزایش حافظه اشغال شده به مرور زمان که کاربرها مشغول میشن مشاهده خواهد شد، نه از همون ابتدا

mir555
پنج شنبه 17 دی 1388, 12:39 عصر
من اینکارو کردم ولی رمم حدود 4 گیگ بیشتر بعد از چند ساعت پرنشد و مشکل کندی و هنگ کردن باقیست

AminSobati
پنج شنبه 17 دی 1388, 13:40 عصر
exec sp_configure 'show advanced options',1
reconfigure with override
go

exec sp_configure 'awe enabled',1
reconfigure with override
go


این رو هم انجام بدین و SQL Server رو مجددا استارت کنین (از قلم افتاده بود!)

mir555
پنج شنبه 17 دی 1388, 13:48 عصر
ممنون از لطفتون این دستور چیکار میکنه؟

AminSobati
پنج شنبه 17 دی 1388, 16:20 عصر
یک سری توابع رو در SQL Server فعال میکنه تا از آدرس دهی بالای 4 گیگ استفاده بشه

benyaminrahimi
پنج شنبه 17 دی 1388, 22:45 عصر
يک تجربه مشابه يادم مي ياد

تو اين تيپ کارا سعي کنيد ويندوزي که استفاده مي کنيد حتما data center editionباشه
ترکيبش با مثلا sql server 2000 enterprice edition بهترين کارو از سخت افزارت ميکشه