PDA

View Full Version : دستور Shrink



niksoft
یک شنبه 25 شهریور 1386, 19:22 عصر
با سلام
کامل ترین دستورShrink ای که با اون بتوان حجم Log File رو به حداقل رسوند رو میخواستم
:متعجب:

AminSobati
یک شنبه 25 شهریور 1386, 23:37 عصر
use mydb
go
alter database mydb
set recovery simple
go
backup log mydb with truncate_only
go
dbcc shrinkfile ('logical name of logfile',0)

AFTABGARDAN2006
دوشنبه 26 شهریور 1386, 19:14 عصر
با عرض معذرت ببخشید شرینک چکار می کنه و چرا پرسیدن کاملترین مگه انواع شرینک را داریم ؟

niksoft
دوشنبه 26 شهریور 1386, 20:10 عصر
با عرض معذرت ببخشید شرینک چکار می کنه و چرا پرسیدن کاملترین مگه انواع شرینک را داریم ؟

شرینک حجم خالی دیتابیس رو (فضایی که مورد استفاده نیست) رو از بین میبره و در نتیجه
حجم فایل های Ldf ,mdf رو پایین میاره

mostafa612003
شنبه 02 آذر 1387, 15:07 عصر
با سلام
وقتی که کد بالا را درقسمت query sql وارد کردم این پیغام اومد:
Cannot shrink log file 2 (Shohada_Log) because all logical log files are in use.

(1 row(s) affected)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

لطفا راهنمایی کنید
متشکرم

AminSobati
شنبه 02 آذر 1387, 21:34 عصر
دوست عزیزم ممکنه عینا دستور خودتون رو پست بفرمایید؟

mostafa612003
یک شنبه 03 آذر 1387, 10:25 صبح
use shohada
go
alter database shohada
set recovery simple
go
backup log shohada with truncate_only
go
dbcc shrinkfile ('shohada_log',0)

kebriya
سه شنبه 30 آذر 1389, 10:56 صبح
سلام دوستان. من یه بانکی دارم که حتی اگه همه رکوردهایش رو پاک کنم حجمش 1G است و حجم log اش خیلی بالاست. به نظرتون دلیلش چیه؟با shrink حل میشه؟
این کد با راست کلیک روی بانک و all tasks----->shrink database فرق داره؟
من هر دوشو رفتم ولی بازم حجمش همونه.
ممنون میشم جواب بدین

حمیدرضاصادقیان
سه شنبه 30 آذر 1389, 11:19 صبح
سلام
دوست عزیز ابتدا باید Recovery model دیتابیس رو روی Simple بذارید. برای اینکار روی دیتابیس راست کلیک کرده Properties رو بزنید در قسمت Options اینکارو انجام بدید.

kebriya
سه شنبه 30 آذر 1389, 11:55 صبح
ممنون عزیزم. الان فقط 100m کم شده ولی باز هم 1G است اصلا دلیلش چیه این همه زیاد شده؟این همه پروژه نوشتم تا حالا به این مشکل برنخوردم

حمیدرضاصادقیان
سه شنبه 30 آذر 1389, 13:00 عصر
سلام.
شما گزینه Auto shrink رو در قسمت options فعال کنید. همچنین در خود قسمت Shrink فایل log رو جداگانه انتخاب کنید و Shrink رو انجام بدید.

kebriya
سه شنبه 30 آذر 1389, 14:22 عصر
ممنون. مهندس میشه لطف کنین بگین این log اصلا چیه؟ چه اطلاعاتی نگه میداره چقدر مهمن؟
ببخشید من از sql server فقط بلدم بانک بسازم:ناراحت:

حمیدرضاصادقیان
سه شنبه 30 آذر 1389, 15:10 عصر
ببینید Log File تمام عملیاتی که شما روی دیتابیس از قبیل Update,Delete,Insert انجام میدید رو نگه داری میکنه.در جاهایی که تغییرات روی دیتا مهم هست و نیاز هست که مثلا به زمان خاصی از تغییرات برگردند معمولا Recovery model رو روی full قرار میدهند.که بتوانند از Log ها Backup تهیه کنند.و بعدا میشه در Restore تا زمان خاصی Data رو بازیابی کرد.

kebriya
سه شنبه 30 آذر 1389, 15:30 عصر
یعنی حذفش مشکل ساز میشه؟ واسه همین سایزش زیاد میشه؟

حمیدرضاصادقیان
سه شنبه 30 آذر 1389, 16:02 عصر
سلام.اگر خود فایل رو حذف کنید که Database شما به حالت Suspect خواهد رفت و وقتی هم SQL Server اجراست شما هیچ تغییری روی فایل نمیتونید بدید.
شما Recovery model رو روی Simple قرار بدید./
در اینجا (http://databases.about.com/od/sqlserver/a/recoverymodels.htm) هم انواع Recovery model ها توضیح داده شده است.

farshad22
شنبه 04 دی 1389, 14:50 عصر
سلام.سوال من اینه که اصلا اس کیو ال این فضای خالی را برای چی اختصاص میده و آیا شرینک کردن ممکن هست مشکلی در ادامه پیش بیاره؟