當前位置:首頁 » 編程語言 » sql事務日誌備份

sql事務日誌備份

發布時間: 2023-05-03 03:39:32

A. MSsql Server的事務日誌簡介一覽


(Transaction logs)是資料庫結構中非常重要但又經常被忽略的部分。由於它並不像資料庫中的schema那樣活躍,因此很少有人關注交易日誌。
交易日誌是針對資料庫改變所做的記錄,它可以記錄針對資料庫的任何操作,並將記錄結果保存在獨立的文件中。對於任何每一個交易過程,交易日誌都有非常全面的記錄,根據這些記錄可以將數據文件恢復成交易前的狀態。從交易動作開始,交易日誌就處於記錄狀態,交易過程中對資料庫的任何操作都在記錄范圍,直到用戶點擊埋茄提交或後退後才結束記錄。每個資料庫都擁有至少一個交易日誌以及一個數據文件。
出於性能上的考慮,SQL Server將用戶的改動存入緩存中,這些改變會立即寫入交易日誌,但不會立即寫入數據文件。交易日誌會通過一個標記點來確定某個交易是否已將緩存中的數據寫入數據文件。當SQL Server重啟後,它會查看日誌中最新的標記點,並將這個標記點後面的交易記錄抹去,因為這些交易記錄並沒有真正的將緩存中的數據寫入數據文件。這可以防止那些中斷的交易修改數據文件。
維護交易日誌
因為很多人經常遺忘交易日誌,因此它也會給系統帶來一些問題。隨著系統的不斷運行,日誌記錄的內容會越來越多,日誌文件的體積也會越來越大,最終導致可用磁碟空間不足。除非日常工作中經常對日誌進行清理,否則日誌文件最終會侵佔分區內的全部可用空間。日誌的默認配置為不限容量,如果以這種配置工作,它就會不斷膨脹,最終也會占據全部可用空間。這兩種情況都會導致資料庫停止工作。
對交易日誌的日常備份工作可以有效的防止日誌文件過分消耗磁碟空間。備份過程會將日誌中不再需要的部分截除。截除的方法是首先把舊記錄標記為非活動狀態,然後將新日誌覆蓋到舊日誌的位置上,這樣就可以防止交易日誌的體積不斷膨脹。如果無法對日誌進行經常性的備份工作,最好將資料庫設置為"簡單恢復模式"。在這種模式下,系統會強制交易日誌在每次記錄標記點時,自動進行截除操作,以新日誌覆蓋舊日誌。
截除過程發逗液碼山哪生在備份或將舊標記點標為非活動狀態時,它使得舊的交易記錄可以被覆蓋,但這並不會減少交易日誌實際佔用的磁碟空間。就算不再使用日誌,它依然會占據一定的空間。因此在維護時,還需要對交易日誌進行壓縮。壓縮交易日誌的方法是刪除非活動記錄,從而減少日誌文件所佔用的物理硬碟空間。
通過使用DBCC SHRINKDATABASE語句可以壓縮當前資料庫的交易日誌文件,DBCC SHRINKFILE語句用來壓縮指定的交易日誌文件,另外也可以在資料庫中激活自動壓縮操作。當壓縮日誌時,首先會將舊記錄標記為非活動狀態,然後將帶有非活動標記的記錄徹底刪除。根據所使用的壓縮方式的不同,你可能不會立即看到結果。在理想情況下,壓縮工作應該選在系統不是非常繁忙的時段進行,否則有可能影響資料庫性能。
恢復資料庫
交易記錄備份可以用來將資料庫恢復到某一指定狀態,但交易記錄備份本身不足以完成恢復資料庫的任務,還需要備份的數據文件參與恢復工作。恢復資料庫時,首先進行的是數據文件的恢復工作。在整個數據文件恢復完成前,不要將其設為完成狀態,否則交易日誌就不會被恢復。當數據文件恢復完成,系統會通過交易日誌的備份將資料庫恢復成用戶希望的狀態。如果在資料庫最後一次備份後,存在多個日誌文件的備份,備份程序會按照它們建立的時間依次將其恢復。
另一種被稱為log shipping的過程可以提供更強的資料庫備份能力。當log shipping配置好後,它可以將資料庫整個復制到另一台伺服器上。在這種情況下,交易日誌也會定期發送到備份伺服器上供恢復數據使用。這使得伺服器一直處於熱備份狀態,當數據發生改變時它也隨之更新。另一個伺服器被稱作監視(monitor)伺服器,可以用來監視按規定時間間隔發送的shipping信號。如果在規定時間內沒有收到信號,監視伺服器會將這一事件記錄到事件日誌。這種機制使得log shipping經常成為災難恢復計劃中使用的方案。
性能優化
交易日誌對資料庫有重要作用,同時它對系統的整體性能也有一定影響。通過幾個選項,我們可以對交易日誌的性能進行優化。由於交易日誌是一個連續的磁碟寫入過程,在這當中不會發生讀取動作。因此將日誌文件放在一個獨立的磁碟,對優化性能有一定作用。
另一項優化措施與日誌文件的體積有關。我們可以設置日誌文件的體積不超過硬碟空間的百分之幾,或者確定它的大小。如果將其設置的過大會浪費磁碟空間,而如果設置的過小則會強制記錄文件不斷嘗試擴展,導致資料庫性能下降。
事務日誌文件Transaction Log File是用來記錄資料庫更新情況的文件,擴展名為ldf。
在 SQL Server 7.0 和 SQL Server 2000 中,如果設置了自動增長功能,事務日誌文件將會自動擴展。
一般情況下,在能夠容納兩次事務日誌截斷之間發生的最大數量的事務時,事務日誌的大小是穩定的,事務日誌截斷由檢查點或者事務日誌備份觸發。
然而,在某些情況下,事務日誌可能會變得非常大,以致用盡空間或變滿。通常,在事務日誌文件占盡可用磁碟空間且不能再擴展時,您將收到如下錯誤消息:
Error:9002, Severity:17, State:2
The log file for database 』%.*ls』 is full.
除了出現此錯誤消息之外,SQL Server 還可能因為缺少事務日誌擴展空間而將資料庫標記為 SUSPECT。有關如何從此情形中恢復的其他信息,請參見 SQL Server 聯機幫助中的「磁碟空間不足」主題。
另外,事務日誌擴展可能導致下列情形:
· 非常大的事務日誌文件。
· 事務可能會失敗並可能開始回滾。
· 事務可能會用很長時間才能完成。
· 可能發生性能問題。
· 可能發生阻塞現象。
原因
事務日誌擴展可能由於以下原因或情形而發生:
· 未提交的事務
· 非常大的事務
· 操作:DBCC DBREINDEX 和 CREATE INDEX
· 在從事務日誌備份還原時
· 客戶端應用程序不處理所有結果
· 查詢在事務日誌完成擴展之前超時,您收到假的「Log Full」錯誤消息
· 未復制的事務

