自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

維護SQL Server交易日志的經(jīng)驗匯總

數(shù)據(jù)庫 SQL Server
下面的文章主要介紹的是正確維護SQL Server交易日志的經(jīng)驗匯總,我前兩天在相關(guān)網(wǎng)站看見的資料,覺得挺好,就拿出來供大家分享。

我們今天是要和大家一起討論的是正確維護SQL Server交易日志的經(jīng)驗匯總,我們大家都知道SQL Server交易日志(Transaction logs)是數(shù)據(jù)庫結(jié)構(gòu)中地位不可或缺的,但又經(jīng)常被忽略的部分。

由于它并不像數(shù)據(jù)庫中的schema那樣活躍,因此很少有人關(guān)注交易日志。交易日志是針對數(shù)據(jù)庫改變所做的記錄,它可以記錄針對數(shù)據(jù)庫的任何操作,并將記錄結(jié)果保存在獨立的文件中。對于任何每一個交易過程,交易日志都有非常全面的記錄,根據(jù)這些記錄可以將數(shù)據(jù)文件恢復(fù)成交易前的狀態(tài)。

從交易動作開始,SQL Server交易日志就處于記錄狀態(tài),交易過程中對數(shù)據(jù)庫的任何操作都在記錄范圍,直到用戶點擊提交或后退后才結(jié)束記錄。每個數(shù)據(jù)庫都擁有至少一個交易日志以及一個數(shù)據(jù)文件。

出于性能上的考慮,SQL Server將用戶的改動存入緩存中,這些改變會立即寫入交易日志,但不會立即寫入數(shù)據(jù)文件。交易日志會通過一個標(biāo)記點來確定某個交易是否已將緩存中的數(shù)據(jù)寫入數(shù)據(jù)文件。當(dāng)SQL Server重啟后,它會查看日志中***的標(biāo)記點,并將這個標(biāo)記點后面的交易記錄抹去,因為這些交易記錄并沒有真正的將緩存中的數(shù)據(jù)寫入數(shù)據(jù)文件。這可以防止那些中斷的交易修改數(shù)據(jù)文件。

維護交易日志

因為很多人經(jīng)常遺忘交易日志,因此它也會給系統(tǒng)帶來一些問題。隨著系統(tǒng)的不斷運行,日志記錄的內(nèi)容會越來越多,日志文件的體積也會越來越大,最終導(dǎo)致可用磁盤空間不足。除非日常工作中經(jīng)常對日志進行清理,否則日志文件最終會侵占分區(qū)內(nèi)的全部可用空間。

日志的默認(rèn)配置為不限容量,如果以這種配置工作,它就會不斷膨脹,最終也會占據(jù)全部可用空間。這兩種情況都會導(dǎo)致數(shù)據(jù)庫停止工作。

對交易日志的日常備份工作可以有效的防止日志文件過分消耗磁盤空間。備份過程會將日志中不再需要的部分截除。截除的方法是首先把舊記錄標(biāo)記為非活動狀態(tài),然后將新日志覆蓋到舊日志的位置上,這樣就可以防止SQL Server交易日志的體積不斷膨脹。

如果無法對日志進行經(jīng)常性的備份工作,***將數(shù)據(jù)庫設(shè)置為"簡單恢復(fù)模式"。在這種模式下,系統(tǒng)會強制交易日志在每次記錄標(biāo)記點時,自動進行截除操作,以新日志覆蓋舊日志。

截除過程發(fā)生在備份或?qū)⑴f標(biāo)記點標(biāo)為非活動狀態(tài)時,它使得舊的交易記錄可以被覆蓋,但這并不會減少交易日志實際占用的磁盤空間。就算不再使用日志,它依然會占據(jù)一定的空間。因此在維護時,還需要對交易日志進行壓縮。壓縮交易日志的方法是刪除非活動記錄,從而減少日志文件所占用的物理硬盤空間。

