欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

掌握SQL Server數(shù)據(jù)庫(kù)快照的工作原理第1/2頁(yè)

 更新時(shí)間:2008年01月02日 19:21:37   作者:  
掌握SQL Server數(shù)據(jù)庫(kù)快照的工作原理

數(shù)據(jù)庫(kù)快照是怎樣工作的? 



可以使用典型的數(shù)據(jù)庫(kù)命令CREATE DATABASE語(yǔ)句來生成一個(gè)數(shù)據(jù)庫(kù)快照,在聲明中有一個(gè)源數(shù)據(jù)庫(kù)快照的附加說明。當(dāng)快照被建立時(shí),同時(shí)生成一個(gè)稀疏文件。這個(gè)文件(只能使用在NTFS卷中)在初始化的時(shí)候并沒有磁盤空間分配給它——盡管你可能在WINDOWS資源管理器中看到了文件的大小,它會(huì)看上去與原始的源數(shù)據(jù)庫(kù)文件的大小相同。對(duì)磁盤來說其實(shí)這個(gè)文件的大小接近于零。 



數(shù)據(jù)庫(kù)快照在初始化時(shí)讀的數(shù)據(jù)文件是來自于源數(shù)據(jù)庫(kù)的。當(dāng)源數(shù)據(jù)庫(kù)的數(shù)據(jù)發(fā)生變化時(shí),數(shù)據(jù)引擎就會(huì)將原始數(shù)據(jù)從源數(shù)據(jù)庫(kù)拷貝到快照數(shù)據(jù)庫(kù)中。這個(gè)技術(shù)確??煺諗?shù)據(jù)庫(kù)只反映快照被執(zhí)行時(shí)數(shù)據(jù)的狀態(tài)。當(dāng)SELECT命令被用來發(fā)布反對(duì)數(shù)據(jù)庫(kù)快照時(shí),不管數(shù)據(jù)頁(yè)的讀取是否被定位在源數(shù)據(jù)庫(kù)數(shù)據(jù)文件中還是在快照數(shù)據(jù)庫(kù)數(shù)據(jù)文件中都是沒有鎖被發(fā)布的。因?yàn)樵谥蛔x數(shù)據(jù)庫(kù)快照中是沒有鎖被發(fā)布,數(shù)據(jù)庫(kù)快照對(duì)于報(bào)表解決方案是一個(gè)重要的解決方案。 


一個(gè)快照的實(shí)例 



現(xiàn)在,讓我們來看看數(shù)據(jù)庫(kù)快照在SQL Server 2005中是如何工作的。為此,首先我需要一個(gè)源數(shù)據(jù)庫(kù)作為快照的來源。下面的腳本將創(chuàng)建一個(gè)源數(shù)據(jù)庫(kù): 


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ù)庫(kù),現(xiàn)在我裝載一些數(shù)據(jù)來擴(kuò)展數(shù)據(jù)文件的大小位。如此,使用上面的腳本來創(chuàng)建銷售歷史表。 


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 

相關(guān)文章

  • SQL注入報(bào)錯(cuò)注入函數(shù)圖文詳解

    SQL注入報(bào)錯(cuò)注入函數(shù)圖文詳解

    報(bào)錯(cuò)注入是SQL注入的一種,下面這篇文章主要給大家介紹了關(guān)于SQL注入報(bào)錯(cuò)注入函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Clickhouse數(shù)據(jù)表、數(shù)據(jù)分區(qū)partition的基本操作代碼

    Clickhouse數(shù)據(jù)表、數(shù)據(jù)分區(qū)partition的基本操作代碼

    clickhouse的分區(qū)是指將數(shù)據(jù)按照分區(qū)鍵進(jìn)行劃分,每個(gè)分區(qū)可以包含多個(gè)數(shù)據(jù)塊,這篇文章主要介紹了Clickhouse數(shù)據(jù)表、數(shù)據(jù)分區(qū)partition的基本操作代碼,需要的朋友可以參考下
    2023-11-11
  • hive內(nèi)部表和外部表的區(qū)別詳解

    hive內(nèi)部表和外部表的區(qū)別詳解

    Hive內(nèi)部表:默認(rèn)創(chuàng)建的表是內(nèi)部表,Hive外部表:外部表的數(shù)據(jù)不是Hive擁有或者管理的,只管理元數(shù)據(jù)的聲明周期,本文詳細(xì)介紹了hive內(nèi)部表和外部表的區(qū)別,感興趣的小伙伴可以參考閱讀
    2023-04-04
  • Navicat Premium 15無(wú)限試用注冊(cè)表修改的方法詳解

    Navicat Premium 15無(wú)限試用注冊(cè)表修改的方法詳解

    這篇文章主要介紹了Navicat Premium 15無(wú)限試用注冊(cè)表修改的方法詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • openGauss數(shù)據(jù)庫(kù)在CentOS上的安裝實(shí)踐記錄

    openGauss數(shù)據(jù)庫(kù)在CentOS上的安裝實(shí)踐記錄

    這篇文章主要介紹了openGauss數(shù)據(jù)庫(kù)在CentOS上的安裝實(shí)踐,本文是基于華為云ECS+CentOS 7的openGauss數(shù)據(jù)庫(kù)安裝實(shí)踐,需要的朋友可以參考下
    2022-07-07
  • 存儲(chǔ)過程返回?cái)?shù)組對(duì)象示例代碼

    存儲(chǔ)過程返回?cái)?shù)組對(duì)象示例代碼

    存儲(chǔ)過程返回?cái)?shù)組對(duì)象其實(shí)就相當(dāng)于返回List里面放的對(duì)象數(shù)據(jù),下面與大家分享是例子,感興趣的朋友可以學(xué)習(xí)下
    2013-07-07
  • 淺析GBase8s?唯一索引與非唯一索引問題

    淺析GBase8s?唯一索引與非唯一索引問題

    GBase8s中主鍵(PRIMARY?KEY)會(huì)自動(dòng)創(chuàng)建一個(gè)唯一索引。一個(gè)良好的表設(shè)計(jì)都應(yīng)該定義主鍵或者唯一約束索引。特別是在OLTP系統(tǒng)中,唯一索引可以幫助快速定位少量記錄,對(duì)GBase8s?索引相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-02-02
  • SQL UPDATE 更新語(yǔ)句用法(單列與多列)

    SQL UPDATE 更新語(yǔ)句用法(單列與多列)

    更新操作是數(shù)據(jù)庫(kù)中最常用的操作之一,下面將為您介紹update語(yǔ)句的三種使用方法,供您參考,希望對(duì)您有所幫助
    2017-08-08
  • SQL注入的2個(gè)小Trick及示例總結(jié)

    SQL注入的2個(gè)小Trick及示例總結(jié)

    這篇文章主要給大家介紹了關(guān)于SQL注入的2個(gè)小Trick的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11

最新評(píng)論