B. 請教sql server做過完整備份和日誌備份,還需要做差異備份嗎

1.差異備份是以上一個全備為基點,這個期間所有差異數據的備份。
2.日誌備份是基於前一個全備+日誌備份為基點,這個期間的事務日誌的備份。
3.在利用全備+日誌備份時,需要有序並逐個還原所有日誌備份。假設要還原周六的數據,則需要上周日的全備和周一到周六的所有日誌備份才可以。如果有每天的差異備份,則只需要周日的全備+周五的差異備份+周六的日誌備份即可。這樣還原起來方便快捷,節省時間成本。

C. SQLServer2008資料庫怎樣備份還原和數據恢復

在完整恢復模式或大容量日誌恢復模式下,必須先備份活動事務日誌(稱為日誌尾部),然後才能在SQLServerManagementStudio中還原資料庫。有關詳細信息,請參閱如何備份事務日誌(SQLServerManagementStudio)。若要還原已加密的資料庫,您必須有權訪問用於加密資料庫的證書或非對稱密鑰。如果沒有證書或非對稱密鑰,資料庫將無法還原。

認識資料庫備份和事務日誌備份

資料庫備份與日誌備份是資料庫維護的日常工作,備份的目的是在於當資料庫出現故障或者遭到破壞時可以根據備份的資料庫及事務日誌文件還原到最近的時間點將損失降到最低點。

