缩小SQL日志
来源:互联网 发布:php 开发方案 编辑:程序博客网 时间:2024/05/01 19:13
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
--缩小SQL日志
--execp_compdb'test'
createprocp_compdb
@dbnamesysname,--要压缩的名
@bkdatabasebit=1,--因为分离日志的步骤中,可能会损坏数据库,所以你可以选择是否自动数据库
@bkfnamenvarchar(260)=''--备份的文件名,如果不指定,自动备份到默认备份目录,备份文件名为:数据库名+日期时间
as
--1.清空日志
exec('DUMPTRANSACTION['+@dbname+']WITH NO_LOG')
--2.截断事务日志:
exec('BACKUPLOG['+@dbname+']WITHNO_LOG')
--3.收缩数据库文件(如果不压缩,数据库的文件不会减小
exec('DBCCSHRINKDATABASE(['+@dbname+'])')
--4.设置自动收缩
exec('EXECsp_dboption'''+@dbname+''',''autoshrink'',''TRUE''')
--后面的步骤有一定危险,你可以可以选择是否应该这些步骤
--5.分离数据库
if@bkdatabase=1
begin
ifisnull(@bkfname,'')=''
set@bkfname=@dbname+'_'+convert(varchar,getdate(),112)
+replace(convert(varchar,getdate(),108),':','')
select提示信息='备份数据库到SQL默认备份目录,备份文件名:'+@bkfname
exec('backupdatabase['+@dbname+']todisk='''+@bkfname+'''')
end
--进行分离处理
createtable#t(fnamenvarchar(260),typeint)
exec('insertinto#tselectfilename,type=status&0x40from['+@dbname+']..sysfiles')
exec('sp_detach_db'''+@dbname+'''')
--删除日志文件
declare@fnamenvarchar(260),@svarchar(8000)
declaretbcursorlocalforselectfnamefrom#twheretype=64
opentb
fetchnextfromtbinto@fname
while@@fetch_status=0
begin
set@s='del"'+rtrim(@fname)+'"'
execmaster..xp_cmdshell@s,no_output
fetchnextfromtbinto@fname
end
closetb
deallocatetb
--附加数据库
set@s=''
declaretbcursorlocalforselectfnamefrom#twheretype=0
opentb
fetchnextfromtbinto@fname
while@@fetch_status=0
begin
set@s=@s+','''+rtrim(@fname)+''''
fetchnextfromtbinto@fname
end
closetb
deallocatetb
exec('sp_attach_single_file_db'''+@dbname+''''+@s)
GO
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
--缩小SQL日志
--execp_compdb'test'
createprocp_compdb
@dbnamesysname,--要压缩的名
@bkdatabasebit=1,--因为分离日志的步骤中,可能会损坏数据库,所以你可以选择是否自动数据库
@bkfnamenvarchar(260)=''--备份的文件名,如果不指定,自动备份到默认备份目录,备份文件名为:数据库名+日期时间
as
--1.清空日志
exec('DUMPTRANSACTION['+@dbname+']WITH NO_LOG')
--2.截断事务日志:
exec('BACKUPLOG['+@dbname+']WITHNO_LOG')
--3.收缩数据库文件(如果不压缩,数据库的文件不会减小
exec('DBCCSHRINKDATABASE(['+@dbname+'])')
--4.设置自动收缩
exec('EXECsp_dboption'''+@dbname+''',''autoshrink'',''TRUE''')
--后面的步骤有一定危险,你可以可以选择是否应该这些步骤
--5.分离数据库
if@bkdatabase=1
begin
ifisnull(@bkfname,'')=''
set@bkfname=@dbname+'_'+convert(varchar,getdate(),112)
+replace(convert(varchar,getdate(),108),':','')
select提示信息='备份数据库到SQL默认备份目录,备份文件名:'+@bkfname
exec('backupdatabase['+@dbname+']todisk='''+@bkfname+'''')
end
--进行分离处理
createtable#t(fnamenvarchar(260),typeint)
exec('insertinto#tselectfilename,type=status&0x40from['+@dbname+']..sysfiles')
exec('sp_detach_db'''+@dbname+'''')
--删除日志文件
declare@fnamenvarchar(260),@svarchar(8000)
declaretbcursorlocalforselectfnamefrom#twheretype=64
opentb
fetchnextfromtbinto@fname
while@@fetch_status=0
begin
set@s='del"'+rtrim(@fname)+'"'
execmaster..xp_cmdshell@s,no_output
fetchnextfromtbinto@fname
end
closetb
deallocatetb
--附加数据库
set@s=''
declaretbcursorlocalforselectfnamefrom#twheretype=0
opentb
fetchnextfromtbinto@fname
while@@fetch_status=0
begin
set@s=@s+','''+rtrim(@fname)+''''
fetchnextfromtbinto@fname
end
closetb
deallocatetb
exec('sp_attach_single_file_db'''+@dbname+''''+@s)
GO
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 缩小SQL日志
- 缩小SQL日志
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 缩小SQL SERVER日志文件
- 关于sharedpool的深入探讨(四)
- 关于forAnalysisProvider
- 创建表时考虑列的顺序
- 关于MS数据仓库备份
- 浅谈管理的核心竞争力---参加2004IBMUNIXWorld演讲的感触
- 缩小SQL日志
- TNS-12560的一次解决
- DataGuard的测试总算告一段落
- SQLSERVER2000的零成本(开发、实施)方案
- 成就高薪的细节
- 怎样配置发送电子邮件
- 任意时间段量的统计
- 数据块转储及RDBA的转换
- (iAS10g)Howtousestaticpageratherthanthroughformservlet