在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>主機配件>硬盤>

如何修復置疑SQL數據庫

2010年03月29日 10:42 www.xsypw.cn 作者:佚名 用戶評論(0

如何修復置疑SQL數據庫


如果 SQL Server 因為磁盤可用空間不足,而不能完成數據庫的恢復,那么? SQL Server 2000 會返回錯誤 1105 并且將 sysdatabases 中的 status 列設為置疑。
憧梢鑰吹皆赟QLSERVER 的ERROR LOG 和OS的應用程序日志中應該有1105的錯誤信息:

SQL Server事務日志可能會被填滿,這會阻止之后的數據庫操作,包括UPDATE, DELETE, INSERT 和CHECKPOINT。
事務日志填滿會導致1105錯誤:
??? Can't allocate space for object syslogs in database dbname because
??? the logsegment is full。 If you ran out of space in syslogs, dump
??? the transaction log。 Otherwise use ALTER DATABASE or
??? sp_extendsegment to increase the size of the segment。

這種現象可能出現于任何一個數據庫中,包括Master和TempDB。一些難以預見的因素可能消耗日志空間。 例如:
一個大型事務, 尤其像批量數據更新、插入或刪除。
一個未提交的事務。
檢查點處理程序截除時所需的帶寬過大。
截除時超過閾值
上述各種條件互相作用的結果。
用于發布的標記事務沒有被日志讀取程序讀走

下面是修復的步驟和收縮日志的步驟:

?1.在命令提示符下運行以下命令啟動 SQL Server:
SQLSERVER -f -m

?????? 備注:-m 開關以單用戶模式啟動 SQL Server。在單用戶模式下,只能成功建立一個連接。 請注意是否有任何其他客戶機或服務可能會在您通過 SQL Server 查詢分析器??? 建立連接前使用那個連接。

?? 2. 重置置疑數據庫的狀態。
?sp_resetstatus 'database_name'

下面是結果集:

?Database'database_name'status reset!
?WARNING: You must reboot SQL Server prior to accessing this database!

3. 用 ALTER DATABASE 向數據庫添加一個數據文件或日志文件:

?USE master
?GO
?CREATE DATABASE db_name ON
?(
? NAME = dbname_dat1,
? FILENAME = 'D:\MSSQL\Data\dbname_dat1.ndf',
? SIZE = 1000MB,
? FILEGROWTH = 50MB
?)
?GO
?--更改該數據庫以添加一個 2GB 大小的新數據文件
?ALTER DATABASE db_name
?ADD FILE
?(
? NAME = dbname_dat2,
? FILENAME = 'F:\MSSQL\DATA\dbname_dat2.ndf',
? SIZE = 2000MB,
? FILEGROWTH = 50MB
?)
?GO
?--更改該數據庫以添加一個1GB 大小的新日志文件
?ALTER DATABASE db_name
?ADD LOG FILE
?( NAME = db_name_log2,
?? FILENAME = 'F:\MSSQL\Data\db_name_log2.ldf',
?? SIZE = 1000MB,
?? FILEGROWTH = 20MB),
?GO

?? 4. 停止并重新啟動 SQL Server:
?? 用新的數據文件或日志文件所提供的額外空間,SQL Server 應該能完成數據庫的恢復。

??? 5. 釋放磁盤空間并且重新運行恢復操作,按照下面的步驟收縮日志。
?sp_resetstatus 關閉數據庫的置疑標志,但是原封不動地保持數據庫的其它選項。


為從根本上解決這樣的問題,你可以按下面的操作配置SQLSERVER 2000:
a.如果不需要恢復到指定的時間點,你可以將數據庫的恢復模式配置為簡單,這樣
UPDATE,DELETE,SELECT就不會記錄日志,日志就不會增加的很大:

???? USE MASTER

??? GO
???? ALTER DATABASE DB_NAME SET RECOVERY SIMPLE
b.如果你的恢復模式是全部,你一定要配置日志字段收縮:

??? USE MASTER

??? GO
??? sp_dboption 'databasename','trunc. log on chkpt.',true
??? sp_dboption 'databasename','autoshrink',true
c.通過每日備份將日志收縮:
?? BACKUP DATABASE DATABASE_NAME TO BACKUP_DEVICES
?? BACKUP LOG DATABASE_NAME TO LOG_DEVICES
?? OR
?? BACKUP LOG DATABASE_NAME with truncate_only

?? **檢查日志的容量:DBCC SQLPERF (LOGSPACE) 這時日志并沒有收縮!

d.每天在備份數據庫完成之后,重新啟動MS SQLSERVER SERVICE.
???? USE DATABASE_NAME
???? go
???? DBCC? SHRINKFILE(2,truncateonly)

? **檢查日志的容量:DBCC SQLPERF (LOGSPACE) 這時日志已經收縮!

e.手動快速收縮日志:
? / *run? below? script,you? will? shrink? you? database? log? files
immediately,? in? my? experience,you? need? to? run? the? script? for? 3? or
4? minutes? before stopping? it? manually? */
use? databasename
dbcc? shrinkfile(2,notruncate)
dbcc? shrinkfile(2,truncateonly)
create? table? t1(char1? char(4000))
go
declare? @i? int
select? @i=0
while(1=1)
begin
???? while(@i<100)
???????????? begin
?????????? INSERT? INTO? T1? VALUES? ('A')
?????????? SELECT? @I=@I+1
?????????? END
TRUNCATE? table? T1
BACKUP? LOG? youdatabasename? with? truncate_only
end
GO

?注意? 只有在您的主要支持提供者指導下或有疑難解答建議的做法時,才可以使用
?sp_resetstatus。否則,可能會損壞數據庫。

?由于該過程修改了系統表,系統管理員必須在運行 sp_resetstatus這個過程前,啟用系統表更新。要啟用更新,使用下面的過程:

?USE master
?GO
?sp_configure 'allow updates', 1
?GO
?RECONFIGURE WITH OVERRIDE
?GO
?過程創建后,立即禁用系統表更新:

?sp_configure 'allow updates', 0
?GO
?RECONFIGURE WITH OVERRIDE
?GO
?只有系統管理員才能執行 sp_resetstatus。執行該過程后,立即關閉 SQL Server

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發表人:admin )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 欧美一区二区三区成人看不卡| 激情婷婷丁香| 国产乱码精品一区二区| 日日爱网站| 亚洲国产一区二区三区a毛片| 色资源窝窝全色| 成人在线观看网站| 91大神大战高跟丝袜美女| 在线黄色免费观看| 极品美女啪啪| 黄色成人免费网站| 怡红院色视频在线| 狠狠狠| 国产高清免费在线观看| 在线欧美成人| 国产gaysexchina男同men1068| 国产精品japanese人妖| 性视频网| 6969精品视频在线观看| 69xxx视频hd| 欧美午夜小视频| 日日操天天射| 亚洲九色| 夜夜精品视频一区二区| 亚洲高清不卡视频| 久久伊人男人的天堂网站| 久久精品乱子伦免费| 天天操天天操天天操| 男女交性视频免费播放视频| 免费人成年激情视频在线观看| 奇米7777影视| 亚洲第一页在线| 99精品国产高清自在线看超| 一区二区3区免费视频| 美女免费观看一区二区三区| 国产午夜久久影院| 四虎最新地址| 日本免费人成黄页网观看视频 | 色噜噜久久| 日日舔夜夜操| 亚洲国产人成在线观看|