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

日志真沒想象的那么簡單

原創
數據庫 SQL Server 數據庫運維
凡是接觸過SQL Server的人現在應該都知道,事務日志(transaction log)是任何SQL Server數據庫的一個重要組成部分。談論日志是我個人偏愛的話題之一,單單介紹日志方面通常存在的一些誤解會是長篇大論,豈止這篇短文涵蓋得了。

【51CTO精選譯文】凡是接觸過SQL Server的人現在應該都知道,事務日志(transaction log)是任何SQL Server數據庫的一個重要組成部分。談論日志是我個人偏愛的話題之一,單單介紹日志方面通常存在的一些誤解會是長篇大論,豈止這篇短文涵蓋得了。

在過去的兩年里,我曾在無數次大會上作過名為《簡單恢復到底有多簡單?》的報告,今年5月在加拿大蒙特利爾舉行的DevTeach / SQLTeach大會上我還會做同樣的報告。雖然我無法在此介紹所有詳細內容,也無法介紹日志的組織、日志為何會擴大或縮小,以及截斷日志到底是什么意思,但可以基本回答“簡單恢復到底有多簡單”這個問題。簡單恢復的簡單之處在于你的備份策略。你沒必要為每隔多久進行日志備份而操心,因為無法進行日志備份。

簡單恢復并不意味著SQL Server不用日志功能了。這是個非常普遍的誤解,也是個普遍的要求——許多用戶想要以某種方法來運行SQL Server,又不用負擔日志開銷,因而想知道允許這么做的特殊而秘密的跟蹤標志(trace flag)。實際上,沒有所謂的不生成日志的操作,即無日志操作,盡管人們可能需要這樣子。SQL Server至少需要把關于你操作的足夠多的信息記入日志,以便正常運行過程中系統突然出現故障的話,可以撤消(或回滾)一切。

雖然SQL Server沒有執行無日志操作的可能性,不過倒是有最小日志(minimal logging)這樣的操作。不過我發現,最小日志中到底哪些信息被記入日志并沒有得到一個很明確的定義。SQL Server聯機叢書(BOL)描述了一組最小日志操作,表示“最小日志記錄的僅僅是在不支持及時點恢復的情況下,恢復事務所需要的信息。”這個定義意味著最小日志必須記錄足夠多的信息,以便恢復或前滾事務,即使每一單獨的數據行變更并沒有按時間順序記入日志。然而,其他定義表明最小日志只夠回滾事務。

簡單恢復是三種恢復模式之一,而這三種模式之間的差異恰恰決定了如何管理日志。如果你在BOL中讀到關于恢復模式的部分,它不但列出了可以最小日志的一系列操作,還寫到那些操作只是在大批量日志(BULK_LOGGED)和簡單(SIMPLE)恢復模式下才是最小日志的;而在完全(FULL)恢復模式下,操作都是完全日志的。但我找不到哪里有完整的定義表明“完全日志”是什么意思。我過去以為完全日志意味著,每一個單獨的行都寫入到日志中,就好像你執行了一組單獨的插入(INSERT)、更新(UPDATE)或刪除(DELETE)操作。但對某些操作來說,事實并非如此。

當一個可以最小日志的操作在完全恢復模式下在數據庫里面執行時,寫入到事務日志的并不是每一個單獨的行,而是操作期間被修改的每一頁。所以,如果你在完全恢復模式下在數據庫里面執行大批量插入(BULK INSERT)操作時,由于每一頁塞滿了新的行,該頁寫入到日志中,而這條日志記錄的大小將是8192個字節大小(與SQL Server的頁大小相同)。如果你在完全恢復模式下在數據庫里面構建或重構索引,SQL Server并不會把生成的每一個單獨的索引行記入到日志。而是一旦整個索引頁生成,就把它們記入到日志。 

從空間和時間方面來看,把整個頁記入日志其實要比把每一個單獨的行記入日志高效得多。但只針對被認為是最小日志操作的那些操作才這么做。所以,我認為那些操作進行完全日志與單獨的數據修改操作進行完全日志不是一個概念。

所以,有一組操作我們可以稱之為最小日志操作。點擊這里:http://msdn.microsoft.com/en-us/library/ms191244(v=SQL.100).aspx,可以參閱這些操作的完整列表。這些操作之所以很特別,就在于它們在每一種恢復模式下日志方式各不相同。在完全恢復模式下,每一個完整的被修改頁寫入到日志;在大批量日志恢復模式和簡單恢復模式下,SQL Server只是把關于被修改頁的信息記入日志,而不是將頁里面的內容本身記入日志。其他操作是真正的完全日志——不管你在哪種恢復模式下,它們含有每一個變更行的全部詳細信息,包括含有操作的事務、操作執行時間以及受到影響的頁。

恢復模式是為SQL Server 2000產品添加的一項很棒的特性,但任何一種恢復模式根本就不簡單。你對于SQL Server如何管理事務日志了解得越深入,就能做出越明智的決定,確定哪一種恢復模式適合自己。 

原文鏈接:http://www.sqlmag.com/article/log-files3/How-Simple-Is-Logging-.aspx
 

【編輯推薦】

  1. 淺談SQL Server2005的幾種分頁方法
  2. 用SQL查詢日 月 周 季
  3. SQL Server 2008中的代碼安全
  4. SQL問題與解答:維護日志和索引
  5. SQL Server刪除日志文件后無法附加數據庫的解決方法
責任編輯:艾婧 來源: 51CTO
相關推薦

2015-08-06 15:24:21

2010-08-20 09:37:04

虛擬化

2017-08-09 14:49:03

WebHTTPS瀏覽器

2015-06-24 10:32:13

訊鳥云計算會展

2010-01-18 10:27:20

2022-05-16 07:32:12

K8SIP 地址

2023-06-27 13:12:03

人工智能AI

2022-08-01 10:31:40

KubernetesIPLinux

2023-12-04 07:18:05

Goswitch

2015-03-03 13:54:53

2016-06-08 13:42:08

2013-02-22 09:49:43

大數據谷歌大數據全球技術峰會

2014-03-14 09:35:56

內存優化軟件內存優化

2014-03-31 15:32:36

AndroidNDK開發

2020-09-30 10:40:56

人工智能AI

2023-01-12 15:36:26

2023-07-30 16:09:38

數字經濟數字化轉型

2012-12-28 13:47:36

Raspberry PGeek

2012-10-17 10:08:03

2021-08-18 10:45:44

網絡AI智能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区四区电影视频在线观看 | 亚洲一区视频在线 | 精品成人一区二区 | 国产精品亚洲精品日韩已方 | 久久伊人精品 | 欧美日韩不卡合集视频 | 日韩国产在线 | 欧美无乱码久久久免费午夜一区 | www.xxxx欧美| 亚洲精品综合 | 亚洲一区二区免费 | 亚洲精品高清视频在线观看 | 亚洲精品乱码8久久久久久日本 | 中文二区 | 国产精品久久国产精品 | 超碰在线播| 黄色精品 | 亚洲成人播放器 | 天堂中文字幕av | 成人在线观看免费 | 日本欧美在线观看视频 | 国内在线视频 | 伊人一区 | 久久久国产精品 | 成人午夜免费福利视频 | 日本在线小视频 | 污片在线观看 | 韩国久久精品 | 日韩综合一区 | 婷婷狠狠 | 色婷婷综合成人av | 日韩高清成人 | 一级欧美日韩 | 国产高清视频 | 国产一区在线视频 | 欧美精品黄 | 久久久爽爽爽美女图片 | 亚洲国产精品成人久久久 | 草草视频在线观看 | 亚洲精品视频在线 | 成人av一区二区三区 |