資料庫備份

資料庫備份可以手動備份和語句備份

一.手動備份資料庫

1.滑鼠右鍵選擇你要進行備份的資料庫-任務-備份

可以在常規選項頁面你可以選擇備份類型是進行完整資料庫備份還是差異資料庫備份

2.點擊添加選項,選擇資料庫文件的存放路徑

注意文件名記得加後綴.bak,便於恢復時的查找

3.你還可以在選項頁面是追加到現有的備份集,還是覆蓋所有的現有備份集,還可以選擇備份驗證完整性(建議選擇),還可以選擇是否壓縮備份等。

二.語句備份資料庫

use master goBACKUP DATABASE [test] TO DISK = N'D:Microsoft sql serverMSSQL10.MSSQLSERVERMSSQLBackup est.bak' WITH NOFORMAT, NOINIT, NAME = N'test-完整 資料庫 備份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO

資料庫日誌備份

首先需要注意,資料庫日誌的備份是基於資料庫完整備份,也就是說你備份資料庫日誌之前你首先要先對資料庫進行一次完整的備份,因為之間會涉及到堅持到檢查點 lsn, 這也是本文接下來要講的重點。

一.手動備份資料庫日誌

1.右鍵資料庫-任務-備份-選擇備份類型(事務日誌)

2.點添加,添加日誌文件備份存儲路徑

3.同資料庫完整備份一樣,你也可以選擇覆蓋現有備份集或者追加到現有備份集,這里現在覆蓋現有備份集、驗證完整性,然後確認備份

二.語句備份資料庫事務日誌

BACKUP LOG [test] TO DISK = N'D: est.trn' WITH NOFORMAT, INIT, NAME = N'test-事務日誌 備份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO

資料庫還原

右鍵資料庫-還原資料庫-添加需要進行還原的資料庫文件路徑

在還原源選項中你可以選擇『源資料庫』,『源設備』。1.選擇源資料庫工具會自動顯示該資料庫之前的一些備份,然後直接選擇需要還原的資料庫備份集。

2.選擇源設備點擊後面的...,添加需要還原的資料庫文件

2.點擊確認還原資料庫

資料庫恢復

資料庫恢復的前提是1.一個完整的資料庫備份2.包含這個完整資料庫備份的事務日誌備份3.完整備份之間也可以存在數個差異備份

對於資料庫維護空間始終是一個比較頭疼的問題,特別是對於大型資料庫而言,每天的日誌文件增長是龐大的,很多資料庫管理員會定時對資料庫日誌文件進行收縮,但是經常收縮會存在收縮完日誌文件還是不能減少,這是因為存在很多活動的日誌無法收縮可以用

DBCC LOGINFO('資料庫名稱')

我們看到
status=0的日誌,代表已經備份到磁碟的日誌文件;而
status=2的日誌還沒有備份。當我們收縮日誌文件時,收縮掉的空
間其實就是
status=0的空間,如果日誌物理文件無法減小,這里一
定能看到非常多status=2的記錄

解決辦法:1.可以分離要收縮的資料庫,然後手動刪除日誌文件,然後附加資料庫,資料庫就會產生一個很小的日誌文件(不推薦使用這種方法)

2.右鍵要出來的資料庫選擇「屬性」-"選項",將恢復模式改成"簡單",然後利用收縮工具可以講日誌文件收縮到很小,收縮完記得講恢復模式改成"完整"

也可以用語句進行處理(dbname是你要進行收縮的資料庫名,dbname_log是你要進行收縮的資料庫的邏輯日誌名稱)

