久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

怎么清除sql server日志

瀏覽:164日期: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是用兆字節表示的所要的文件大?。ㄓ谜麛当硎荆H绻麤]有指定,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日志的原因,并且做了相應測試??蛻羰敲刻鞂祿烨蹇眨瑥目傁到y中將數據導入到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 數據庫
主站蜘蛛池模板: 丹巴县| 长春市| 新巴尔虎右旗| 泰安市| 乐亭县| 册亨县| 新乡县| 尉氏县| 舟山市| 阳曲县| 江安县| 嘉兴市| 和静县| 凤凰县| 青龙| 社旗县| 阿瓦提县| 上虞市| 株洲市| 德令哈市| 宿迁市| 临朐县| 龙胜| 梨树县| 博罗县| 赤水市| 刚察县| 固安县| 专栏| 健康| 新龙县| 来宾市| 台中县| 金昌市| 宕昌县| 和平县| 佛教| 芒康县| 荆州市| 阜新市| 香格里拉县|