刪除數據庫日志文件的方法


       你曾經有在執行SQL的時候,數據庫報事務日志已滿,然后執行報錯。然后糾結於怎么刪除數據庫日志,搗鼓半天嗎,現在就提供兩種刪除日志文件的方法,希望能夠幫到你

方法一:手工操作

    1.數據庫->右鍵->屬性->選項-恢復模式->由完成切換成簡單

    2.數據庫->右鍵->任務->收縮-文件->由完成切換成簡單->文件類型->日志->將文件收縮到

 

方法二:存儲過程代替手工操作

  

    --日志文件收縮至多少M
    DECLARE @DBLogSise AS INT
    SET @DBLogSise=0
    --查詢出數據庫對應的日志文件名稱
    DECLARE @strDBName AS NVARCHAR(500)
    DECLARE @strLogName AS NVARCHAR(500)
    DECLARE @strSQL AS VARCHAR(1000)
    
    SELECT 
        @strLogName=B.name,
        @strDBName=A.name
    FROM master.sys.databases AS A
    INNER JOIN sys.master_files AS B
    ON A.database_id = B.database_id
    WHERE A.database_id=DB_ID() 
        
    SET @strSQL='
    --設置數據庫恢復模式為簡單
    ALTER DATABASE ['+@strDBName+'] SET RECOVERY SIMPLE;
    --收縮日志文件
    DBCC SHRINKFILE ('''+@strLogName+''' , '+CONVERT(VARCHAR(20),@DBLogSise)+');
    --恢復數據庫還原模式為完整
    ALTER DATABASE ['+@strDBName+'] SET RECOVERY FULL '
    exec(@strSQL)    

 

 

        1.在數據庫中執行上面的存儲過程

    2.然后再執行 EXEC dbo.usp_p_delDBLog @DBLogSise = 0 (收縮至多少M)

  

 

示例存儲過程下載

         usp_p_delDBLog.sql

  

   下一篇將為大家帶來:附加沒有日志文件的數據庫方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM