日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

SQL Server 數(shù)據(jù)庫恢復日志功能(2)_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:怎樣使用SQL2000將現(xiàn)有代碼作為Web服務提供
SQL Server 2000 的 XML 功能可以簡化將現(xiàn)有代碼作為 Web 服務提供的任務。本文集中討論了傳入和傳出 Transact SQL 代碼的數(shù)據(jù)與 XML 消息(在 Web 服務客戶機和服務器之間使用)之間的轉換。 評估現(xiàn)有代碼是否適合于作為 Web 服務提供時,本文討論的數(shù)據(jù)轉換

方法二

沒有效果的恢復步驟

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

_Rambo講過被刪除日志文件中不存在活動日志時,可以這么做來恢復:

1,分離被置疑的數(shù)據(jù)庫,可以使用sp_detach_db

2,附加數(shù)據(jù)庫,可以使用sp_attach_single_file_db

但是,很遺憾,執(zhí)行之后,SQL Server質疑數(shù)據(jù)文件和日志文件不符,所以無法附加數(shù)據(jù)庫數(shù)據(jù)文件。

DTS數(shù)據(jù)導出

不行,無法讀取XXX數(shù)據(jù)庫,DTS Wizard報告說“初始化上下文發(fā)生錯誤”。

緊急模式

怡紅公子講過沒有日志用于恢復時,可以這么做:

1,把數(shù)據(jù)庫設置為emergency mode

2,重新建立一個log文件

3,把SQL Server 重新啟動一下

4,把應用數(shù)據(jù)庫設置成單用戶模式

5,做DBCC CHECKDB

6,如果沒有什么大問題就可以把數(shù)據(jù)庫狀態(tài)改回去了,記得別忘了把系統(tǒng)表的修改選項關掉

我實踐了一下,把應用數(shù)據(jù)庫的數(shù)據(jù)文件移走,重新建立一個同名的數(shù)據(jù)庫XXX,然后停掉SQL服務,把原來的數(shù)據(jù)文件再覆蓋回來。之后,按照怡紅公子的步驟走。

但是,也很遺憾,除了第2步之外,其他步驟執(zhí)行非常成功。可惜,重啟SQL Server之后,這個應用數(shù)據(jù)庫仍然是置疑!

不過,讓我欣慰的是,這么做之后,倒是能夠Select數(shù)據(jù)了,讓我大出一口氣。只不過,組件使用數(shù)據(jù)庫時,報告說:“發(fā)生錯誤:-2147467259,未能在數(shù)據(jù)庫 'XXX' 中運行 BEGIN TRANSACTION,因為該數(shù)據(jù)庫處于回避恢復模式。”

最終成功恢復的全部步驟

設置數(shù)據(jù)庫為緊急模式

停掉SQL Server服務;

把應用數(shù)據(jù)庫的數(shù)據(jù)文件XXX_Data.mdf移走;

重新建立一個同名的數(shù)據(jù)庫XXX;

停掉SQL服務;

把原來的數(shù)據(jù)文件再覆蓋回來;

運行以下語句,把該數(shù)據(jù)庫設置為緊急模式;

運行“Use Master

Go

sp_configure 'allow updates', 1

reconfigure with override

Go”

執(zhí)行結果:

DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。

已將配置選項 'allow updates' 從 0 改為 1。請運行 RECONFIGURE 語句以安裝。

接著運行“update sysdatabases set status = 32768 where name = 'XXX'”

執(zhí)行結果:

(所影響的行數(shù)為 1 行)

重啟SQL Server服務;

運行以下語句,把應用數(shù)據(jù)庫設置為Single User模式;

運行“sp_dboption 'XXX', 'single user', 'true'”

執(zhí)行結果:

命令已成功完成。

ü 做DBCC CHECKDB;

運行“DBCC CHECKDB('XXX')”

執(zhí)行結果:

'XXX' 的 DBCC 結果。

'sysobjects' 的 DBCC 結果。

對象 'sysobjects' 有 273 行,這些行位于 5 頁中。

'sysindexes' 的 DBCC 結果。

對象 'sysindexes' 有 202 行,這些行位于 7 頁中。

'syscolumns' 的 DBCC 結果。

………

ü 運行以下語句把系統(tǒng)表的修改選項關掉;

運行“sp_resetstatus "XXX"

go

sp_configure 'allow updates', 0

reconfigure with override

Go”

執(zhí)行結果:

在 sysdatabases 中更新數(shù)據(jù)庫 'XXX' 的條目之前,模式 = 0,狀態(tài) = 28(狀態(tài) suspect_bit = 0),

沒有更新 sysdatabases 中的任何行,因為已正確地重置了模式和狀態(tài)。沒有錯誤,未進行任何更改。

DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。

已將配置選項 'allow updates' 從 1 改為 0。請運行 RECONFIGURE 語句以安裝。

重新建立另外一個數(shù)據(jù)庫XXX.Lost;

DTS導出向導

運行DTS導出向導;

復制源選擇EmergencyMode的數(shù)據(jù)庫XXX,導入到XXX.Lost;

選擇“在SQL Server數(shù)據(jù)庫之間復制對象和數(shù)據(jù)”,試了多次,好像不行,只是復制過來了所有表結構,但是沒有數(shù)據(jù),也沒有視圖和存儲過程,而且DTS向導最后報告復制失敗;

所以最后選擇“從源數(shù)據(jù)庫復制表和視圖”,但是后來發(fā)現(xiàn),這樣總是只能復制一部分表記錄;

于是選擇“用一條查詢指定要傳輸?shù)臄?shù)據(jù)”,缺哪個表記錄,就導哪個;

視圖和存儲過程是執(zhí)行SQL語句添加的。

維護Sql Server中表的索引

在使用和創(chuàng)建數(shù)據(jù)庫索引中經常會碰到一些問題,在這里可以采用一些另類的方法解決…

--第一步:查看是否需要維護,查看掃描密度/Scan Density是否為100%

declare @table_id int

set @table_id=object_id('表名')

dbcc showcontig(@table_id)

--第二步:重構表索引

dbcc dbreindex('表名',pk_索引名,100)

--重做第一步,如發(fā)現(xiàn)掃描密度/Scan Density還是小于100%則重構表的所有索引

--并不一定能達100%

dbcc dbreindex('表名','',100)

分享:詳解SQL Server中數(shù)據(jù)庫快照的工作原理
數(shù)據(jù)庫快照是怎樣工作的 可以使用典型的數(shù)據(jù)庫命令CREATE DATABASE語句來生成一個數(shù)據(jù)庫快照,在聲明中有一個源數(shù)據(jù)庫快照的附加說明。當快照被建立時,同時生成一個稀疏文件。這個文件(只能使用在NTFS卷中)在初始化的時候并沒有磁盤空間分配給它盡管你可能

共2頁上一頁12下一頁
來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時間:2009-03-04
相關Mssql數(shù)據(jù)庫教程