當前位置:首頁 » 參考文獻 » sql資料庫快照

sql資料庫快照

發布時間: 2021-03-26 09:08:52

㈠ SQLServer快照功能以及其查詢如何操作

SQLServer資料庫的快照只能通過SQL語句創建,以msdb資料庫為例進行說明:

1、執行以下代碼,看看MSDB資料庫有多少數據文件

EXEC SP_HELPDB msdb

查詢結果是完全一樣的。

(如有幫助,請採納,謝謝)

㈡ 如何利用SQL Server資料庫快照形成報表

在SQL Server 2005中,它的另外一個強大的新特點是資料庫快照。資料庫快照是一個資料庫的只讀副本,它是資料庫所有數據的映射,由快照被執行的時間點來決定它的內容。
這些資料庫快照在報表方面是非常有價值,因為在快照資料庫中或者在原資料庫中,對於任何查詢而言沒有鎖就將被執行。快照也可以使用在災難恢復中,因為你可以將現有的數據恢復到現有的快照中,或者還可以在有害數據操作聲明的事件中存儲個別必要的表和數據。
資料庫快照是如何工作的?
可以使用典型的資料庫命令CREATE DATABASE語句來生成一個資料庫快照,在聲明中有一個源資料庫快照的附加說明。當快照被建立時,同時生成一個稀疏文件。這個文件(只能使用在NTFS卷中)在初始化的時候並沒有磁碟空間分配給它——盡管你可能在WINDOWS資源管理器中看到了文件的大小,它會看上去與原始的源資料庫文件的大小相同。對磁碟來說其實這個文件的大小接近於零。
資料庫快照在初始化時讀的數據文件是來自於源資料庫的。當源資料庫的數據發生變化時,數據引擎就會將原始數據從源資料庫拷貝到快照資料庫中。這個技術確保快照資料庫只反映快照被執行時數據的狀態。當SELECT命令被用來發布反對資料庫快照時,不管數據頁的讀取是否被定位在源資料庫數據文件中還是在快照資料庫數據文件中都是沒有鎖被發布的。因為在只讀資料庫快照中是沒有鎖被發布,資料庫快照對於報表解決方案是一個重要的解決方案。
一個快照的實例
現在,讓我們來看看資料庫快照在SQL Server 2005中是如何工作的。為此,首先我需要一個源資料庫作為快照的來源。下面的腳本將創建一個源資料庫:
以下為引用的內容:
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
注意這里產品區域的大小。我定義它的大小為CHAR(150)來強調數據文件的增長級數,這樣在我接下來的實例中將更容易解釋清楚快照是如何工作的。
現在既然我已經有了一個源資料庫,現在我裝載一些數據來擴展數據文件的大小位。如此,使用列表1中的腳本來創建銷售歷史表。
以下為引用的內容:
USE SourceDatabase
GO
IF OBJECT_ID('SalesHistory')>0 DROP TABLE SalesHistory
GO
CREATE TABLE SalesHistory
( SaleID INT IDENTITY(1,1),
Proct CHAR(150), SaleDate DATETIME,
SalePrice MONEY
)
DECLARE @i INT
SET @i = 1
WHILE (@i <=10000)
BEGIN INSERT INTO SalesHistory (Proct, SaleDate, SalePrice)
VALUES ('Computer', DATEADD(mm, @i, '3/11/1919'),
DATEPART(ms, GETDATE()) + (@i + 57) )
INSERT INTO SalesHistory (Proct, SaleDate, SalePrice)
VALUES ('BigScreen', DATEADD(mm, @i, '3/11/1927'),
DATEPART(ms, GETDATE()) + (@i + 13) )
INSERT INTO SalesHistory (Proct, SaleDate, SalePrice)
VALUES ('PoolTable', DATEADD(mm, @i, '3/11/1908'),
DATEPART(ms, GETDATE()) + (@i + 29) )
SET @i = @i + 1
END
GO

㈢ sql server刪除資料庫快照需要什麼權利

普通許可權。
正常sql資料庫有三種許可權,
sa,administrator,user
只要在建庫的時候賦予user對資料庫的刪除許可權就可以用user許可權,sa和admin是天生就擁有的。

㈣ sql server怎麼設置快照

快照並不是復制整個整個資料庫,而僅僅利用快照存儲原始頁。因此可以看出,源資料庫上建立快照會給IO增加額外負擔.當對快照資料庫進行查詢時,快照時間點之後更改的數據會查詢數據文件,
當使用快照恢復資料庫時,首先要刪除其他快照
快照在創建時的時間點上沒有commit的數據不會被記入快照
快照是快照整個資料庫,而不是資料庫的某一部分

㈤ SQL2008資料庫里為什麼只有系統資料庫和資料庫快照,沒有其他的了

那麼你自己都不知道以前你的資料庫建在哪的嗎?現在我能想到的就是你可以試試登錄

.sqlexpress

或者

.

㈥ sql2005 資料庫快照是什麼

資料庫快照是MSSQL2005的新功能,僅在 Microsoft SQL Server 2005 Enterprise Edition 中可用。而且SQL Server Management Studio 不支持創建資料庫快照,創建快照的唯一方式是使用 Transact-SQL。

資料庫快照是資料庫(稱為「源資料庫」)的只讀靜態視圖。在創建時,每個資料庫快照在事務上都與源資料庫一致。在創建資料庫快照時,源資料庫通常會有打開的事務。在快照可以使用之前,打開的事務會回滾以使資料庫快照在事務上取得一致。

客戶端可以查詢資料庫快照,這對於基於創建快照時的數據編寫報表是很有用的。而且,如果以後源資料庫損壞了,便可以將源資料庫恢復到它在創建快照時的狀態。