USE [master]
GO ALTER DATABASE [dbname] SET recovery SIMPLE WITH NO_WAIT GO
ALTER DATABASE [dbname] SET RECOVERY SIMPLE --簡單模式
GO
USE [dbname]
GO
DBCC SHRINKFILE (N'dbname_log' , 11, TRUNCATEONLY) GO
USE [master]
GO
ALTER DATABASE [dbname] SET RECOVERY FULL WITH NO_WAIT ALTER DATABASE [dbname] SET RECOVERY FULL

對於第一種方法不贊同使用,首先對於資料庫的分離與附加有時候會破壞資料庫,造成資料庫無法還原,還有就是對於在線資料庫也不允許進行分離操作。

對於第二種方法是slq2008收縮日誌文件的一種方法,但是此方法也不能使用過於頻繁,因為進行資料庫恢復模式的更改會截斷事務日誌文件,這樣的話當時利用事務日誌文件進行恢復的時候檢查點不能包含資料庫文件,而且當你要對事務日誌進行備份的時候會重新提示你需要對資料庫進行完整備份。

舉個例子:比如你昨天晚上進行了一次完整備份,然後同時你也進行了一次日誌備份(提前日誌未被截斷),然後你每個小時進行過一次差異備份,最近的差異備份時間點是14點,如果此時資料庫錯誤修改了數據,你可以立馬備份一個日誌文件將資料庫恢復到日誌備份開始到日誌備份終點前的任意時間點 。

如果此時你進行了修改資料庫模式,截斷日誌進行了收縮,那麼你的數據只能恢復到昨天晚上備份的那個日誌備份時間前的任意時間點,也就是今天所做的資料庫更改無法再恢復了,因為日誌文件已經被截斷了,不知道這樣解釋是否明白

因為日誌文件的檢查點(lsn)是連續的,每一次日誌備份都是在上一次備份的基礎上lsn往後增加的,lsn的范圍也包括了資料庫文件的lsn,也只有日誌文件的lsn包括了資料庫文件的lsn,才能將資料庫文件進行回滾。

上圖中總共有三個備份文件,一個完整備份、一個差異備份、一個日誌備份,大家可以注意觀察完整備份的第一個lsn與最後一個lsn,和檢查點

第二個差異備份文件的的第一個lsn與最後一個lsn,和檢查點,最後的日誌備份的第一個lsn和最後一個lsn包含了前面兩個備份文件的lsn,這種情況資料庫就可以恢復到日誌文件備份前的任意時間點,如果日誌文件沒有包含資料庫文件的最後一個lsn也就無法恢復了。

D. sql server需要做日誌備份嗎

請按步驟進行,未進行前面的步驟,請不要做後面的步驟
否則可能損壞你的資料庫.

一般不建議做第4,6兩步
第4步不安全,有可能損壞資料庫或丟失數據
第6步如果日誌達到上限,則以後虛源的資料庫處理會失敗,在清理日誌後才能恢復.
--*/

--下面的所有庫名都指你要處理的資料庫的庫名

1.清空日誌
DUMP TRANSACTION 庫好慶名 WITH NO_LOG

2.截斷事務日誌:
BACKUP LOG 庫名 WITH NO_LOG

3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小
企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件
--選擇日誌文件--在收縮方式里選擇收縮至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

或用代碼:
下面的示例分離 pubs,然後將 pubs 中的一個文件附加到當前伺服器。

a.分離
EXEC sp_detach_db @dbname = '庫名'

b.刪除日誌文件

c.再附加
EXEC sp_attach_single_file_db @dbname = '庫名',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\庫名.mdf'

5.為了以後能自動收縮,做如下設置:
企業管理器--伺服器--右鍵資料庫--屬性--選項--選擇"自動收縮"

--SQL語句設置方式:
EXEC sp_dboption '庫名', 'autoshrink', 'TRUE'

6.如果想以後不讓它日誌增長得太大
企業管理器--伺服器--右鍵資料庫--屬性--事務日誌
--將文件增長限制為xM(x是你允許的最大數據文件大小)

--SQL語句的設置方式:
alter database 庫名 modify file(name=邏輯文件名,maxsize=20)

E. 如何還原事務日誌備份 (SQL Server Management Studio)

