色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

怎么清除sql server日志

瀏覽:151日期:2023-10-29 13:32:26

方法1:第一步:backup log database_name with no_log 或者 backup log database_name with truncate_only --no_log和truncate_only是在這里是同義的,隨便執行哪一句都可以第二步:1.收縮特定數據庫的所有數據和日志文件,執行 dbcc shrinkdatabase (database_name,[,target_percent])--database_name是要收縮的數據庫名稱;target_percent是數據庫收縮后的數據庫文件中所要的剩余可用空間百分比2.收縮一次一個特定數據庫中的數據或日志文件,執行 dbcc shrinkfile(file_id,[,target_size]) --file_id是要收縮的文件的標識 (ID) 號,若要獲得文件 ID,請使用 FILE_ID 函數或在當前數據庫中搜索 sysfiles;target_size是用兆字節表示的所要的文件大小(用整數表示)。如果沒有指定,dbcc shrinkfile 將文件大小減少到默認文件大小

兩個dbcc都可以帶上參數notruncate或truncateonly,具體意思看幫助。

方法2(這個方法在sqlserver2000的環境下做一般能成功,在sqlserver7及以下版本就不一定了): 第一步: 先備份整個數據庫以備不測第二步: 備份結束后,在Query Analyzer中執行如下的語句: exec sp_detach_db yourDBName,true --卸除這個DB在MSSQL中的注冊信息 第三步: 到日志的物理文件所在的目錄中去刪除該日志文件或者將該日志文件移出該目錄 第四步: 在Query Analyzer中執行如下的語句: exec sp_attach_single_file_db yourDBName,'d:mssql7datayourDBName_data.mdf' --以單文件的方式注冊該DB,如果成功則MSSQL將自動為這個DB生成一個500K的日志文件。

以上方法在清除log日志中均有效。但,能否讓sql server 不產生log日志呢?以上方法好像均無效。 我這兒正好有個case:我客戶的sql server每天都會產生4,500M的log日志,每天都清除一下,非常不便。有沒有辦法實現不產生log日志呢?

我分析了一下客戶產生log日志的原因,并且做了相應測試。客戶是每天將數據庫清空,從總系統中將數據導入到sql server里。我感決sqlserver在插入時產生log不大,在delete整個庫時產生log極大。比如:SELECT * into test_2 from b_bgxx共45000條記錄,產生十幾M log,如果delete from test_2產生80多M log ,這明顯存在問題。

雖然可以換成:truncate table test_2但我還是希望能找到不產生log的方法。就如oracle不產生歸檔一樣。

標簽: Sql Server 數據庫
主站蜘蛛池模板: 99精彩视频| 美国一级免费毛片 | 92精品国产自产在线观看 | 亚洲视频国产精品 | 美女超爽久久久久网站 | 免费看黄色片的网站 | 成年人毛片视频 | 日韩国产欧美精品综合二区 | 国产成人一区二区 | 国产高清在线精品一区a | 91热久久| 宅女福利视频在线看免费网站 | 99在线国产 | 日本精品国产 | 欧美视频在线观看免费精品欧美视频 | 国产精品亚洲片在线不卡 | 久久免费网 | 亚洲欧美日韩国产一区二区精品 | 91免费网站在线看入口黄 | 成人在免费观看视频国产 | 久久免费视频网站 | 精品一区二区三区在线成人 | 日韩精品一区二区三区视频网 | 国产在线视频区 | 国产成年| 成人污网站| 国产成人午夜性视频影院 | 亚洲日本欧美产综合在线 | 欧美成人艳星在线播放 | 亚洲一级毛片免费在线观看 | 97国产大学生情侣11在线视频 | 欧美一级级a在线观看 | 午夜国产精品不卡在线观看 | 久久免费在线视频 | 欧美一区二区三区在线视频 | 国产综合在线视频 | 亚洲欧美一区二区三区国产精品 | 亚洲精品在线视频 | 亚洲欧美国产一区二区三区 | 国产精品亚洲成在人线 | 国产麻豆入在线观看 |