日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁西西教程數(shù)據(jù)庫教程 → 刪除sqlserver數(shù)據(jù)庫日志文件和附加沒有日志文件的數(shù)據(jù)庫解決辦法

      刪除sqlserver數(shù)據(jù)庫日志文件和附加沒有日志文件的數(shù)據(jù)庫解決辦法

      相關軟件相關文章發(fā)表評論 來源:西西整理時間:2014/6/4 10:21:25字體大。A-A+

      作者:西西點擊:721次評論:0次標簽: sqlserver

      • 類型:數(shù)據(jù)庫類大。594KB語言:中文 評分:7.7
      • 標簽:
      立即下載

      刪除數(shù)據(jù)庫日志文件的方法

      你曾經(jīng)有在執(zhí)行SQL的時候,數(shù)據(jù)庫報事務日志已滿,然后執(zhí)行報錯。然后糾結(jié)于怎么刪除數(shù)據(jù)庫日志,搗鼓半天嗎,現(xiàn)在就提供兩種刪除日志文件的方法,希望能夠幫到你!

      方法一:手工操作

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

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

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


          --日志文件收縮至多少M
          DECLARE @DBLogSise AS INT
          SET @DBLogSise=0
          --查詢出數(shù)據(jù)庫對應的日志文件名稱
          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='
          --設置數(shù)據(jù)庫恢復模式為簡單
          ALTER DATABASE ['+@strDBName+'] SET RECOVERY SIMPLE;
          --收縮日志文件
          DBCC SHRINKFILE ('''+@strLogName+''' , '+CONVERT(VARCHAR(20),@DBLogSise)+');
          --恢復數(shù)據(jù)庫還原模式為完整
          ALTER DATABASE ['+@strDBName+'] SET RECOVERY FULL '
          exec(@strSQL)



      1.在數(shù)據(jù)庫中執(zhí)行上面的存儲過程

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

      回到頂部

      示例存儲過程下載

      usp_p_delDBLog.sql

      附加沒有日志文件的數(shù)據(jù)庫方法

      今天客戶那邊執(zhí)行SQL報錯,經(jīng)查看是客戶服務器數(shù)據(jù)庫磁盤已被全部用完,日志文件達到500GB的程度,后來由于我的錯誤操作導致日志文件(.ldf)被刪除,后來附加.mdf文件老是說沒有日志文件附加不成功,后來經(jīng)過一番折騰終于解決了,下面分享一下!

      操作步驟

      1.新建同名的數(shù)據(jù)庫文件

      2.暫停SQLSetver服務

      3.將原先的mdf文件,覆蓋新建的數(shù)據(jù)庫,刪除新數(shù)據(jù)庫的ldf文件

      4.重新啟動SQLSetver服務 ,這時看到的數(shù)據(jù)庫是這個樣子的,打不開

        

      5.執(zhí)行以下SQL語句


       1 --1.設置為緊急狀態(tài) 2 alter database 數(shù)據(jù)庫名稱 set emergency 3 --2.設置為單用戶模式 4 alter database 數(shù)據(jù)庫名稱 set single_user 5 --3.檢查并重建日志文件 6 dbcc checkdb('數(shù)據(jù)庫名稱',REPAIR_ALLOW_DATA_LOSS) 7 --4.第3步操作如果有錯誤提示,運行第4步,沒有錯誤則跳過 8 dbcc checkdb('數(shù)據(jù)庫名稱',REPAIR_REBUILD) 9 --5.恢復成多用戶模式10 alter database 數(shù)據(jù)庫名稱 set multi_user


      6.至此會重新生成改庫的日志文件,整個過程完成

        或者也可以采用手動附加(本方法參考@碼道程工)


        相關評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)