備份必須按照其創建順序進行還原。在還原特定的事務日誌備份之前,必須先還原下列以前備份,而不回滾未提交的事務,即 WITH NORECOVERY:在特定事務日誌備份之前執行的完整資料庫備份和上次差異備份(如果有)。在完整資料庫備份之後執行的所有事務日誌備份或在特定事務日誌備份之前執行的差異備份(如果您還原了差異備份)。注意使用以下「恢復狀態」選項還原以前的備份: 不對資料庫執行任何操作,不回滾未提交的事務。可以還原其他事務日誌。(RESTORE WITH NORECOVERY)有關使用事務日誌備份的信息,請參閱使用事務日誌備份。還原事務日誌備份連接到相應的 Microsoft�0�2SQL Server 資料庫引擎實例之後,在對象資源管理器中,單擊伺服器名稱以展開伺服器樹。展開「資料庫」,然後根據資料庫的不同,選擇用戶資料庫,或展開「系統資料庫」,再選擇系統資料庫。右鍵單擊資料庫,指向「任務」,再單擊「還原」。 單擊「事務日誌」,這將打開「還原事務日誌」對話框。在「常規」頁上的「資料庫」列表框衡游中,選擇或鍵入資料庫名稱。僅列出處於還原狀態的資料庫。 若要指定要還原的備份集的源和位置,請單擊以下選項之一: 從資料庫以前的備份選擇要還原其日誌備份啟納的資料庫的名稱。從文件或磁帶單擊「瀏覽」按鈕以選擇一個或多個文件或磁帶作為事務日誌備份的來源。選擇文件或磁帶,將打開「指定備份」對話框。在「備份媒體」列表框中,從列出的設備類型選擇一種。若要為「備份位置」列表框選擇一個或多個設備,請單擊「添加」。將所需設備添加到列表框之後,單擊「確定」返回到「常規」頁。 在「選擇用於還原的備份集」網格中,選擇用於還原的備份。此網格列出了選定資料庫可以使用的事務日誌備份。只有在日誌備份的「第一個 LSN」大於資料庫的「最後一個 LSN」時,此日誌備份才可用。日誌備份按照它們所包含的日誌序列號 (LSN) 的順序排列,並且也必須按照這種順序恢復。下表列出了網格的列標題並對列值進行了說明。標題值還原如果復選框處於選中狀態,則指示要還原相應的備份集。備份集名稱備份集的名稱。備份組件已備份的組件:「資料庫」、「文件」或<空白>(表示事務日誌)。備份類型執行的備份類型:「完整」、「差異」或「事務日誌」。伺服器名稱執行備份操作的資料庫引擎實例的名稱。資料庫備份操作中所涉及的資料庫名稱。位置備份集在卷中的位置。第一個 LSN備份集中第一個事務的日誌序列號。對於文件備份為空。最後一個 LSN備份集中最後一個事務的日誌序列號。對於文件備份為空。檢查點 LSN創建備份時最近一個檢查點的日誌序列號。完整LSN 最近的完整資料庫備份的日誌序列號。開始日期備份操作開始的日期和時間(按客戶端的區域設置顯示)。完成日期備份操作完成的日期和時間(按客戶端的區域設置顯示)。大小備份集的大小(位元組)。用戶名執行備份操作的用戶的名稱。過期備份集的過期日期和時間。選擇下列操作之一: 時間點保留默認值(「最近狀態」);或者通過單擊「瀏覽」按鈕,打開「時點還原」對話框,從中選擇特定的日期和時間。 標記的事務將資料庫還原為以前標記的事務。選擇此選項會啟動「選擇標記的事務」對話框,從而顯示一個網格,列出選定事務日誌備份中可以使用的標記的事務。默認情況下,將一直還原到(但不包含)標記的事務為止。若要同時還原標記的事務,請選擇「包含標記的事務」。下表列出了網格的列標題並對列值進行了說明。 標題值<空>顯示一個用於選擇標記的復選框。事務標記提交事務時,用戶為標記的事務指定的名稱。日期事務的提交日期及時間。事務日期和時間顯示為 msdbgmarkhistory 表中所記錄的日期和時間,而非客戶端計算機的日期和時間。說明提交事務時,用戶為標記的事務指定的說明(如果有的話)。LSN所標記事務的日誌序列號。資料庫提交標記的事務時所在資料庫的名稱。用戶名提交標記事務的資料庫用戶的名稱。若要查看或選擇高級選項,請在「選擇頁」窗格中單擊「選項」。 對於「還原到」選項,可選項有:保留復制設置將已發布的資料庫還原到創建該資料庫的伺服器之外的伺服器時,保留復制設置。此選項只能與「悄攔沒回滾未提交的事務,使資料庫處於可以使用的狀態...」選項(等效於使用 RECOVERY 選項還原備份,將在後面予以介紹)一起使用。選中此選項等效於在 Transact-SQL RESTORE 語句中使用 KEEP_REPLICATION 選項。還原每個備份之前進行提示如果選中此選項,則在第一個備份集之後還原每個備份集之前,將顯示「繼續還原」對話框,詢問您是否要繼續按此順序還原。此對話框顯示下一個媒體集(如果可用)的名稱、備份集的名稱以及備份集的說明。如果對於不同媒體集必須更換磁帶,則此選項特別有用。例如,如果伺服器只有一個磁帶設備,則可以使用此選項。待您做好繼續操作的准備後,再單擊「確定」。單擊「否」將使資料庫保持還原狀態。完成上次還原之後,您可以在方便時繼續按順序還原。如果下一個備份是數據備份或差異備份,請再次使用「還原資料庫」任務。如果下一個備份是日誌備份,請使用「還原事務日誌」任務。限制訪問還原的資料庫使還原的資料庫僅供 db_owner、dbcreator 或sysadmin 的成員使用。選中此選項等效於在 Transact-SQL RESTORE 語句中使用 RESTRICTED_USER 選項。對於「恢復狀態」選項,請指定還原操作之後的資料庫狀態。 回滾未提交的事務,使資料庫處於可以使用的狀態。無法還原其他事務日誌。(RESTORE WITH RECOVERY)恢復資料庫。此選項等效於 Transact-SQL RESTORE 語句中的 RECOVERY 選項。請僅在沒有要還原的日誌文件時選擇此選項。 不對資料庫執行任何操作,不回滾未提交的事務。可以還原其他事務日誌。(RESTORE WITH NORECOVERY)使資料庫處於未恢復狀態。此選項等效於在 Transact-SQL RESTORE 語句中使用 NORECOVERY 選項。如果選擇此選項,「保留復制設置」選項將不可用。 使資料庫處於只讀模式。撤消未提交的事務,但將撤消操作保存在文件中,以便可使恢復效果逆轉。(RESTORE WITH STANDBY)使資料庫處於備用狀態。此選項等效於在 Transact-SQL RESTORE 語句中使用 STANDBY 選項。選擇此選項需要您指定一個備用文件。(可選操作)在「備用文件」文本框中指定一個備用文件名。如果您使資料庫處於只讀模式,則必須選中此選項。您可以瀏覽到該備用文件,也可以在文本框中鍵入其路徑名。

