نمایش نتایج: از شماره 1 تا 6 از مجموع 6
سپاس ها 9سپاس
  • 7 توسط Hakimi
  • 1 توسط Hakimi
  • 1 توسط Hakimi

موضوع: مشکل: حجم زیاد Log File در SQL Server

  
  1. #1


    عضو غیر فعال شناسه تصویری mahdi_hexboy
    تاریخ عضویت
    May 2005
    نوشته
    24
    سپاسگزاری شده
    0
    سپاسگزاری کرده
    0

    مشکل: حجم زیاد Log File در SQL Server

    با سلام

    میخواستم بدونم که چجوری باید SQL انتی تک رو از یه سرور به سرور دیگه منتقل کنم..؟
    چون هارد سرورم پر شده
    توجه کنید که من دارم از SQL Server 2000 استفاده میکنم



    موضوعات مشابه:





  2. #2
    نام حقيقي: محمد حکیمی

    Administrator شناسه تصویری Hakimi
    تاریخ عضویت
    Dec 2002
    محل سکونت
    تهران
    نوشته
    6,540
    سپاسگزاری شده
    6757
    سپاسگزاری کرده
    1029
    نوشته های وبلاگ
    4
    باید Database را ابتدا Detach کنید. سپس دو فایل MDF و LDF را جابجا کنید و بر روی Server جدید قرار دهید و سپس مجددا آن را به SQL Server خود Attach کنید.

    اگر فایل LDF شما بیش از اندازه بزرگ شده است (این در حقیقت Transaction Log بانک اطلاعاتی شماست) باید آن را Truncate کنید.

    راه غیر تمیز آن این است که در حین Detach کردن، فایل LDF را به Database ندهید تا خودش یک Log File جدید ایجاد کند.

    راه تمیز تر آن Truncate کردن Transaction Log به کمک Backup است.
    کافی است دو خط دستور زیر را اجرا کنید:

    BACKUP LOG DatabaseName WITH TRUNCATE_ONLY
    DBCC SHRINKDATABASE (DatabaseName)


    که به جای DatabaseName نام Database مورد نظر را قرار می دهید.
    دستور اول Log File را Truncate می کند و دستور دوم کل Database را Shrink می کند.


    Refrence:
    Shrinking the Transaction Log in SQL Server 2000 with DBCC SHRINKFILE
    http://support.microsoft.com/default...;EN-US;Q272318

    DBCC SHRINKDATABASE
    http://msdn.microsoft.com/library/de..._dbcc_3pd1.asp

    DBCC SHRINKFILE
    http://msdn.microsoft.com/library/de..._dbcc_8b51.asp




    SADEGH65، th95، omid85m و 4 نفر دیگر سپاسگزاری کرده‌اند.
    محمد حکیمی
    hakimi [a t] gmail.com

  3. #3


    عضو غیر فعال شناسه تصویری mahdi_hexboy
    تاریخ عضویت
    May 2005
    نوشته
    24
    سپاسگزاری شده
    0
    سپاسگزاری کرده
    0
    با تشكر از توضيحات كاملتون..
    ميخواستم بدونم راهي هست كه بشه لاگ فايل هارو غير فعال كرد ؟
    آخه بيش از اندازه حجيم هستن.. بطوري كه توي 6 ماه 43 گيگ فضا گرفتن
    در مورد اينكه فرموديد كه فايل LDF رو هنگام Detach كردن بهش نديم اگر ممكنه يه توضيح بديد..
    اگر كه غير فعال كردن لاگ ممكن نيست.. چه راهي براي جلوگيري از بزرگ شدن فايل لاگ هست و چطوريه؟
    با تشكر
    TNX


    ویرایش توسط mahdi_hexboy : 2005-07-14 در ساعت 02:28 AM

  4. #4
    نام حقيقي: محمد حکیمی

    Administrator شناسه تصویری Hakimi
    تاریخ عضویت
    Dec 2002
    محل سکونت
    تهران
    نوشته
    6,540
    سپاسگزاری شده
    6757
    سپاسگزاری کرده
    1029
    نوشته های وبلاگ
    4
    با توجه به منطق Database، غیر فعال کردن Log File ها ممکن نیست.
    البته اگر Recovery Model را از Complete به Simple تغییر دهید، حجم این Log File بسیار کم خواهد بود.


    برای جلوگیری از حجیم شدن آن، بهترین و منطقی ترین راه این است که تنظیم کنیم که به صورت Schedule کد مربوط به Truncate کردن Transaction Log در بازه زمانی مشخص اجرا شود و در نتیجه اجازه ندهد Transaction Log بیش از اندازه حجیم شود.

    در مورد فایل LDF، اگر در هنگام Attach کردن، فایل LDF در مسیر مربوطه یافت نشود، SQL Server پیغام می دهد که Log File یافت نشد و با تایید کاربر، Log File جدید ایجاد می کند. می توانید فایل LDF را Rename کنید و مثلا یک Underline به انتهای اسم فایل اضافه کنید تا این اتفاق بیفتد. این روش در اکثر موارد درست پاسخ می دهد. ولی گاهی اوقات SQL Server اگر Log File را پیدا نکند نمی تواند Database را Attach کند. (علت آن از حوصله این بحث خارج است.)

    ولی توصیه من استفاده از روش منطقی تر و استفاده از دستوری است که ذکر کردم. با اجرای دستوری که در متن قبل نوشتم، به سهولت و سرعت و بدون نیاز به Offline کردن Database و بدون احتمال بروز خطر برای اطلاعات موجود در Database، فایل Log مربوط به Database مورد نظر Truncate می شود و حجم آن به حداقل می رسد (مقدار پیش فرض آن 2 MB است.)

    برای اجرای دستوراتی که به آن اشاره شد از Query Analyzer استفاده کنید.

    موفق باشید


    net_sajjad سپاسگزاری کرده است.
    محمد حکیمی
    hakimi [a t] gmail.com

  5. #5


    عضو غیر فعال شناسه تصویری mahdi_hexboy
    تاریخ عضویت
    May 2005
    نوشته
    24
    سپاسگزاری شده
    0
    سپاسگزاری کرده
    0
    بازم از توضیحات کاملتون تشکر میکنم.
    اما یه سوال
    به نظر شما بهر هست که من روی سرور فعلی Truncate رو انجام بدم.. ؟ یا اینکه نه دوتا فایل رو منتقل کنم و Attach کنم و بعد Truncate رو انجام بدم ؟

    با تشکر



  6. #6
    نام حقيقي: محمد حکیمی

    Administrator شناسه تصویری Hakimi
    تاریخ عضویت
    Dec 2002
    محل سکونت
    تهران
    نوشته
    6,540
    سپاسگزاری شده
    6757
    سپاسگزاری کرده
    1029
    نوشته های وبلاگ
    4
    اگر علت تصمیم شما برای جابجایی، عدم وجود فضای کافی برای Database است، با Truncate کردن مشکل حل می شود و نیازی به تغییر Server نیست. ولی اگر به هر دلیل دیگر نیاز به تغییر Server دارید، بهترین کار این است که آن را Truncate کنید و سپس Database را Detach کرده و دو فایل MDF و LDF را جابجا کنید و به SQL Server جدید Attach کنید.

    موفق باشید.


    Xtfine سپاسگزاری کرده است.
    محمد حکیمی
    hakimi [a t] gmail.com





کلمات کلیدی در جستجوها:

دستور shrink در sql

کم کردن حجم database

فایل ldf

پاک کردن لاگ sql

دلایل کند شدن sql serverپاک کردن از log-sqlکم کردن حجم فایل log در sqlکاهش حجم فایل log در sql serverکم کردن حجم Log در SQLكم كردن حجم فایل log در sql server 2008لاگ sqlبزرگ شدن ldfخالی کردن log sqlدستور DBCCفایل log در sqlروش کاهش حجم فایل LDF در sql serv 2000پاك كردن log sqltruncate log sql 2000کاهش حجم فایل ldf در sqlکم کردن حجم فایل Log در sql serverlog file در sqlحذف فایل ldf در sqlshrink در sqlخالی کردن فایل LDFhttp://forum.persiannetworks.com/f62/t9487.html

برچسب برای این موضوع

مجوز های ارسال و ویرایش

  • شما نمی توانید موضوع جدید ارسال کنید
  • شما نمی توانید به پست ها پاسخ دهید
  • شما نمی توانید فایل پیوست ضمیمه کنید
  • شما نمی توانید پست های خود را ویرایش کنید
  •