--数据库SHON
ALTER DATABASE SHON  SET RECOVERY SIMPLE
ALTER DATABASE SHON  SET RECOVERY FULL
DBCC SHRINKDATABASE(SHON , 0)
求人翻译上面语句意思,
原本每月1号自动清理日志,后来从2005升级到2008。预设的工作执行失败,因为2005与2008清理日志的语法不一样了。
改成上面的可以不?
DBCC SHRINKDATABASE(SHON , 0) 一般设置成多少好?另求手动清理日志的方法!

解决方案 »

  1.   

    USE SHON;
    GO
    -- Truncate the log by changing the database recovery model to SIMPLE.
    ALTER DATABASE SHON
    SET RECOVERY SIMPLE;
    GO
    -- Shrink the truncated log file to 10 MB.
    DBCC SHRINKFILE ([SHON_log], 10);
    GO
    -- Reset the database recovery model.
    ALTER DATABASE SHON
    SET RECOVERY FULL;
    GO
    执行之后出现如下:
    無法將資料庫 'SZON' 的檔案 '2' 壓縮到 1280 個頁面,因為它只包含了 63 個頁面。(1 個資料列受到影響)
    DBCC 的執行已經完成。如果 DBCC 印出錯誤訊息,請連絡您的系統管理員。
      

  2.   


    ALTER DATABASE SHON SET RECOVERY SIMPLE --设置shon数据库恢复模式未简单模式,如果做得有logshipping,和镜像,先取消logshipping和镜像在修改恢复模式..不然会提示修改不了
    DBCC SHRINKDATABASE(SHON , 0)           --收缩数据库,上面设置为简单后收缩时就能自动截断日志.才能真正意义上的空间减小
    ALTER DATABASE SHON SET RECOVERY FULL  --设置shon数据库为完整恢复模式. 使事务联系.这样可以根据一档全备还原到你任何想要的时刻点...
      

  3.   


    SELECT name ,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB
    FROM sys.database_files;    --查询当前日志大小, 你能不能把三条语句按上面,先设置简单,收缩,在设置完整
      

  4.   

    SQL Server 2008事务日志清理 
      

  5.   

    USE SHON;
    GO
    -- Truncate the log by changing the database recovery model to SIMPLE.
    ALTER DATABASE SHON
    SET RECOVERY SIMPLE;
    GO
    -- Shrink the truncated log file to 10 MB.
    DBCC SHRINKFILE ([SHON_log], 10);
    GO
    -- Reset the database recovery model.
    ALTER DATABASE SHON
    SET RECOVERY FULL;
    GO
    执行之后出现如下:
    無法將資料庫 'SHON' 的檔案 '2' 壓縮到 1280 個頁面,因為它只包含了 63 個頁面。(1 個資料列受到影響)
    DBCC 的執行已經完成。如果 DBCC 印出錯誤訊息,請連絡您的系統管理員。
    請問手動執行上面的語句是否也可以達到清理日誌的效果,
    出現下麵的提示是怎麼回事?
      

  6.   

    SELECT name ,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB
    FROM sys.database_files;
    執行之後:SZON_Data 0.125000
    SZON_Log 0.140625