F. SQL Server 2008有幾種備份方式

SQL Server 2008提供了四種備份方式分別是:完整備份、差異備份、事務日誌備份、文件和文件組備份。
◆ 完整備份:備份整個資料庫的所有內容,包括事務日誌。該備份類型需要比較大的存儲空間來存儲備份文件,備份時間也比較長,在還原數據時,也只要還原一個備份文件。

◆ 差異備份:差異備份是完整備份的補充,只備份上次完整備份後更改的早明數據。相對於完整備份分來說,差異備份的數據量比完整數據備份小,備份的速度也比完整備份要快。因此,差異備份通常作為常用的備份方式。在還原數據時,要先還原前一次做的完整備份,然後還原最後一次所做的差異備份,這樣才能讓資料庫里的數據恢復到與最後一次差異備份時的內容相同。
◆ 事務日誌備份:事務日誌備份只備份事務日誌里的內容。事務日誌記錄了上一次完整備份或事務日誌備份後資料庫的所有變動過程。事務日誌記錄的是某一段時間內的資料庫變動情況,因此在進行事務日誌備份之前,必須要進行完整備份。與差異備份類似,事務日誌備份生成的文件較小、佔用時間較短,但是在還原數拍睜扒據時,除了先要還原完整備份之外,還要依次還原每個事務日誌備份,而不是只還原最後一個事務日誌備份(這是與差異備份的區別)。
◆ 文件和文件組備份。如果在創建資料庫時,為資料庫創建了多個資料庫文件或文件組,可以使用該備份方式。使用文件和文件組備份方式可以只備份資料庫中的某些文件,該備份方式在資料庫文件非常龐大時十分有效,由於每次只襲昌備份一個或幾個文件或文件組,可以分多次來備份資料庫,避免大型資料庫備份的時間過長。另外,由於文件和文件組備份只備份其中一個或多個數據文件,當資料庫里的某個或某些文件損壞時,可能只還原損壞的文件或文件組備份。

