2009-05-04 142 views
1

我有一个数据库,我们遇到了问题。不知怎的,日志变成了400Gb,数据库变得没用了。我想删除所有现有的连接到数据库,然后分离数据库。在MS Sql Server 2000中删除数据库连接

基本上我要做的是摆脱巨大的日志文件,并创建一个新的和重新附加,如果它的工作。如果不是,我们将从备份中恢复。

回答

0

那么基本上没有命令会执行数据库的攻击。我们最终做的是关闭服务并创建mdf和ldf文件的空副本并替换sql server使用的那些文件。之后,我们从最后一次备份中恢复数据库,然后再次运行(主要是)。

1

如果日志无用,您可以使用这些命令,但请在生产服务器上应用之前自行记录它们。 WITH NO_LOG

BACKUP LOG的disgard从日志页面,

的sp_helpdb为寻找分贝

DBCC SHRINKFILE的文件名( '你的日志文件名',0) - 用于集群的物理文件大小指定。

1

如果您确定没有打开的事务,则可以将数据库置于单用户模式。

ALTER DATABASE [YourDB] WITH NO_WAIT

SET SINGLE_USER当您完成将它放回多用户模式 ALTER DATABASE [YourDB] SET MULTI_USER与NO_WAIT

是否

备份日志yourdb使用truncate_only,那么dbcc shrinkdatabase(yourdb)不会为您收缩日志文件?

+0

dbcc shrinkfile无法找到日志文件,即使我知道我在输入正确的名称。尝试使用命令只是连续运行。 – DForck42 2009-05-04 14:19:27

0
ALTER DATABASE [DB_NAME_HERE] SET SINGLE_USER WITH ROLLBACK IMMEDIATE 

ALTER DATABASE [DB_NAME_HERE] SET MULTI_USER 
相关问题