日期:2014-05-16  浏览次数:20432 次

SQL Server 2008清空数据库日志

使用SQL Server2005清空数据库可用以下sql实现

Backup Log DNName with no_log
go
dump transaction DNName with no_log
go
USE DNName 
DBCC SHRINKFILE (2)
Go


不过这个存储过程在SQL Server2008中已经被取消,在2008需要改用以下方式来清空数据库日志

USE [master]
    GO
    ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
    GO
    ALTER DATABASE DNName SET RECOVERY SIMPLE   --简单模式
    GO
    USE DNName 
    GO
    DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY)
    GO
    USE [master]
    GO

    ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT

    GO

    ALTER DATABASE DNName SET RECOVERY FULL  --还原为完全模式

    GO

另外,在用SQL Server 2008附加数据库的时候提示文件为只读,附加失败。但是查看文件属性并不是只读。这是由于使用sa登录数据库,只能附加DATA目录下的文件。需要采用系统用户登录,或将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service