PDA

View Full Version : سوال: این پیغام خطا یعنی چی؟



mostafa612003
شنبه 25 آبان 1387, 08:30 صبح
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC SQL Server Driver][SQL Server]The transaction log for database 'Shohada' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases


موقع ورود اطلاعات و ویرایش اطلاعات این پیغامو می دهد.

amin_alexi
شنبه 25 آبان 1387, 09:10 صبح
سلام
با توجه به متن Error ...
شاید LogFile شما بزرگ شده باشه و حجم درایو رو کامل پر کرده ...
اگه اطلاعات LogFile خیلی براتون لازم نیست Shrink کنید !
یه نگاه بندازین شاید مشکل همین باشه !

mostafa612003
شنبه 25 آبان 1387, 09:22 صبح
ممنونم
logfile را از کجا پاک کنم؟

mostafa612003
شنبه 25 آبان 1387, 10:52 صبح
ممنونم
logfile را از کجا پاک کنم؟

linux
شنبه 25 آبان 1387, 11:12 صبح
ممنونم
logfile را از کجا پاک کنم؟
dbcc shrinkdb

mostafa612003
شنبه 25 آبان 1387, 11:24 صبح
متشکرم
میشه بیشتر توضیح بدهید
dbcc shrinkdb دقیقا کجاست؟

amin_alexi
شنبه 25 آبان 1387, 13:08 عصر
اين دستورات DataBase رو Shrink ميكنه !


DECLARE @dbLogName nvarchar(500) ;
Use dbName ;
select @dbLogName = rtrim(ltrim(name)) from sysfiles
WHERE FILEID=2; -- And FILEID=1; For Data File
ALTER DATABASE dbName SET SINGLE_USER ;
DBCC SHRINKFILE(@dbLogName , 2) ;
BACKUP LOG dbName WITH TRUNCATE_ONLY ;
DBCC SHRINKFILE(@dbLogName , 2) ;
ALTER DATABASE dbName SET MULTI_USER ;
به جاي dbName اسم DataBase خودتو بزار

mostafa612003
یک شنبه 26 آبان 1387, 13:43 عصر
sql من روی سرور است اگر این کارها را انجام دهم مشکلی پیش نمی آید؟
sql من 2005 هست دقیقا کجا باید این دستورات را بنویسم؟
متشکرم

mostafa612003
دوشنبه 27 آبان 1387, 09:03 صبح
اگه میتونید جواب دهید
ممنونم

amin_alexi
دوشنبه 27 آبان 1387, 11:47 صبح
سلام
میتونی از manegement Studio بهش Connect بشی !
و یک Query جدید اجرا کنی !
مشکلی پیش نمیاد ... بهتره بگی واسه 1 دقیقه کسی ورود اطلاعات نکنه ... !

mostafa612003
دوشنبه 27 آبان 1387, 14:34 عصر
ببخشید به جای @dbLogName چی باید بنویسم؟

بعد از اجرا این پیغامو به من نشان داد:
cannot truncate log file - all logical files in use
خیلی متشکرم

mostafa612003
سه شنبه 28 آبان 1387, 06:58 صبح
بعد از اجرا این پیغامو به من نشان داد:
cannot truncate log file - all logical files in use
خیلی متشکرم

amin_alexi
سه شنبه 28 آبان 1387, 07:58 صبح
ببخشید به جای @dbLogName چی باید بنویسم؟

هیچی نمی خواد بنویسی!
به جای dbName فقط اسم DataBase خودت رو بزار !

بعد از اجرا این پیغامو به من نشان داد:
cannot truncate log file - all logical files in use
خیلی متشکرم
_
این هم میگه که logFile در حال استفاده است ...
ببین هر موقع که با DataBse کسی کار نمی کنه این رو اجرا کن !
قبلش رو یک DataBase دیگه که کسی باهاش کار نمی کنه تست کن ببین بازم این Error رو میده !

mostafa612003
سه شنبه 28 آبان 1387, 11:16 صبح
مطمئنم که کسی با دیتابیس کار نمی کنه اما نمی دونم چرا این پیغامو می دهد؟
اگه replication روی بانکم فعال باشد ولی فعلا قطع باشد آیا می تونه دلیل این پیغام باشه؟

mostafa612003
پنج شنبه 30 آبان 1387, 18:37 عصر
لطفا اگر می دانید جواب دهید
یک بانکی که 5 سال است در آن دارد وروداطلاعات می شود بیکار شده
متشکرم

amin_alexi
شنبه 02 آذر 1387, 22:46 عصر
مطمئنم که کسی با دیتابیس کار نمی کنه اما نمی دونم چرا این پیغامو می دهد؟
اگه replication روی بانکم فعال باشد ولی فعلا قطع باشد آیا می تونه دلیل این پیغام باشه؟شاید !
احتمال داره !
واسه تست می تونی یک DataBase بسازی و Replication بزنی و این دستورات رو تست کنی !
Replication به چه صورتیه !
حالا این دستورات رو اجرا کن شاید درست شد ... دو خط رو حذف کردم !(واسه بردن به حالت Single)

DECLARE @dbLogName nvarchar(500) ;
Use dbName ;
select @dbLogName = rtrim(ltrim(name)) from sysfiles
WHERE FILEID=2; -- And FILEID=1; For Data File
DBCC SHRINKFILE(@dbLogName , 2) ;
BACKUP LOG dbName WITH TRUNCATE_ONLY ;
DBCC SHRINKFILE(@dbLogName , 2) ;

»ن خودم همین دستورات رو روی Replication که روی DB یک سایت انجام شده تست کردم جواب داد

mostafa612003
دوشنبه 04 آذر 1387, 11:46 صبح
باز هم این پیغامو نمایش می دهد:
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.
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.