<script language="JavaScript">
<!--
function ShowSize(files)
{
var fso,f;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(files);
var fileSize = f.size ;
if((fileSize/1024) < 1024){
alert(fileSize/1024+"K");
}else if( ((fileSize/1024) > 1024) && ((fileSize/(1024*1024)) < 1024)){
alert(fileSize/(1024*1024)+"M");
}else{
alert(fileSize/(1024*1024*1024)+"G")
}
}
//-->
</script>
最近在項目中使用Sybase,發現數據庫日志滿了,所以在網上淘了兩條語句,拿出來貼一下,
1.打開查詢分析器,輸入命令
DUMP TRANSACTION 數據庫名 WITH NO_LOG
2.再打開企業管理器--右鍵你要壓縮的數據庫--所有任務--收縮數據庫--收縮文件--選擇日志文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了。
清除Log有兩種方法:
1.自動清除法
開放數據庫選項 Trunc Log on Chkpt,使數據庫系統每隔一段時間自動清除Log。此方法的優點是無須人工干預,由SQL Server自動執行,并且一般不會出現Log溢滿的情況;缺點是只清除Log而不做備份。
2.手動清除法
執行命令“dump transaction”來清除Log。以下兩條命令都可以清除日志:
dump transaction with truncate_only
dump transaction with no_log
通常刪除事務日志中不活躍的部分可使用“dump transaction with trancate_only”命令,這條命令寫進事務日志時,還要做必要的并發性檢查。SYBASE提供“dump transaction with no_log”來處理某些非常緊迫的情況,使用這條命令有很大的危險性,SQL Server會彈出一條警告信息。為了盡量確保數據庫的一致性,你應將它作為“最后一招”。
以上兩種方法只??清除日志,而不做日志備份,若想備份日志,應執行“dump transaction database_name to dumpdevice”命令。
PS:附一個更好的方法
先分離數據庫后,直接刪除日志以后,再在查詢分析器里用
exec sp_attach_single_file_db '數據庫名', '.mdf文件路徑'
命令附加數據庫。 OVER.在別的地方看到的 不錯。
最近去面試了兩家比較大的公司,感覺自己在SQL上還有欠缺,有些地方需要進行加強,所以找了些SQL的資料來看,現在在這里把它貼出來,希望對大家能有用。
/Files/awed/1-5.rar
/Files/awed/6-13.rar