成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server 2000刪除實戰演習

數據庫 SQL Server
以下的文章主要向大家講述的是SQL Server 2000刪除日志的實際操作步驟,以及對其在實際操作中的一些問題的處理。

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

一. 刪除LOG

1:分離數據庫 企業管理器->服務器->數據庫->右鍵->分離數據庫

 

2:刪除LOG文件

 

3:附加數據庫 企業管理器->服務器->數據庫->右鍵->附加數據庫

 

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

 

再將此數據庫設置自動收縮

 

或用代碼:

 

下面的示例分離 testdatabase,然后將 testdatabase 中的一個文件附加到當前服務器。

 

  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

 

再:

 

企業管理器右鍵你要壓縮的數據庫所有任務收縮數據庫收縮文件選擇日志文件在收縮方式

 

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

 

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

 

企業管理器->服務器->數據庫->屬性->事務日志->將文件增長限制為2M

 

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

ALTER DATABASE 數據庫名

 

SET AUTO_SHRINK ON

 

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

 

USE MASTER

 

GO

 

ALTER DATABASE 數據庫名 SET RECOVERY SIMPLE

 

GO

 

-

 

截斷事務日志:

 

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

壓縮SQL Server 2000刪除日志及數據庫文件大小

 

特別注意

 

請按步驟進行,未進行前面的步驟,請不要做后面的步驟

 

否則可能損壞你的數據庫.

 

 

1.清空日志

 

DUMP TRANSACTION 庫名 WITH NO_LOG

 

2.截斷事務日志:

 

BACKUP LOG 數據庫名 WITH NO_LOG

 

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

 

企業管理器右鍵你要壓縮的數據庫所有任務收縮數據庫收縮文件

 

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

 

確定就可以了

 

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

 

確定就可以了

 

也可以用SQL語句來完成

 

收縮數據庫

 

DBCC SHRINKDATABASE(客戶資料)

 

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

 

DBCC SHRINKFILE(1)

 

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

 

a.分離數據庫:

 

企業管理器服務器數據庫右鍵分離數據庫

 

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

 

c.附加數據庫:

 

企業管理器服務器數據庫右鍵附加數據庫

 

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

 

或用代碼:

 

下面的示例分離 testdatabase,然后將 testdatabase 中的一個文件附加到當前服務器。

 

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.為了以后能自動收縮,做如下設置:

 

企業管理器服務器右鍵數據庫屬性選項選擇"自動收縮"

 

SQL語句設置方式:

 

EXEC sp_dboption '數據庫名', 'autoshrink', 'TRUE'

 

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

 

企業管理器服務器右鍵數據庫屬性事務日志

 

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

 

SQL語句的設置方式:

 

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

 

 

壓縮數據庫的通用存儲過程

 

壓縮日志及數據庫文件大小

 

因為要對數據庫進行分離處理

 

所以存儲過程不能創建在被壓縮的數據庫中

 

 

調用示例

 

exec p_compdb 'test'

 

 

use master 注意,此存儲過程要建在master數據庫中

 

  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, 要壓縮的數據庫名

@bkdatabase bit=1, 因為分離SQL Server 2000刪除日志的步驟中,可能會損壞數據庫,所以你可以選擇是否自動數據庫

 

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

 

據庫名+日期時間#p#

 

as

 

1.清空日志

 

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

2.截斷事務日志:

 

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

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

 

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

4.設置自動收縮

 

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

后面的步驟有一定危險,你可以可以選擇是否應該這些步驟

 

5.分離數據庫

 

  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 提示信息='備份數據庫到SQL 默認備份目錄,備份文件名:'+@bkfname

 

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

進行分離處理

 

  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=
  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 

附加數據庫

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

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

【編輯推薦】

  1. SQL Server全文索引的實例演示
  2. SQL Server置疑的出現的原因,現象與破解
  3. SQL Server所有表的列信息展示
  4. 實現SQL Server 2000全文索引遷移步驟
  5. SQL Server數據庫連接,Web.config的正確配置
責任編輯:佚名 來源: 博客園
相關推薦

2010-06-18 09:08:29

SQL Server

2010-08-06 13:26:29

DB2建立databa

2021-08-02 19:39:51

網絡測試路由器

2017-05-12 18:30:05

AndroidMVP代碼結構

2010-06-07 14:57:57

2010-05-27 16:55:23

操作MySQL

2010-08-17 11:35:00

2010-08-03 16:54:10

DB2 9.5

2010-07-05 12:09:16

SQL Server

2010-06-17 14:05:11

SQL Server

2010-07-15 10:48:48

SQL Server2

2011-04-18 13:02:08

SQL Server SQL Server

2010-11-10 15:23:55

SQL SERVER

2010-06-18 13:18:29

SQL Server

2011-04-06 13:14:29

SQL Server 安裝

2010-07-08 16:37:50

Microsoft S

2015-07-22 17:27:41

SQL SERVER 鏈接

2011-08-02 15:39:30

SQL Server iSql

2010-07-16 11:42:23

SQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久免费看 | 伊人久久在线 | 日韩一二区在线观看 | 国产成人久久精品一区二区三区 | 亚洲欧美成人在线 | 在线观看国产视频 | 欧美精品一二三 | 国产高清亚洲 | 国产欧美一区二区精品久导航 | 特级做a爰片毛片免费看108 | 国产日韩一区二区三区 | 免费美女网站 | av免费网站在线观看 | 欧美在线一区二区三区 | 91精品国产乱码久久久久久久久 | 午夜免费视频 | 久久精品超碰 | 国产精品高潮呻吟久久av黑人 | a中文在线视频 | 精品亚洲永久免费精品 | 久久1区 | 亚洲欧美一区二区三区视频 | 中文字幕日韩欧美一区二区三区 | 欧美在线一区二区三区四区 | 国产精品一区一区 | 日韩欧美国产成人一区二区 | 日韩综合一区 | 黑人精品xxx一区一二区 | 一色一黄视频 | 国产性生活一级片 | 日韩欧美电影在线 | 欧美a级成人淫片免费看 | 高清国产一区二区 | 日本免费一区二区三区四区 | 日韩精品在线播放 | 日本国产一区二区 | 久久亚洲一区二区三 | 日本久久视频 | 99热在这里只有精品 | 中文字幕视频在线 | 精品国产一区二区三区久久 |