数据库备份还原,日志清理代码

--数据库被占用无法还原解决方法:
--1,设置数据库在单用户模式下工作。
--设置方法:在需要还原的数据库上右击,在右键菜单命令上选择"属性"- >"选项"- >"状态"- >"限制访问"- >"Single"。这是SQLSERVER2005的菜单命令,其它版本请自己查找。


--数据库脱机在连机
USE master
GO
ALTER DATABASE DB
SET OFFLINE WITH ROLLBACK IMMEDIATE--数据库脱机
GO
ALTER DATABASE DB
SET ONLINE--连机

--杀掉正在使用该数据库的所有进程
USE master
GO
declare @dbname varchar(50)
set @dbname='DB'
declare @sql varchar(50)
declare cs_result cursor local for select 'kill '+cast(spid as varchar(50)) from sys.sysprocesses where db_name(dbid)=@dbname 
open cs_result
fetch next from cs_result into @sql
while @@fetch_status=0
begin
    execute(@sql)
    fetch next from cs_result into @sql
end
close cs_result
deallocate cs_result

--------------数据日志清除----------------------
--更改模式
ALTER DATABASE DB SET RECOVERY SIMPLE
GO
-- 收缩
DBCC SHRINKFILE (2,30)  --30单位为M,日志文件的大小
GO 
-- 更改模式为FULL ,再改回来,如果本身就已是simple,那就不必要了
ALTER DATABASE DB SET RECOVERY FULL


 

阅读更多
想对作者说点什么? 我来说一句

SQL2000数据库备份还原For VB

2011年04月13日 11KB 下载

Sql Server 日志清理工具

2014年08月05日 255KB 下载

SQL数据库日志清理专家.rar

2009年11月26日 574KB 下载

sql server日志清理语句

2013年07月17日 432B 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