۷ نکته کلیدی کارآمدی پایگاه داده در SQL-Server 2008
در نوشتار حاضر به هفت نکته کلیدی می پردازیم که لحاظ کردن آنها می تواند کارآمدی دیتابیس های MsSQL را تضمین کند.
۱- گزینه آمارگیری خودکار را غیرفعال کنید. ‘auto create statistics’
این قابلیت آمار را بصورت خودکار تهیه می کند و می تواند به نحوی موجب افت عملکرد پایگاه داده شود. به همین دلیل می توان آن را غیر فعال کرده و در زمانی که دیتابیس از اوج کار خارج شده بصورت دستی و توسط دستور CREATE STATISTICS اقدام به تهیه آمار نمود. توجه داشته باشید که این گزینه به صورت پیشفرض فعال است.
۲-گزینه بروزسانی خودکار آمار را غیرفعال کنید. ‘auto update statistics’
این گزینه آمار موجود را در صورت قدیمی بودن آنها به طور خودکار به روز می کند. بنابر این به خودی خود موجب کاهش کارایی پایگاه داده می گردد بنابر این می توانید برای بالا بردن عملکرد دیتابیس آن را غیر فعال کنید و به جای آن به صورت دستی و توسط دستور UPDATE STATISTICS آمار را به روز کنید. این گزینه به صورت پیشفرض فعال است.
۳-گزینه بسته شدن خودکار را خاموش کنید. ‘autoclose’
این گزینه در صورت فعال بودن، منابع پایگاه داده را پس از خروج آخرین کاربر، آزاد می کند. بنا بر این با اتصال کاربر بعدی به دیتابیس، باید مجددا باز شود که امری زمانبر است. بنابراین توصیه می شود که این قابلیت را غیرفعال نمایید. این گزینه به صورت پیشفرض در ویرایش SQL Server Desktop فعال و در دیگر نسخه ها غیر فعال است.
۴-گزینه تراکم خودکار را غیرفعال کنید. ‘autoshrink’
به کمک این قابلیت، فایل های پایگاه داده به صورت دوره ای متراکم می شوند. این فرایند به نحوی موجب افت کارایی پایگاه داده می شود، بنابراین مناسب تر آن است که به جای بکارگیری این قابلیت، به صورت دستی و یا توسط یک وظیفه زماندار در مواقع بیکار بودن پایگاه داده اقدام به متراکم کردن نمایید. این قابلیت همانند گزینه پیشین به صورت پیشفرض روی نسخه SQL Server Desktop فعال و در دیگر ویرایش ها غیر فعال است.
[irp posts=”۹۳۷۳″ name=”معرفی و شرح تبدیل در نسخه ی SQL Server 2008 Express”]
۵-در صورت امکان از حالت فقط خواندنی بهره بگیرید. ‘read-only’
فقط خواندنی بودن پایگاه داده موجب افزایش سرعت جستار ها (query) می شود بنا بر این در مواقعی که پایگاه داده نیاز به تغییر ندارد می توانید از مزیت این حالت استفاده کنید. ضمنا اگر لازم است از دسترسی ای مدیریتی استفاده کنید (برای نمونه اجازه انتخاب داده های موجود در بعضی ستون ها را برای گروهی از کاربران ببندید ) می بایست یک گروه-فایل مجزا تعریف کرده و قابلیت فقط خواندنی را برای اعضای این گروه فعال نمایید. توجه داشته باشید این گزینه در حالت پیشفرض غیرفعال است.
۶-از قابلیت کپی انبوه لاگ نشده استفاده کنید. ‘select into/bulkcopy’
از آن جا که کپی انبوه در حالت لاگ نشده به مراتب از حالت لاگ شده آن سریعتر کار می کند، می توانید جهت بالابردن سرعت پایگاه داده از این قابلیت بهره ببرید. البته با در نظر داشتن تنظیمات زیر:
الف- ‘select into/bulkcopy’ را فعال کنید.
ب- دقت کنید که جدول هدف تکرار نشده باشد.
پ-از TABLOCK استفاده کنید.
ت-جدول هدف ایندکس نشده باشد و در غیر این صورت در هنگام شروع کپی انبوه، خالی باشد.
۷-حذف لاگ در نقاط کلیدی را فعال کنید. ‘trunc. log on chkpt.’
از این گزینه می توان در شرایطی که لاگها با سرعت رشد می کنند استفاده کرد تا به کمک آن از رشد سریع فایل لاگ و در نتیجه مصرف زیاد فضای دیسک جلوگیری کرد. چرا که با فعال سازی آن از لاگ فایل ها در هنگام تهیه نسخه پشتیبان کپی گرفته نمی شود. البته باید در نظر داشت که با این کار امکان بازگرداندن داده ها به نقطه پیش از بروز خطا وجود نخواهد داشت.
در پایان لازم به توضیح است که گزینه های بالا را می توان از طریق کنسول مدیریتی Enterprise Manager و یا sp_dboption اداره کرد. هم چنین برای اعمال این تنظیمات برای دیتابیس هایی که تازه ایجاد شده اند باید تنظیمات را روی دیتابیس مدل اعمال کنید.