日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQLServer2000刪除實(shí)戰(zhàn)演習(xí)

我們今天是要和大家一起討論的是SQL Server 2000刪除日志,如果你對SQL Server 2000刪除日志的實(shí)際操作步驟心存好奇的話,以下的文章將會揭開它的神秘面紗,以下就是具體方案的描述,希望在你今后的學(xué)習(xí)中會有所幫助。

站在用戶的角度思考問題,與客戶深入溝通,找到敖漢網(wǎng)站設(shè)計(jì)與敖漢網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋敖漢地區(qū)。

一. 刪除LOG

1:分離數(shù)據(jù)庫 企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫->右鍵->分離數(shù)據(jù)庫

2:刪除LOG文件

3:附加數(shù)據(jù)庫 企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫->右鍵->附加數(shù)據(jù)庫

此法生成新的LOG,大小只有520多K

再將此數(shù)據(jù)庫設(shè)置自動收縮

或用代碼:

下面的示例分離 testdatabase,然后將 testdatabase 中的一個(gè)文件附加到當(dāng)前服務(wù)器。

 
 
 
  1. EXEC sp_detach_db @dbname = 'testdatabase' 
  2. EXEC sp_attach_single_file_db @dbname = 'testdatabase',   
  3. @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\testdatabase.mdf' 

二.清空日志

DUMP TRANSACTION 庫名 WITH NO_LOG

再:

企業(yè)管理器右鍵你要壓縮的數(shù)據(jù)庫所有任務(wù)收縮數(shù)據(jù)庫收縮文件選擇日志文件在收縮方式

里選擇收縮至XXM,這里會給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了

三.如果想以后不讓它增長

企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫->屬性->事務(wù)日志->將文件增長限制為2M

自動收縮日志,也可以用下面這條語句

ALTER DATABASE 數(shù)據(jù)庫名

SET AUTO_SHRINK ON

故障還原模型改為簡單,用語句是

USE MASTER

GO

ALTER DATABASE 數(shù)據(jù)庫名 SET RECOVERY SIMPLE

GO

-

截?cái)嗍聞?wù)日志:

 
 
 
  1. BACKUP LOG { database_name | @database_name_var }  
  2. {  
  3. [ WITH  
  4. { NO_LOG | TRUNCATE_ONLY } ]   

壓縮SQL Server 2000刪除日志及數(shù)據(jù)庫文件大小

特別注意

請按步驟進(jìn)行,未進(jìn)行前面的步驟,請不要做后面的步驟

否則可能損壞你的數(shù)據(jù)庫.

1.清空日志

DUMP TRANSACTION 庫名 WITH NO_LOG

2.截?cái)嗍聞?wù)日志:

BACKUP LOG 數(shù)據(jù)庫名 WITH NO_LOG

3.收縮數(shù)據(jù)庫文件(如果不壓縮,數(shù)據(jù)庫的文件不會減小

企業(yè)管理器右鍵你要壓縮的數(shù)據(jù)庫所有任務(wù)收縮數(shù)據(jù)庫收縮文件

選擇SQL Server 2000刪除日志文件在收縮方式里選擇收縮至XXM,這里會給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),

確定就可以了

選擇數(shù)據(jù)文件在收縮方式里選擇收縮至XXM,這里會給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),

確定就可以了

也可以用SQL語句來完成

收縮數(shù)據(jù)庫

DBCC SHRINKDATABASE(客戶資料)

收縮指定數(shù)據(jù)文件,1是文件號,可以通過這個(gè)語句查詢到:select * from sysfiles

DBCC SHRINKFILE(1)

4.為了***化的縮小日志文件(如果是sql 7.0,這步只能在查詢分析器中進(jìn)行)

a.分離數(shù)據(jù)庫:

企業(yè)管理器服務(wù)器數(shù)據(jù)庫右鍵分離數(shù)據(jù)庫

b.在我的電腦中刪除LOG文件

c.附加數(shù)據(jù)庫:

企業(yè)管理器服務(wù)器數(shù)據(jù)庫右鍵附加數(shù)據(jù)庫

此法將生成新的LOG,大小只有500多K

或用代碼:

下面的示例分離 testdatabase,然后將 testdatabase 中的一個(gè)文件附加到當(dāng)前服務(wù)器。

a.分離

 
 
 
  1.  
 
 
 
  1. EXEC sp_detach_db @dbname = 'testdatabase' 

b.刪除日志文件

c.再附加

 
 
 
  1. EXEC sp_attach_single_file_db @dbname = 'testdatabase',   
  2. @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\testdatabase.mdf' 

5.為了以后能自動收縮,做如下設(shè)置:

企業(yè)管理器服務(wù)器右鍵數(shù)據(jù)庫屬性選項(xiàng)選擇"自動收縮"