創建資料庫快照可以:

·<!--[if !supportLists]--><!--[endif]-->維護歷史數據以生成報表。可以通過快照訪問特定時間點的數據。例如,您可以在給定時間段(例如,財務季度)要結束的時候創建資料庫快照以便日後製作報表。然後便可以在快照上運行期間要結束時創建的報表。

·<!--[if !supportLists]-->將查詢實施在資料庫的快照上,可以釋放主體資料庫上的資源。

·<!--[if !supportLists]-->加快恢復操作效率,使用快照將資料庫恢復到生成快照時的狀態比從備份還原快得多;但是,此後您無法對數據進行前滾操作。根據磁碟資源,可以每 24 小時創建 6 到 12 個滾動快照。每創建一個新的快照,就刪除最早的快照。如果要恢復,可以將資料庫恢復到在錯誤發生的前一時刻的快照。或者,也可以利用快照中的信息,手動重新創建刪除的表或其他丟失的數據。例如,可以將快照中的數據大容量復制到資料庫中,然後手動將數據合並回資料庫中。

但是只要存在資料庫快照,快照的源資料庫就存在以下限制:

·<!--[if !supportLists]-->必須在與源資料庫相同的伺服器實例上創建資料庫快照。

·<!--[if !supportLists]--> <!--[endif]-->資料庫快照捕獲開始創建快照的時間點,去掉所有未提交的事務。未提交的事務將在創建資料庫快照期間回滾,因為資料庫引擎 將對快照執行恢復操作(資料庫中的事務不受影響)。

·<!--[if !supportLists]-->當將源資料庫中更新的頁強制壓入快照時,如果快照用盡磁碟空間或者遇到某些錯誤,則該快照將成為可疑快照並且必須將其刪除。有關詳細信息,請參閱刪除資料庫快照。

·<!--[if !supportLists]-->快照為只讀。

·<!--[if !supportLists]--> <!--[endif]-->禁止對 model 資料庫、master 資料庫和 tempdb 資料庫創建快照。

·<!--[if !supportLists]--> <!--[endif]-->不能更改資料庫快照文件的任何規范。

·<!--[if !supportLists]--><!--[endif]-->不能從快照中刪除文件。

·<!--[if !supportLists]-->不能備份或還原快照。

·<!--[if !supportLists]-->不能附加或分離快照。

·<!--[if !supportLists]-->不能在 FAT32 文件系統或 RAW 分區中創建快照。

·<!--[if !supportLists]--> <!--[endif]-->資料庫快照不支持全文索引,不能從源資料庫傳播全文目錄

·<!--[if !supportLists]-->資料庫快照將繼承快照創建時其源資料庫的安全約束。由於快照是只讀的,因此無法更改繼承的許可權,對源資料庫的更改許可權將不反映在現有快照中。

·<!--[if !supportLists]-->快照始終反映創建該快照時的文件組狀態:在線文件組將保持在線狀態,離線文件組將保持離線狀態。有關詳細信息,請參閱本主題後面的「含有離線文件組的資料庫快照」。

·<!--[if !supportLists]-->如果源資料庫的狀態為 RECOVERY_PENDING,可能無法訪問其資料庫快照。但是,當解決了源資料庫的問題之後,快照將再次變成可用快照。

·<!--[if !supportLists]-->只讀文件組和壓縮文件組不支持恢復。嘗試恢復到這兩類文件組將失敗。有關恢復的詳細信息,請參閱恢復到資料庫快照。

㈦ SQL2008的快照怎麼用

--創建資料庫快照
CREATE DATABASE 快照名稱 ON
( NAME = 源資料庫文件名1, FILENAME = 'c:\a_1801.cc' ),
( NAME = 源資料庫文件名2, FILENAME = 'c:\a_1802.cc' )
AS SNAPSHOT OF 源資料庫;
GO

--資料庫恢復到資料庫快照
RESTORE DATABASE 源資料庫 FROM DATABASE_SNAPSHOT = '快照'

--刪除資料庫快照
DROP DATABASE 快照

㈧ 安裝了sqlserver2008,結果發現沒有資料庫快照和示例資料庫,怎麼辦有影響嗎

資料庫快照可能有,要看你資料庫是干什麼用,示例資料庫不會有影響,那隻是一個提供給學者的數據,可有可無,如果你想要的話可以到別人那裡拷一份,再資料庫附加一下就可以了

㈨ 求教sql的資料庫快照

上次聽一個做資料庫備份的老師說這兩種東西看應用場景比如對數據完整性要求不高的企業只要求出故障是系統盡快恢復會選擇快照但是如果要求數據完整性高,不出現丟失。則需要考慮備份的情況。快照只是照某個時間點比如10點快照11點出故障了那用快照恢復10--11點這一個小時的數據就不見了數據備份可以保證這一個小時的數據還在吧

熱點內容
塗鴉論文 發布:2021-03-31 13:04:48 瀏覽:698
手機資料庫應用 發布:2021-03-31 13:04:28 瀏覽:353
版面217 發布:2021-03-31 13:04:18 瀏覽:587
知網不查的資源 發布:2021-03-31 13:03:43 瀏覽:713
基金贖回參考 發布:2021-03-31 13:02:08 瀏覽:489
懸疑故事範文 發布:2021-03-31 13:02:07 瀏覽:87
做簡單的自我介紹範文 發布:2021-03-31 13:01:48 瀏覽:537
戰略地圖參考 發布:2021-03-31 13:01:09 瀏覽:463
收支模板 發布:2021-03-31 13:00:43 瀏覽:17
電氣學術會議 發布:2021-03-31 13:00:32 瀏覽:731