sql資料庫快照
1. 如何創建資料庫快照
任何能創建資料庫的用戶都可以創建資料庫快照。創建快照的唯一方式是使用 Transact-SQL。 注意:有關命名資料庫快照、設置創建資料庫快照的時間和限制資料庫快照成員的注意事項,請參閱創建資料庫快照。 創建資料庫快照 根據源資料庫的當前大小,確保有足夠的磁碟空間存放資料庫快照。資料庫快照的最大大小為創建快照時源資料庫的大小。 使用 AS SNAPSHOT OF 子句對文件執行 CREATE DATABASE 語句。創建快照需要指定源資料庫的每個資料庫文件的邏輯名稱。有關創建資料庫快照的語法的正式說明,請參閱 CREATE DATABASE (Transact-SQL)。 注意:創建資料庫快照時,CREATE DATABASE 語句中不允許有日誌文件、離線文件、還原文件和不起作用的文件。 示例本節包含創建資料庫快照的示例。 A. 對 AdventureWorks 資料庫創建快照此示例對AdventureWorks 資料庫創建資料庫快照。快照名稱 AdventureWorks_dbss_1800 及其稀疏文件的名稱 AdventureWorks_data_1800.ss 指明了創建時間 6 P.M.(1800 小時)。 復制代碼CREATE DATABASE AdventureWorks_dbss1800 ON( NAME = AdventureWorks_Data, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\AdventureWorks_data_1800.ss' )AS SNAPSHOT OF AdventureWorks;GO注意:示例中隨意使用了擴展名 .ss。 B. 對 Sales 資料庫創建快照此示例對Sales資料庫創建資料庫快照 sales_snapshot1200 。
2. DB2資料庫的快照功能怎樣使用呢
資料庫快照:GET SNAPSHOT FOR DATABASE ON <dbname>
鎖快照:GET SNAPSHOT FOR LOCKS ON <dbname>
動態SQL語句快照:GET SNAPSHOT FOR DYNAMIC SQL ON <dbname>
緩沖池快照:GET SNAPSHOT FOR BUFFERPOOLS ON <dbname>
表空間快照:GET SNAPSHOT FOR TABLESPACES ON <dbname>
3. 對於虛擬機來說,快照和備份有什麼異同之處
快照是數據存儲的某一時刻的狀態記錄。
備份是數據存儲的某一時刻的副本。
一、相同之處:都可以用於儲存。
二、不同之處:
1、資料庫存不同
備份,本質上是一個副本。這等效於COPY在某個時間點將資料庫中所有內容的副本放入特定扮握兆文件(備份文件,通常是.bak)中。
快照基本上類似於資料庫的照片,即在特定皮輪時間點(創建快照的時間點)拍攝的資料庫照片。但是這張照片是可以應用於SQL語句的新資料庫。
2、訪問方式不同
快照資料庫中的數據保持不變。創建快照後,將標識原始資料庫的所有數據頁。如果在創建快照後修改了數據頁面,則將復制數據頁,並復制未修改的數據頁,將沒有快照(原始資料庫和快照資料庫共享數據頁)。
該文件不是資料庫,不能直接應用SQL。必須先通過還原(可以與原始資料庫名稱或新資料庫相同)還原到資料庫,然後才能訪問其中的數據。
3、狀態不同
備份的結果是一個文件,可以將其復制或寫入磁帶(銀行中)以進行離線很難恢復。由於鏡像伺服器上的資料庫始終處於「還原」狀態,因此可以在特定的時間點生成快照,以廳租便可以在鏡像伺服器上提供可訪問的資料庫,從而為數據倉庫提供數據源。
4. SQLServer快照功能以及其查詢如何操作
SQLServer資料庫的快照只能通過SQL語句創建,以msdb資料庫為例進行說明:
1、執行以下代碼,看看MSDB資料庫有多少數據文件
EXEC SP_HELPDB msdb
查詢結果是完全一樣的。
(如有幫助,請採納,謝謝)