14 个解决方案
#1
--收缩事务日志
backup log register with NO_LOG
backup log register with TRUNCATE_ONLY
DBCC SHRINKDATABASE(register)
#2
分离,删除日志文件,附加.
#3
收缩,没什么重要的就删掉
#4
具体怎么操作?
#5
上面的方法处理起来比较简单,非要用脚本处理的化,也可以,如下:
--把下面数据库名称blpsjxc_sl换成你要压缩的数据库名称
use master
backup Log blpsjxc_sl with TRUNCATE_ONLY --截断日志 blpsjxc_sl是数据库名
Use blpsjxc_sl
DBCC SHRINKFILE ( 2,1,TRUNCATEONLY ) --收缩日志文件,2是文件号
#6
"2是文件号"中的2是常量吗?
#7
执行完毕后,我的日志文件只有1m了,原因是什么,做了哪些操作?
#8
这个没什么 可以直接用mdf文件还原
#9
缩减日志是不是日志文件的信息丢失了?对数据库有什么影响吗?
#10
截断先 backup log logname with no_log
再压缩 dbcc shrinkfile(logname,0)
#11
这里不需要指定哪个数据库吗?logname是不是指定是要压缩的哪个文件的名称?
#12
很简单呀,收缩日志就可以了呀。
--例:收缩数据库CR_YPPF8日志,其中ChaoRan_Log表示数据库逻辑文件名
DBCC SHRINKDATABASE (CR_YPPF8, 10); --收缩数据库
--收缩日志-------------------
USE CR_YPPF8;
GO
ALTER DATABASE CR_YPPF8
SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (ChaoRan_Log, 1);
GO
ALTER DATABASE CR_YPPF8
SET RECOVERY FULL;
GO
--例:收缩数据库CR_YPPF8日志,其中ChaoRan_Log表示数据库逻辑文件名
DBCC SHRINKDATABASE (CR_YPPF8, 10); --收缩数据库
--收缩日志-------------------
USE CR_YPPF8;
GO
ALTER DATABASE CR_YPPF8
SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (ChaoRan_Log, 1);
GO
ALTER DATABASE CR_YPPF8
SET RECOVERY FULL;
GO
#13
--1.完整备份
DECLARE @File NVARCHAR(255)
SELECT @File='D:\数据库备份\'+REPLACE(CONVERT(NVARCHAR(10),GETDATE(),120),'-','')+'.bak'
BACKUP DATABASE [数据库] TO DISK = @File WITH NOFORMAT, INIT,
NAME = N'数据库完整备份',
SKIP, NOREWIND, NOUNLOAD, STATS = 10;
GO
--2.日志备份,截断事务日志
DECLARE @File NVARCHAR(255)
SELECT @File='D:\数据库备份\'+REPLACE(CONVERT(NVARCHAR(10),GETDATE(),120),'-','')+'_Log.bak'
BACKUP LOG [数据库] TO DISK = @File WITH NOFORMAT, INIT,
NAME = N'数据库-事务日志 备份',
SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
--3.设置恢复模式为简单
ALTER DATABASE [数据库]
SET RECOVERY SIMPLE;
GO
--4.收缩事务日志
DBCC SHRINKFILE (db_Log, 1);
GO
--5.设置恢复模式为完整
ALTER DATABASE [数据库]
SET RECOVERY FULL;
GO
可参考我的博客文章
http://blog.csdn.net/jamespanjunwei/archive/2011/06/14/6543771.aspx
#14
sp_deattach_db
sp_attach_single_file_db
sp_attach_db
如果日志不需要的话 直接删除
先分离数据库 然后添加数据库即可
sp_attach_single_file_db
sp_attach_db
如果日志不需要的话 直接删除
先分离数据库 然后添加数据库即可
#1
--收缩事务日志
backup log register with NO_LOG
backup log register with TRUNCATE_ONLY
DBCC SHRINKDATABASE(register)
#2
分离,删除日志文件,附加.
#3
收缩,没什么重要的就删掉
#4
具体怎么操作?
#5
上面的方法处理起来比较简单,非要用脚本处理的化,也可以,如下:
--把下面数据库名称blpsjxc_sl换成你要压缩的数据库名称
use master
backup Log blpsjxc_sl with TRUNCATE_ONLY --截断日志 blpsjxc_sl是数据库名
Use blpsjxc_sl
DBCC SHRINKFILE ( 2,1,TRUNCATEONLY ) --收缩日志文件,2是文件号
#6
"2是文件号"中的2是常量吗?
#7
执行完毕后,我的日志文件只有1m了,原因是什么,做了哪些操作?
#8
这个没什么 可以直接用mdf文件还原
#9
缩减日志是不是日志文件的信息丢失了?对数据库有什么影响吗?
#10
截断先 backup log logname with no_log
再压缩 dbcc shrinkfile(logname,0)
#11
这里不需要指定哪个数据库吗?logname是不是指定是要压缩的哪个文件的名称?
#12
很简单呀,收缩日志就可以了呀。
--例:收缩数据库CR_YPPF8日志,其中ChaoRan_Log表示数据库逻辑文件名
DBCC SHRINKDATABASE (CR_YPPF8, 10); --收缩数据库
--收缩日志-------------------
USE CR_YPPF8;
GO
ALTER DATABASE CR_YPPF8
SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (ChaoRan_Log, 1);
GO
ALTER DATABASE CR_YPPF8
SET RECOVERY FULL;
GO
--例:收缩数据库CR_YPPF8日志,其中ChaoRan_Log表示数据库逻辑文件名
DBCC SHRINKDATABASE (CR_YPPF8, 10); --收缩数据库
--收缩日志-------------------
USE CR_YPPF8;
GO
ALTER DATABASE CR_YPPF8
SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (ChaoRan_Log, 1);
GO
ALTER DATABASE CR_YPPF8
SET RECOVERY FULL;
GO
#13
--1.完整备份
DECLARE @File NVARCHAR(255)
SELECT @File='D:\数据库备份\'+REPLACE(CONVERT(NVARCHAR(10),GETDATE(),120),'-','')+'.bak'
BACKUP DATABASE [数据库] TO DISK = @File WITH NOFORMAT, INIT,
NAME = N'数据库完整备份',
SKIP, NOREWIND, NOUNLOAD, STATS = 10;
GO
--2.日志备份,截断事务日志
DECLARE @File NVARCHAR(255)
SELECT @File='D:\数据库备份\'+REPLACE(CONVERT(NVARCHAR(10),GETDATE(),120),'-','')+'_Log.bak'
BACKUP LOG [数据库] TO DISK = @File WITH NOFORMAT, INIT,
NAME = N'数据库-事务日志 备份',
SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
--3.设置恢复模式为简单
ALTER DATABASE [数据库]
SET RECOVERY SIMPLE;
GO
--4.收缩事务日志
DBCC SHRINKFILE (db_Log, 1);
GO
--5.设置恢复模式为完整
ALTER DATABASE [数据库]
SET RECOVERY FULL;
GO
可参考我的博客文章
http://blog.csdn.net/jamespanjunwei/archive/2011/06/14/6543771.aspx
#14
sp_deattach_db
sp_attach_single_file_db
sp_attach_db
如果日志不需要的话 直接删除
先分离数据库 然后添加数据库即可
sp_attach_single_file_db
sp_attach_db
如果日志不需要的话 直接删除
先分离数据库 然后添加数据库即可