-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
數(shù)據(jù)庫快照作用(數(shù)據(jù)庫快照作用有哪些)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于數(shù)據(jù)庫快照作用的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、系統(tǒng)還原中,快照與備份區(qū)別
快照與備份是兩個(gè)不同的概念.
先來看快照.
快照,其本質(zhì)類似于數(shù)據(jù)庫的照片,也就是在某個(gè)特定時(shí)間點(diǎn)(創(chuàng)建快照的時(shí)間點(diǎn))給數(shù)據(jù)庫拍個(gè)照放在那兒.但是這個(gè)照片是一個(gè)新的數(shù)據(jù)庫,可以應(yīng)用SQL語句.
快照數(shù)據(jù)庫里的數(shù)據(jù)是不變的.創(chuàng)建快照后,系統(tǒng)會(huì)對(duì)原數(shù)據(jù)庫的所有數(shù)據(jù)頁做個(gè)標(biāo)識(shí),如果數(shù)據(jù)頁在創(chuàng)建快照后被修改,會(huì)復(fù)制一個(gè)數(shù)據(jù)頁出來,沒有修改的數(shù)據(jù)頁則不會(huì)有快照(原數(shù)據(jù)庫和快照數(shù)據(jù)庫共用該數(shù)據(jù)頁).
從這樣來看,快照存在的時(shí)間越長(zhǎng),對(duì)系統(tǒng)的壓力會(huì)越大(要維護(hù)的變化數(shù)據(jù)頁太多).
一般來說,快照用在數(shù)據(jù)庫的鏡像機(jī)上,因?yàn)殓R像機(jī)上的數(shù)據(jù)庫永遠(yuǎn)是Restoring狀態(tài),可以在某個(gè)特定的時(shí)間點(diǎn)生成一個(gè)快照,這樣就可以在鏡像機(jī)上提供一個(gè)可訪問的數(shù)據(jù)庫,用來為數(shù)據(jù)倉庫提供數(shù)據(jù)源比較合適.
再來看備份.
備份,其本質(zhì)是一個(gè)副本.相當(dāng)于在某個(gè)時(shí)間點(diǎn)把數(shù)據(jù)庫里的所有對(duì)象內(nèi)容都COPY一份,放到一個(gè)特定的文件里(備份文件,一般是.bak).
這個(gè)文件不是一個(gè)數(shù)據(jù)庫,不能直接應(yīng)用SQL,必須先通過還原的方式還原到一個(gè)數(shù)據(jù)庫(可以是和原數(shù)據(jù)庫名稱一致,也可以是一個(gè)新的數(shù)據(jù)庫),之后才能訪問里面的數(shù)據(jù).
因?yàn)閭浞莸慕Y(jié)果是文件,這個(gè)文件可以被COPY走,或者寫入磁帶(放到銀行里),從而實(shí)現(xiàn)離線容災(zāi).
此外,備份是個(gè)很復(fù)雜的概念,還涉及到數(shù)據(jù)庫的恢復(fù)模型、日志處理等很復(fù)雜的東西,需要自己先系統(tǒng)學(xué)習(xí)下備份還原的相關(guān)概念。
二、DB2數(shù)據(jù)庫的快照功能怎樣使用呢
數(shù)據(jù)庫快照:GET SNAPSHOT FOR DATABASE ON <dbname>
鎖快照:GET SNAPSHOT FOR LOCKS ON <dbname>
動(dòng)態(tài)SQL語句快照:GET SNAPSHOT FOR DYNAMIC SQL ON <dbname>
緩沖池快照:GET SNAPSHOT FOR BUFFERPOOLS ON <dbname>
表空間快照:GET SNAPSHOT FOR TABLESPACES ON <dbname>
三、如何利用SQL Server數(shù)據(jù)庫快照形成報(bào)表
在SQL Server 2005中,它的另外一個(gè)強(qiáng)大的新特點(diǎn)是數(shù)據(jù)庫快照。數(shù)據(jù)庫快照是一個(gè)數(shù)據(jù)庫的只讀副本,它是數(shù)據(jù)庫所有數(shù)據(jù)的映射,由快照被執(zhí)行的時(shí)間點(diǎn)來決定它的內(nèi)容。
這些數(shù)據(jù)庫快照在報(bào)表方面是非常有價(jià)值,因?yàn)樵诳煺諗?shù)據(jù)庫中或者在原數(shù)據(jù)庫中,對(duì)于任何查詢而言沒有鎖就將被執(zhí)行??煺找部梢允褂迷跒?zāi)難恢復(fù)中,因?yàn)槟憧梢詫F(xiàn)有的數(shù)據(jù)恢復(fù)到現(xiàn)有的快照中,或者還可以在有害數(shù)據(jù)操作聲明的事件中存儲(chǔ)個(gè)別必要的表和數(shù)據(jù)。
數(shù)據(jù)庫快照是如何工作的?
可以使用典型的數(shù)據(jù)庫命令CREATE DATABASE語句來生成一個(gè)數(shù)據(jù)庫快照,在聲明中有一個(gè)源數(shù)據(jù)庫快照的附加說明。當(dāng)快照被建立時(shí),同時(shí)生成一個(gè)稀疏文件。這個(gè)文件(只能使用在NTFS卷中)在初始化的時(shí)候并沒有磁盤空間分配給它——盡管你可能在WINDOWS資源管理器中看到了文件的大小,它會(huì)看上去與原始的源數(shù)據(jù)庫文件的大小相同。對(duì)磁盤來說其實(shí)這個(gè)文件的大小接近于零。
數(shù)據(jù)庫快照在初始化時(shí)讀的數(shù)據(jù)文件是來自于源數(shù)據(jù)庫的。當(dāng)源數(shù)據(jù)庫的數(shù)據(jù)發(fā)生變化時(shí),數(shù)據(jù)引擎就會(huì)將原始數(shù)據(jù)從源數(shù)據(jù)庫拷貝到快照數(shù)據(jù)庫中。這個(gè)技術(shù)確??煺諗?shù)據(jù)庫只反映快照被執(zhí)行時(shí)數(shù)據(jù)的狀態(tài)。當(dāng)SELECT命令被用來發(fā)布反對(duì)數(shù)據(jù)庫快照時(shí),不管數(shù)據(jù)頁的讀取是否被定位在源數(shù)據(jù)庫數(shù)據(jù)文件中還是在快照數(shù)據(jù)庫數(shù)據(jù)文件中都是沒有鎖被發(fā)布的。因?yàn)樵谥蛔x數(shù)據(jù)庫快照中是沒有鎖被發(fā)布,數(shù)據(jù)庫快照對(duì)于報(bào)表解決方案是一個(gè)重要的解決方案。
一個(gè)快照的實(shí)例
現(xiàn)在,讓我們來看看數(shù)據(jù)庫快照在SQL Server 2005中是如何工作的。為此,首先我需要一個(gè)源數(shù)據(jù)庫作為快照的來源。下面的腳本將創(chuàng)建一個(gè)源數(shù)據(jù)庫:
以下為引用的內(nèi)容:
USE master
GO
IF EXISTS(SELECT name from sysdatabases where [name] = 'SourceDatabase')
DROP DATABASE SourceDatabase
GO
CREATE DATABASE SourceDatabaseON PRIMARY
(
NAME = SourceDatabase_Data,
FILENAME = 'C:SQLServerSourceDatabase_Data.mdf'
) LOG ON
(
NAME = SourceDatabase_Log,
FILENAME = 'C:SQLServerSourceDatabase_Log.ldf'
)
GO
注意這里產(chǎn)品區(qū)域的大小。我定義它的大小為CHAR(150)來強(qiáng)調(diào)數(shù)據(jù)文件的增長(zhǎng)級(jí)數(shù),這樣在我接下來的實(shí)例中將更容易解釋清楚快照是如何工作的。
現(xiàn)在既然我已經(jīng)有了一個(gè)源數(shù)據(jù)庫,現(xiàn)在我裝載一些數(shù)據(jù)來擴(kuò)展數(shù)據(jù)文件的大小位。如此,使用列表1中的腳本來創(chuàng)建銷售歷史表。
以下為引用的內(nèi)容:
USE SourceDatabase
GO
IF OBJECT_ID('SalesHistory')>0 DROP TABLE SalesHistory
GO
CREATE TABLE SalesHistory
( SaleID INT IDENTITY(1,1),
Product CHAR(150), SaleDate DATETIME,
SalePrice MONEY
)
DECLARE @i INT
SET @i = 1
WHILE (@i <=10000)
BEGIN INSERT INTO SalesHistory (Product, SaleDate, SalePrice)
VALUES ('Computer', DATEADD(mm, @i, '3/11/1919'),
DATEPART(ms, GETDATE()) + (@i + 57) )
INSERT INTO SalesHistory (Product, SaleDate, SalePrice)
VALUES ('BigScreen', DATEADD(mm, @i, '3/11/1927'),
DATEPART(ms, GETDATE()) + (@i + 13) )
INSERT INTO SalesHistory (Product, SaleDate, SalePrice)
VALUES ('PoolTable', DATEADD(mm, @i, '3/11/1908'),
DATEPART(ms, GETDATE()) + (@i + 29) )
SET @i = @i + 1
END
GO
四、linux中的快照技術(shù)的原理是什么
快照就是一種數(shù)據(jù)庫技術(shù)??煺?其本質(zhì)類似于數(shù)據(jù)庫的照片,也就是在創(chuàng)建快照的時(shí)間點(diǎn)給數(shù)據(jù)庫拍個(gè)照放在那兒。但是這個(gè)照片是一個(gè)新的數(shù)據(jù)庫,可以應(yīng)用SQL語句??煺諗?shù)據(jù)庫里的數(shù)據(jù)是不變的.創(chuàng)建快照后,系統(tǒng)會(huì)對(duì)原數(shù)據(jù)庫的所有數(shù)據(jù)頁做個(gè)標(biāo)識(shí),如果數(shù)據(jù)頁在創(chuàng)建快照后被修改,會(huì)復(fù)制一個(gè)數(shù)據(jù)頁出來,沒有修改的數(shù)據(jù)頁則不會(huì)有快照。因此快照存在的時(shí)間越長(zhǎng),要維護(hù)的數(shù)據(jù)頁就越多,系統(tǒng)的壓力也越來越大。所以不能用快照來替代備份,因?yàn)閭浞葜皇且粋€(gè)bak文件,它不是數(shù)據(jù)庫,只有通過還原操作才能對(duì)它進(jìn)行查詢。
以上就是關(guān)于數(shù)據(jù)庫快照作用相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
市場(chǎng)營(yíng)銷分析報(bào)告(營(yíng)銷數(shù)據(jù)分析報(bào)告)
生產(chǎn)車間數(shù)據(jù)管理(生產(chǎn)車間數(shù)據(jù)管理方法)
如何利用大數(shù)據(jù)提升企業(yè)競(jìng)爭(zhēng)優(yōu)勢(shì)
韓國(guó)文學(xué)作品排行榜(韓國(guó)文學(xué)作品排行榜最新)