درباره نویسنده

تورج عزیزی

تورج عزیزی

مشاوره، تحقیقات و انجام پروژه در زمینه SQL Server Performance Tuning

19 Comments

  1. مهدی ربانی ذبیحی

    مهدی ربانی ذبیحی

        با سلام. ممنون مهندس بسیار عالی بود.ممنون از مقاله های خوبی که قرار میدی.

    پاسخ دادن
  2. Hamid J. Fard

    Hamid J. Fard

        با سلام

    تورج جان مقاله خوبی بود. لطفا اگر می شود منبع انگلیسی این مقاله را برای مطالعه بیشتر ارایه بدهید.
    ممنون
    پاسخ دادن
  3. تورج عزیزی

        خواهش می کنم

    بیشتر مقالات من از SQLPassion.at است…
    پاسخ دادن
  4. غلامحسین عبادی

        با سلام و عرض ادب

    ممنون بابت مقاله خوبتون ، خسته نباشید
    لطفا بفرمایید به نظر شما برای یک بانک در حدود ۱TB  میزان رشد فایل (AutoGrowth) حدودا چه اندازه باشد 
    پاسخ دادن
  5. غلامحسین عبادی

     سلام مهندس

    سوال دوم اینکه منظور شما از مقدار عدد مربوط به Auto Growth بسته به بار کاری سیستم متغیر است ، چه عواملی می باشد .
    پاسخ دادن
    1. Hamid J. Fard

      Hamid J. Fard

         اصولا شما نباید به Auto Growth تکیه کنید. شما باید حجم داده هایی که ممکن از در یک سال یا شش ماه آینده خواهید داشت را محاسبه کرده و به صورت دستی به حجم پایگاه داده اضافه کنید و مقدار Auto growth را به اندازه یک چهارم حجم محاسبه شده در نظر بگیرید در مواقع ضروری که ممکن است داده ها حجم بیشتر از محاسبات شما داشته باشند.

      پاسخ دادن
    2. مسعود طاهری

      مسعود طاهری

      برای لاگ گیری از نحوه رشد دیتا فایل و… می توانید از روش های زیر استفاده کنید 

      1- استفاده از Extended Event
      2- استفاده از Server Side Trace
      3- استفاده از  Data Collection
      4- استفاده از Alert 
      5- و…
      البته هر کدام از آنها معایب و مزایای خاص خودش را به همراه دارد
      موفق باشید
      پاسخ دادن
      1. Hamid J. Fard

        Hamid J. Fard

           به شخصه من از Extended Events و یک مکانیزم برای جمع آوری حجم داده ها به صورت روزانه و هفتگی استفاده می کنم البته اگر شما یک مزرعه از SQL Server داشته باشید Management Data Warehouse بهترین گزینه است.

    3. مسعود طاهری

      مسعود طاهری

      در ضمن توجه داشته باشید که برای اینکه درگیر طولانی شدن زمان رشد دیتا فایل نشوید می توانید از Instant File Initialization استفاده کنید که در مقاله به آن اشاره شده است.

      البته اینکار یک ایراد امنیتی خاص برای خودش دارد که همه جا صدق نمی کند و خیلی نمی توان به آن ایراد امنیتی گفت. 
      پاسخ دادن
      1. Hamid J. Fard

        Hamid J. Fard

        البته اون موضوع خیلی کم پیش میاد به این دلیل که پایگاه داده جدید باید در همان محل قبلی و به همان اندازه حجم داشته باشد تا بتوان داده های قبلی را خواند البته فایل سیستم پاک شده را هم می توان خواند و بازیابی کرد.

    4. مسعود طاهری

      مسعود طاهری

          جناب عبادی عزیز این موضوع در کلاس بررسی شده و در فیلم های ضبط شده ای که خدمتتون ارائه دادیم هست.

      خواندن محتوای دیتابیسی که پاک شده با ایجاد یک بانک اطلاعاتی جدید و…
      حمید درست میگه به ندرت این موضوع پیش می آید و خیلی هم پیچیدگی داره در برخی از مستندات صرفا به شکل عنوانی از این موضوع به عنوان ایراد امنیتی ذکر می شود
      پاسخ دادن
  6. تورج عزیزی

    تورج عزیزی

       در تکمیل فرمایش استاد طاهری، Instant File Initialization  روی لاگ فایل اعمال نیست.

    پاسخ دادن
  7. غلامحسین عبادی

        سلام استاد

    لطفا منظورتون از ایراد امنیتی را بیان نمایید . با تشکر . بلاخره روی سرور اصلی این کار را انجام دهیم یا خیر 
    پاسخ دادن
  8. غلامحسین عبادی

     سلام استاد

    استاد طاهری شما مطلبی را که در خصوص  رشد (Auto Growth) حجم فایل mdf  ،  جناب آقای حمید راد فرمودند را ، تایید میفرمایید .
    پاسخ دادن
    1. مسعود طاهری

      مسعود طاهری

          بلی کاملا درست است

      برای مانیتور کردن هم از روش هایی که اشاره شد می توانید استفاده کنید کنید
      پاسخ دادن
  9. تورج عزیزی

    تورج عزیزی

       در تکمیل فرمایش استاد  طاهری، Instant File Initialization  روی فایل لاگ  اثری ندارد.
    پاسخ دادن
    1. Hamid J. Fard

      Hamid J. Fard

        البته تاثیر دارد ولی رابطه خیلی شدیدی با سایز لاگ فایل دارد. اصولا لاگ فایل هم همانطور که گفتم باید به صورت دستی حجم داده شود و حجم آن باید بسته به تعداد VLFهایی که ساخته می شود هماهنگ باشد تا از  Log Fragmentation جلو گیری کند. البته اگر از Auto Growth در لاگ فایل با مقدار کم استفاده شود باعث به وجود آمدن Log Fragmentation می شود و در نتیجه سرعت تراکنشها کاهش میابد 

      پاسخ دادن
      1. مسعود طاهری

        مسعود طاهری

          البته تاثیر دارد 

        حمید جان اگر منظورتون استفاده مکانیزم Instant File Initialization یا همون Zeroing روی لاگ فایل است
        باید اشاره کنم که تا جایی که من اطلاع دارم و مستندات رو خوندم و بررسی کردم Instant File Initialization تاثیری روی لاگ فایل ندارد و تاثیر مثبت روی دیتا فایل + پروسه Restore + Backup دارد

        مباحث دیگر هم در خصوص لاگ فایل صحیح است. معمولا اندازه را Fix می دهیم + لاگ بکاپ و اینکه اگر نیاز به رشد داشته باشیم بهتر است مقدار درصدی نباشد و عدد Fix باشد .

        تورج عزیز در این خصوص برای دوستان نیک آموز گذاشته است

        البته فک کنم الگوریتم تخصیص VLF و… اگر فراموش نکرده باشم در ۲۰۱۲ کمی هم تغییر پیدا کرده است.

      2. مسعود طاهری

        مسعود طاهری

        حمید از بابت ارائه نظرات سازنده + مفید متشکرم

ارسال نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمامی حقوق مادی و معنوی این وب سایت متعلق به نیک آموز می باشد.
این سایت توسط تیم آموزش برنامه نویسی نیک آموز مدیریت می شود.