SQL語句設(shè)置方式:

EXEC sp_dboption '數(shù)據(jù)庫名', 'autoshrink', 'TRUE'

6.如果想以后不讓它SQL Server 2000刪除日志增長得太大

企業(yè)管理器服務(wù)器右鍵數(shù)據(jù)庫屬性事務(wù)日志

將文件增長限制為xM(x是你允許的***數(shù)據(jù)文件大小)

SQL語句的設(shè)置方式:

alter database 數(shù)據(jù)庫名 modify file(name=邏輯文件名,maxsize=20)

壓縮數(shù)據(jù)庫的通用存儲過程

壓縮日志及數(shù)據(jù)庫文件大小

因?yàn)橐獙?shù)據(jù)庫進(jìn)行分離處理

所以存儲過程不能創(chuàng)建在被壓縮的數(shù)據(jù)庫中

調(diào)用示例

exec p_compdb 'test'

use master 注意,此存儲過程要建在master數(shù)據(jù)庫中

 
 
 
  1. go  
  2. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_compdb]') and   
  3. OBJECTPROPERTY(id, N'IsProcedure') = 1)  
  4. drop procedure [dbo].[p_compdb]  
  5. GO  
  6. create proc p_compdb 

@dbname sysname, 要壓縮的數(shù)據(jù)庫名

@bkdatabase bit=1, 因?yàn)榉蛛xSQL Server 2000刪除日志的步驟中,可能會損壞數(shù)據(jù)庫,所以你可以選擇是否自動數(shù)據(jù)庫

@bkfname nvarchar(260)='' 備份的文件名,如果不指定,自動備份到默認(rèn)備份目錄,備份文件名為:數(shù)

據(jù)庫名+日期時(shí)間#p#

as

1.清空日志

 
 
 
  1.  
 
 
 
  1. exec('DUMP TRANSACTION ['+@dbname+'] WITH NO_LOG') 

2.截?cái)嗍聞?wù)日志:

 
 
 
  1.  
 
 
 
  1. exec('BACKUP LOG ['+@dbname+'] WITH NO_LOG') 

3.收縮數(shù)據(jù)庫文件(如果不壓縮,數(shù)據(jù)庫的文件不會減小

 
 
 
  1.  
 
 
 
  1. exec('DBCC SHRINKDATABASE(['+@dbname+'])') 

4.設(shè)置自動收縮

 
 
 
  1.  
 
 
 
  1. exec('EXEC sp_dboption '''+@dbname+''',''autoshrink'',''TRUE''') 

后面的步驟有一定危險(xiǎn),你可以可以選擇是否應(yīng)該這些步驟

5.分離數(shù)據(jù)庫

 
 
 
  1. if @bkdatabase=1 
  2. begin  
  3. if isnull(@bkfname,'')=''   
  4. set @bkfname=@dbname+'_'+convert(varchar,getdate(),112)  
  5. +replace(convert(varchar,getdate(),108),':','') 

select 提示信息='備份數(shù)據(jù)庫到SQL 默認(rèn)備份目錄,備份文件名:'+@bkfname

 
 
 
  1. exec('backup database ['+@dbname+'] to disk='''+@bkfname+'''')  
  2. end 

進(jìn)行分離處理

 
 
 
  1. create table #t(fname nvarchar(260),type int)  
  2. exec('insert into #t select filename,type=status&0x40 from ['+@dbname+']..sysfiles')  
  3. exec('sp_detach_db '''+@dbname+'''') 

刪除SQL Server 2000刪除日志文件

 
 
 
  1. declare @fname nvarchar(260),@s varchar(8000)  
  2. declare tb cursor local for select fname from #t where type=64 
  3. open tb   
  4. fetch next from tb into @fname  
  5. while @@fetch_status=0 
  6. begin  
  7. set @s='del "'+rtrim(@fname)+'"'  
  8. exec master..xp_cmdshell @s,no_output  
  9. fetch next from tb into @fname  
  10. end  
  11. close tb  
  12. deallocate tb 

附加數(shù)據(jù)庫

 
 
 
  1. set @s='' 
  2. declare tb cursor local for select fname from #t where type=0 
  3. open tb   
  4. fetch next from tb into @fname  
  5. while @@fetch_status=0 
  6. begin  
  7. set @s=@s+','''+rtrim(@fname)+''''  
  8. fetch next from tb into @fname  
  9. end  
  10. close tb  
  11. deallocate tb 

以上的相關(guān)內(nèi)容就是對SQL Server 2000刪除日志的介紹,望你能有所收獲。


當(dāng)前名稱:SQLServer2000刪除實(shí)戰(zhàn)演習(xí)
本文地址:http://m.5511xx.com/article/cdpipsj.html