通過使用DBCC SHRINKDATABASE語句可以壓縮當(dāng)前數(shù)據(jù)庫的交易日志文件,DBCC SHRINKFILE語句用來壓縮指定的交易日志文件,另外也可以在數(shù)據(jù)庫中激活自動壓縮操作。當(dāng)壓縮日志時,首先會將舊記錄標(biāo)記為非活動狀態(tài),然后將帶有非活動標(biāo)記的記錄徹底刪除。根據(jù)所使用的壓縮方式的不同,你可能不會立即看到結(jié)果。在理想情況下,壓縮工作應(yīng)該選在系統(tǒng)不是非常繁忙的時段進行,否則有可能影響數(shù)據(jù)庫性能。

恢復(fù)數(shù)據(jù)庫

交易記錄備份可以用來將數(shù)據(jù)庫恢復(fù)到某一指定狀態(tài),但交易記錄備份本身不足以完成恢復(fù)數(shù)據(jù)庫的任務(wù),還需要備份的數(shù)據(jù)文件參與恢復(fù)工作?;謴?fù)數(shù)據(jù)庫時,首先進行的是數(shù)據(jù)文件的恢復(fù)工作。在整個數(shù)據(jù)文件恢復(fù)完成前,不要將其設(shè)為完成狀態(tài),否則SQL Server交易日志就不會被恢復(fù)。

當(dāng)數(shù)據(jù)文件恢復(fù)完成,系統(tǒng)會通過交易日志的備份將數(shù)據(jù)庫恢復(fù)成用戶希望的狀態(tài)。如果在數(shù)據(jù)庫***一次備份后,存在多個日志文件的備份,備份程序會按照它們建立的時間依次將其恢復(fù)。

另一種被稱為log shipping的過程可以提供更強的數(shù)據(jù)庫備份能力。當(dāng)log shipping配置好后,它可以將數(shù)據(jù)庫整個復(fù)制到另一臺服務(wù)器上。在這種情況下,SQL Server交易日志也會定期發(fā)送到備份服務(wù)器上供恢復(fù)數(shù)據(jù)使用。這使得服務(wù)器一直處于熱備份狀態(tài),當(dāng)數(shù)據(jù)發(fā)生改變時它也隨之更新。

另一個服務(wù)器被稱作監(jiān)視(monitor)服務(wù)器,可以用來監(jiān)視按規(guī)定時間間隔發(fā)送的shipping信號。如果在規(guī)定時間內(nèi)沒有收到信號,監(jiān)視服務(wù)器會將這一事件記錄到事件日志。這種機制使得log shipping經(jīng)常成

【編輯推薦】

  1. SQL Server分布式分區(qū)視圖簡介
  2. 正確識別SQL Server 版本號的操作方案
  3. 正確構(gòu)建SQL Server數(shù)據(jù)庫的可管理安全機制
  4. SQL Server子查詢的作用是什么?
  5. SQL Server業(yè)務(wù)規(guī)則的鏈接技術(shù)之探討

     

     
責(zé)任編輯:佚名 來源: 賽迪網(wǎng)
相關(guān)推薦

2011-07-22 18:19:37

SQL Server數(shù)交易日志

2010-09-13 14:12:21

SQL Server日

2015-03-10 11:30:00

MySQL日志維護

2010-07-21 13:17:47

SQL Server表

2024-06-18 08:07:50

存儲架構(gòu)設(shè)計

2012-04-06 10:13:08

SQLSQL Server

2010-07-12 09:35:02

Sql server

2010-06-18 09:46:27

SQL Server

2010-11-26 14:17:11

SQL

2010-07-07 16:46:52

SQL Server日

2010-07-02 10:42:11

SQL Server

2010-11-10 11:54:32

SQL SERVER刪

2010-07-19 11:17:28

SQL Server

2009-08-10 16:25:30

JSP SQL Ser

2010-07-01 12:56:07

SQL Server表

2010-07-09 11:28:12

SQL Server數(shù)

2010-07-15 13:54:47

2010-09-06 09:36:51

SQL語句

2011-03-28 09:40:41

2010-07-08 13:13:14

清除SQL Serve
點贊
收藏

51CTO技術(shù)棧公眾號