sybase事務日志已滿解決方法 今天碰到一個奇怪的問題,當我打開應用程序的時候,開始的時候鼠標圖標還顯示程序正在啟動,可是一會後,就沒有任何反應了。重復了N多次都是這樣,後來發現,每次打開應用程序的時候,任務管理器中都會相應的多一個進程,但程序界面死活不出現。 我檢查了我能想到的可能出問題的每一個環節,包括Sybase數據庫、配置的IP、網絡等等,但終究都無濟於事。最後,無奈之下只能打客服了。果然,解鈴還須系鈴人,當我把我的問題描述了一下,技術人員立馬給我指出了問題之所在。原來不是程序的問題,而是Sybase數據庫日志空間滿了,無法繼續再執行操作了。(好吧,這都可以) 下面就詳細介紹一下截斷和清空日志的方法。在做截斷操作之前,建議大家先為數據庫做個備份。詳情請參考:Sybase數據庫的備份和還原 http://www.BkJia.com/database/201212/178583.html 第一步:設定Sybase數據庫自動截斷日志: 方法一: [sql] isql -Usa -Ppassword -Ssybaseserver >sp_dboption database_name,"trunc log on chkpt",true >go >checkpoint >go 方法二:在sybase central 數據庫屬性對話框的選項頁中選擇“在檢查點上截斷日志”項。如下圖: 第二步:清空日志: 方法一: [sql] >dump transaction database_name with truncate_only >go 通常刪除事務日志中不活躍的部分可使用“dumptransaction with trancate_only”命令,這條命令寫進事務日志時,還要做必要的並發性檢查。 方法二: [sql] >dump transaction databasename with no_log >go SYBASE提供“dumptransaction with no_log”來處理某些非常緊迫的情況,使用這條命令有很大的危險性,SQL Server會彈出一條警告信息。 到此為止,問題就解決了,你可以查看一下數據庫日志文件的空間利用情況。