午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

怎么清除sql server日志

瀏覽:234日期: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 數據庫
主站蜘蛛池模板: 999免费视频| 久久国产精品视频 | 男女av| 极品色av影院| 日本h视频在线观看 | 日韩av一级| av免费在线观| 欧美激情自拍 | 久久精品视频1 | 亚洲图片欧美日韩 | 国产伊人久久 | 欧美精品在线观看 | 6080黄色 | 亚洲女优在线观看 | 日韩美av| 91九色网站 | 欧美成人福利视频 | 在线不卡一区 | 桃色激情网 | 黄色的网址 | 久久久久久久免费 | 亚洲va在线 | 最新中文字幕在线播放 | 最新av免费 | 激情五月婷婷综合 | 男人插女人的逼 | 久久黄视频| 日本欧美国产 | 欧美激情在线播放 | 黄色一级免费网站 | 老鸭窝成人 | 美女视频久久 | 成人超碰在线 | 99在线视频观看 | 亚洲欧美在线看 | 国内黄色片 | 国产精品50页 | 国产欧美一区二区三区视频在线观看 | 香蕉视频成人在线 | 免费午夜影院 | 亚洲精品免费在线 |