G. sql server2000 如何備份資料庫的事務日誌

在要備份的資料庫名稱上點右鍵,選所有任務,然後點擊資料庫備份就搞定了,若還想將備份原件移到別的存儲區,先將滑凱服務管理器點擊停止運行,然後進哪頃c=>program files=>sql server=>李讓陸mssql=>data=>選中資料庫的主文件和日誌文件復制粘貼即可!

H. sql server 2008 日誌怎麼備份

在SQL Server 7.0和SQL Server2000中,可以用下面的命令查看: DBCC log ( {dbiddbname}, [, type={01234}] ) 參數: Dbid or dbname - 任一資料庫的ID或名字 type - 輸出結果的類型: 0 - 最少信息(operation, context, transaction id) 1 - 更多信息(plus flags, tags, row length) 2 - 非常詳細的信息(plus object name, index name,page id, slot id) 3 - 每種操作的全部信息 4 - 每種操作的全部信息加上該事務的16進制信息 默認 type = 0 要查看MSATER資料庫的事務日誌可以用以下命令: DBCC log (master) 釋放日誌空間 1.清空日誌 DUMP TRANSACTION 庫名 WITH NO_LOG 2.截斷事務日誌: BACKUP LOG 資料庫名 WITH NO_LOG 3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小 企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件 --選擇日誌文件--在收縮方式里選擇收縮至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 或用代碼: 下面的示例分離 pubs,然後將 pubs 中的一個文件附加到當前伺服器。 a.分離 E X E C sp_detach_db @dbname = 'pubs' b.刪除日誌文件 c.再附加 E X E C sp_attach_single_file_db @dbname = 'pubs', @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf' 5.為了以後能自動收縮,做如下設置: 企業管理器--伺服器--右鍵資料庫--屬性--選項--選擇"自動收縮" --SQL語句設置方式: E X E C sp_dboption '資料庫名', 'autoshrink', 'TRUE' 6.如果想以後不讓它日誌增長得太大 企業管理器--伺服器--右鍵資料庫--屬性--事務日誌 --將文件增長限制為xM(x是你允許的最大數據文件大小) --SQL語句的設置方式: alter database 資料庫名 modify file(name=邏輯文件名,maxsize=20) 特別注意: 請按步驟進行,未進行前面的步驟,請不要做後面的步驟 否則可能損壞資料庫. 一般不建議做第4,6兩步 第4步不安全,有可能損壞資料庫或丟失數據 第6步如果日誌達到上限,則以後的資料庫處理會失敗,在清理日誌後才能恢復. 另外提供一種更簡單的方法,建議大家使用。 更簡單的方法: 1。右建資料庫屬性窗口--故障還原模型--設為簡單 2。右螞指賣建資料庫所有任務--收縮資料庫 3。右建資料庫屬性窗悶逗口--故障還原模型--設為逗謹大容量日誌記錄

