SQL SERVER磁碟空間的使用方式,日誌清理

來源:互聯網
上載者:User

一、查詢磁碟空間的使用方式及各資料庫資料檔案及記錄檔的大小及使用利用率:
1、查詢各個磁碟分割的剩餘空間:
        Exec master.dbo.xp_fixeddrives  

2、查詢資料庫的資料檔案及記錄檔的相關資訊(包括檔案組、當前檔案大小、檔案最大值、檔案增長設定、檔案邏輯名、檔案路徑等)   
     select * from [資料庫名].[dbo].[sysfiles]
     轉換檔大小單位為MB:
    select name, convert(float,size) * (8192.0/1024.0)/1024. from [資料庫名].dbo.sysfiles

3、查詢當前資料庫的磁碟使用方式:
    Exec sp_spaceused

4、查詢資料庫伺服器各資料庫記錄檔的大小及利用率
    DBCC SQLPERF(LOGSPACE)

 

二、發現我們的資料庫日誌滿了,如何清理日誌。

方法1:

代碼

DECLARE @dbname NVARCHAR(50)
SET @dbname='DNN50'
--1.清空日誌
exec('DUMP TRANSACTION ['+@dbname+'] WITH NO_LOG')
--2.截斷交易記錄:
exec('BACKUP LOG ['+@dbname+'] WITH NO_LOG')
--3.收縮資料庫檔案(如果不壓縮,資料庫的檔案不會減小
exec('DBCC SHRINKDATABASE(['+@dbname+'])')
--4.設定自動收縮
exec('EXEC sp_dboption '''+@dbname+''',''autoshrink'',''TRUE''')

 方法2
第一步:
先備份整個資料庫以備不測
第二步:
備份結束後,在Query Analyzer中執行如下的語句:
exec sp_detach_db yourDBName,true --卸載這個DB在MSSQL中的註冊資訊
第三步:
到日誌的物理檔案所在的目錄中去刪除該記錄檔或者將該記錄檔移出該目錄
第四步:
在Query Analyzer中執行如下的語句:
exec sp_attach_single_file_db yourDBName,'d:\mssql7\data\yourDBName_data.mdf'
--以單檔案的方式註冊該DB,如果成功則MSSQL將自動為這個DB產生一個500K的記錄檔。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.