![]() |
| ||
| به انجمن Perisan Networks خوش آمدید. این انجمن محیطی برای بحث و تبادل نظر در مورد مسائل مختلف موجود در شبکه های کامپیوتری است. در این انجمن می توانید پرسشهای خود را مطرح نمایید و در مورد آنها با دیگران به تبادل نظر بپردازید، از تجربیات دیگران استفاده کنید و تجربیات و دانش خود را با دیگران به اشتراک بگذارید. مشاهده مطالب نوشته شده و خواندن نوشته های دیگران آزاد است، ولی برای دسترسی به تمامی قابلیتهای انجمن (نظیر نوشتن مطلب و دریافت فایل ها و ...) حتما باید ثبت نام کنید. پیش از ثبت نام قوانین انجمن به شما نمایش داده می شود، خواهشمندیم حتما با دقت قوانین را مطالعه فرمایید. برای ثبت نام در انجمن از این صفحه استفاده کنید. اگر در حین ثبت نام و یا ورود به انجمن با مشکلی مواجه شدید، از طریق این صفحه و با پر کردن فرم مربوطه به مدیر انجمن اطلاع دهید تا مشکلتان بررسی و برطرف گردد. |
| |||||||
| ثبت نام | قوانین انجمن | جستجو | نوشته های امروز | علامت گذاری انجمن ها به عنوان خوانده شده |
![]() |
| | LinkBack | امکانات بيشتر | جستجو در اين بحث | رتبه بدهيد | نحوه نمايش |
| | #1 (permalink) |
| Registered User Join Date: May 2005 نوشته ها: 20 Thanks: 0 Thanked 0 Times in 0 Posts Groans: 0 Groaned at 0 Times in 0 Posts | مشکل: حجم زیاد Log File در SQL Server با سلام میخواستم بدونم که چجوری باید SQL انتی تک رو از یه سرور به سرور دیگه منتقل کنم..؟ چون هارد سرورم پر شده توجه کنید که من دارم از SQL Server 2000 استفاده میکنم |
| |
| تبلیغات |
| تبلیغات در Persian Networks |
| | #2 (permalink) |
| (Mohammad Hakimi) Administrator Join Date: Dec 2002 Location: Iran - Tehran نوشته ها: 4,257 Thanks: 79 Thanked 385 Times in 178 Posts Groans: 8 Groaned at 12 Times in 6 Posts | باید 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 __________________ محمد حکیمی mh [a t] mhme.net |
| |
| | #3 (permalink) |
| Registered User Join Date: May 2005 نوشته ها: 20 Thanks: 0 Thanked 0 Times in 0 Posts Groans: 0 Groaned at 0 Times in 0 Posts | با تشكر از توضيحات كاملتون.. ميخواستم بدونم راهي هست كه بشه لاگ فايل هارو غير فعال كرد ؟ آخه بيش از اندازه حجيم هستن.. بطوري كه توي 6 ماه 43 گيگ فضا گرفتن در مورد اينكه فرموديد كه فايل LDF رو هنگام Detach كردن بهش نديم اگر ممكنه يه توضيح بديد.. اگر كه غير فعال كردن لاگ ممكن نيست.. چه راهي براي جلوگيري از بزرگ شدن فايل لاگ هست و چطوريه؟ با تشكر TNX آخرین ویرایش توسط mahdi_hexboy در 2005-07-14 ساعت 03:28 AM. |
| |
| | #4 (permalink) |
| (Mohammad Hakimi) Administrator Join Date: Dec 2002 Location: Iran - Tehran نوشته ها: 4,257 Thanks: 79 Thanked 385 Times in 178 Posts Groans: 8 Groaned at 12 Times in 6 Posts | با توجه به منطق Database، غیر فعال کردن 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 استفاده کنید. موفق باشید __________________ محمد حکیمی mh [a t] mhme.net |
| |
| | #5 (permalink) |
| Registered User Join Date: May 2005 نوشته ها: 20 Thanks: 0 Thanked 0 Times in 0 Posts Groans: 0 Groaned at 0 Times in 0 Posts | بازم از توضیحات کاملتون تشکر میکنم. اما یه سوال به نظر شما بهر هست که من روی سرور فعلی Truncate رو انجام بدم.. ؟ یا اینکه نه دوتا فایل رو منتقل کنم و Attach کنم و بعد Truncate رو انجام بدم ؟ با تشکر |
| |
| | #6 (permalink) |
| (Mohammad Hakimi) Administrator Join Date: Dec 2002 Location: Iran - Tehran نوشته ها: 4,257 Thanks: 79 Thanked 385 Times in 178 Posts Groans: 8 Groaned at 12 Times in 6 Posts | اگر علت تصمیم شما برای جابجایی، عدم وجود فضای کافی برای Database است، با Truncate کردن مشکل حل می شود و نیازی به تغییر Server نیست. ولی اگر به هر دلیل دیگر نیاز به تغییر Server دارید، بهترین کار این است که آن را Truncate کنید و سپس Database را Detach کرده و دو فایل MDF و LDF را جابجا کنید و به SQL Server جدید Attach کنید. موفق باشید. __________________ محمد حکیمی mh [a t] mhme.net |
| |
![]() |
| امکانات بيشتر | جستجو در اين بحث |
| نحوه نمايش | Rate This Thread |
| |
مطالب مشابه | ||||
| مطلب | آغازگر | انجمن | پاسخ | آخرین نوشته |
| درباره DNS | masood_y | مقالات عمومی شبکه -ا- | 0 | 2005-06-01 09:08 PM |
| راهنمای جامع پیکربندی و نصب هسته | saman_nn2000 | Linux -ا- | 0 | 2005-05-09 10:22 AM |