I. SQL資料庫如何還原(sql資料庫如何還原備份文件)

把資料庫的備份文件放到伺服器的任意目錄下先,然旁芹後按下面的步驟做。

如何從備份設備還原備份(企業管理器)

從備份設備還原備份

展開伺服器組,然後展開伺服器。

展開"資料庫"文件夾,右擊資料庫,指向"所有任務"子菜單,然後單擊"還原資料庫"命令。

在"還原為資料庫"框中,如果要還原的資料庫名稱與顯示的默認資料庫名稱不同,請在其中進行輸入或選擇。若要用新名稱還原資料庫,請輸入新的資料庫名稱。

說明為資料庫指定新名稱將自動為從資料庫備份中還原的資料庫文件指定新名沒啟物稱。

單擊"從設備",然後單擊"選擇設備"。

在"還原自"下,單擊"磁帶"或"磁碟",然後選擇還原設備。

如果沒有出現設備,則單擊"添加"以添加現有的備份設備或創建新的備份設備。在"還原數枯液據庫"對話框內,單擊"查看內容"並選擇要還原的備份集。

說明此選項將掃描備份集以獲得備份內容信息,該操作可能需要花費較長時間,特別是在使用磁帶設備時。如果已經知道要還原的備份集,則在"備份號"中輸入備份集編號。

在"還原備份集"下執行下列操作之一:

單擊"資料庫—完全"還原資料庫備份。

單擊"資料庫—差異"還原差異資料庫備份。

單擊"事務日誌"應用事務日誌備份。

單擊"文件或文件組"還原文件或文件組備份。指定文件或文件組的名稱。

單擊"選項"選項卡,然後執行下列操作之一:(可選)

單擊"使資料庫可以繼續運行,但無法還原其它事務日誌",如果沒有其它要應用的事務日誌備份。

單擊"使資料庫不再運行,但能還原其它事務日誌",如果要應用其它事務日誌備份。

J. 如何使用SQL Server 2005的事務日誌傳送功能備份資料庫

1、創建一個新的資料庫,命名為原來資料庫的名字. 2、停止SQL Server 3、把老資料庫的MDF 文件替換新資料庫的相應的MDF 文件, 並把LDF 文件刪除 4、重新啟動SQL Server 服務,然後運行如下命令: Use Master Go sp_configure 'allow updates', 1 reconfigure with override Go begin tran update sysdatabases set status = 32768 where name = 'db_name' -- Verify one row is updated before committing commit tran 5、停止SQL 然後重新啟動SQL Server 服務,然後運培茄行如下命令: DBCC TRACEON (3604) 幫助顧客成功 - 7 - sql 修復 DBCC REBUILD_LOG('db_name','c:\mssql7\data\dbxxx_3.LDF') Go 6、耐中晌停止SQL 然後重新啟動SQL Server 服務,然昌鋒後運行: use master update sysdatabases set status = 8 where name = 'db_name' Go sp_configure 'allow updates', 0 reconfigure with override Go 7、運行dbcc checkdb(db_name)檢查資料庫的完整性.
另外,虛機團上產品團購,超級便宜

熱點內容
cl加密狗 發布:2024-11-01 10:28:52 瀏覽:610
php建網站 發布:2024-11-01 10:07:37 瀏覽:566
利用舊電腦搭建自己的私有雲伺服器 發布:2024-11-01 10:07:24 瀏覽:608
dl388p伺服器怎麼換硬碟 發布:2024-11-01 10:02:12 瀏覽:254
雲伺服器可以打游戲嘛 發布:2024-11-01 09:49:49 瀏覽:582
編程聚會 發布:2024-11-01 09:38:51 瀏覽:898
7z壓縮密碼 發布:2024-11-01 09:38:50 瀏覽:660
sql字元串去掉空格 發布:2024-11-01 09:27:27 瀏覽:17
c語言學生通訊錄 發布:2024-11-01 09:26:22 瀏覽:286
門線告警演算法 發布:2024-11-01 09:24:58 瀏覽:522