第一篇:數(shù)據(jù)庫原理及技術(shù)實(shí)驗(yàn)報告-實(shí)驗(yàn)10
《數(shù)據(jù)庫原理及技術(shù)》實(shí)驗(yàn)報告
姓名: 莫鴻斌
學(xué)號:201601030137
班級:2016級計算機(jī)科學(xué)與技術(shù)
實(shí)驗(yàn)日期: 2018-3-9
一、實(shí)驗(yàn)項(xiàng)目
數(shù)據(jù)庫備份與恢復(fù)、數(shù)據(jù)的導(dǎo)入導(dǎo)出
二、實(shí)驗(yàn)?zāi)康?/p>
1.掌握SQL Server Management Studio的運(yùn)用; 2.掌握SQL Server 2012服務(wù)器配置; 3.查詢編輯器的使用。
三、實(shí)驗(yàn)內(nèi)容
1、把數(shù)據(jù)庫school備份到”D:dbbackschooldata.bak”中,把數(shù)據(jù)庫school的日志備份到”D:dbbackschoollog.bak”中;
2、刪除數(shù)據(jù)庫school;
3、利用前面的備份還原數(shù)據(jù)庫school。
4、把數(shù)據(jù)庫school中的數(shù)據(jù)庫導(dǎo)出到excel的工資簿bookl中。
5、新建數(shù)據(jù)庫newschool,然后把book1中的數(shù)據(jù)庫導(dǎo)入其中。
四、實(shí)驗(yàn)環(huán)境
安裝有SQL Server2008的PC一臺。
五、實(shí)驗(yàn)步驟及結(jié)果
1、把數(shù)據(jù)庫school備份到”D:dbbackschooldata.bak”中,把數(shù)據(jù)庫school的日志備份到”D:dbbackschoollog.bak”中;
2、刪除數(shù)據(jù)庫school;
3、利用前面的備份還原數(shù)據(jù)庫school。
4、把數(shù)據(jù)庫school中的數(shù)據(jù)庫導(dǎo)出到excel的工資簿bookl中。
5、新建數(shù)據(jù)庫newschool,然后把book1中的數(shù)據(jù)庫導(dǎo)入其中。
六、結(jié)論及思考
第二篇:數(shù)據(jù)庫原理及技術(shù)實(shí)驗(yàn)報告-實(shí)驗(yàn)11
《數(shù)據(jù)庫原理及技術(shù)》實(shí)驗(yàn)報告
姓名:莫鴻斌
學(xué)號:201601030137
班級:2016級計算機(jī)科學(xué)與技術(shù)
實(shí)驗(yàn)日期: 2018-3-23
一、實(shí)驗(yàn)項(xiàng)目
T-SQL創(chuàng)建修改數(shù)據(jù)庫和表
二、實(shí)驗(yàn)?zāi)康?/p>
1.掌握SQL Server Management Studio的運(yùn)用; 2.掌握T-SQL語句的執(zhí)行操作;
3.如何使用T-SQL創(chuàng)建修改數(shù)據(jù)庫和表。
三、實(shí)驗(yàn)內(nèi)容
1.使用T-SQL創(chuàng)建數(shù)據(jù)庫factory,要求將數(shù)據(jù)庫文件factory_data.MDF存放在E:data下面,其文件初始大小5MB,自動按5MB增長,將事務(wù)日志文件factory_log.LDF存放在E:data目錄下,其文件大小按1MB自動增長。
2.使用T-SQL在數(shù)據(jù)庫factory下創(chuàng)建如下表: 職工表(職工號(int),姓名(char(10)),性別(char(2)),出生日期(datetime),黨員否(bit),參加工作時間(datetime),部門號(int)),其中職工號作為主鍵。部門表(部門號(int),部門名(char(10)),其中部門號作為主鍵。工資表(職工號(int),發(fā)放年份(int),發(fā)放月份(int),工資(decimal(6,1))),其中職工號、年份、月份作為主鍵。
3.使用T-SQL建立創(chuàng)建的表之間的參照完整性規(guī)則。4.在上述表中輸入數(shù)據(jù),每個表至少10條記錄。
四、實(shí)驗(yàn)環(huán)境
安裝有SQL Server2008的PC一臺。
五、實(shí)驗(yàn)步驟及結(jié)果
1.使用T-SQL創(chuàng)建數(shù)據(jù)庫factory
2.將數(shù)據(jù)庫文件factory_data.MDF存放在E:data下面,其文件初始大小5MB,自動按5MB增長,將事務(wù)日志文件factory_log.LDF存放在E:data目錄下,其文件大小按1MB自動增長。
4.使用T-SQL在數(shù)據(jù)庫factory下創(chuàng)建 職工表(職工號(int),姓名(char(10)),性別(char(2)),出生日期(datetime),黨員否(bit),參加工作時間(datetime),部門號(int)),其中職工號作為主鍵。部門表(部門號(int),部門名(char(10)),其中部門號作為主鍵。工資表(職工號(int),發(fā)放年份(int),發(fā)放月份(int),工資(decimal(6,1))),其中職工號、年份、月份作為主鍵。
5.使用T-SQL建立創(chuàng)建的表之間的參照完整性規(guī)則
5.在上述表中輸入數(shù)據(jù),每個表至少10條記錄
六、結(jié)論及思考
第三篇:數(shù)據(jù)庫原理及技術(shù)實(shí)驗(yàn)報告2
《數(shù)據(jù)庫原理及技術(shù)》實(shí)驗(yàn)報告
姓名: 莫鴻斌
學(xué)號:201601030137
班級:2016級計算機(jī)科學(xué)與技術(shù)
實(shí)驗(yàn)日期: 2018-3-16
一、實(shí)驗(yàn)項(xiàng)目
了解SQL Server2012常用組件
二、實(shí)驗(yàn)?zāi)康?/p>
1.掌握SQL Server Management Studio的運(yùn)用; 2.掌握SQL Server 2012常用組件;
3.如何使用SQL Server Management Studio創(chuàng)建數(shù)據(jù)庫及表。
三、實(shí)驗(yàn)內(nèi)容
1.了解SQL Server2012常用組件;
2.使用SQL Server management studio創(chuàng)建數(shù)據(jù)庫factory,要求將數(shù)據(jù)庫文件factory_data.MDF存放在E:data下面,其文件初始大小5MB,自動按5MB增長,將事務(wù)日志文件factory_log.LDF存放在E:data目錄下,其文件大小按1MB自動增長。3.在數(shù)據(jù)庫factory下創(chuàng)建如下表: 職工表(職工號(int),姓名(char(10)),性別(char(2)),出生日期(datetime),黨員否(bit),參加工作時間(datetime),部門號(int)),其中職工號作為主鍵。部門表(部門號(int),部門名(char(10)),其中部門號作為主鍵。工資表(職工號(int),發(fā)放年份(int),發(fā)放月份(int),工資(decimal(6,1))),其中職工號、年份、月份作為主鍵。
4.建立第三步創(chuàng)建的表之間的參照完整性規(guī)則。5.在上述表中輸入數(shù)據(jù),每個表至少10條記錄。6.備份數(shù)據(jù)庫,考走以備下次試驗(yàn)使用。
四、實(shí)驗(yàn)環(huán)境
安裝有SQL Server2008的PC一臺。
五、實(shí)驗(yàn)步驟及結(jié)果
1.了解SQL Server2012常用組件;
2.使用SQL Server management studio創(chuàng)建數(shù)據(jù)庫factory;要求將數(shù)據(jù)庫文件factory_data.MDF存放在E:data下面,其文件初始大小5MB,自動按5MB增長,將事務(wù)日志文件factory_log.LDF存放在E:data目錄下,其文件大小按1MB自動增長。
3.在數(shù)據(jù)庫factory下創(chuàng)建如下表: 職工表(職工號(int),姓名(char(10)),性別(char(2)),出生日期(datetime),黨員否(bit),參加工作時間(datetime),部門號(int)),其中職工號作為主鍵。部門表(部門號(int),部門名(char(10)),其中部門號作為主鍵。工資表(職工號(int),發(fā)放年份(int),發(fā)放月份(int),工資(decimal(6,1))),其中職工號、年份、月份作為主鍵。
4.建立第三步創(chuàng)建的表之間的參照完整性規(guī)則。
5.在上述表中輸入數(shù)據(jù),每個表至少10條記錄。
6.備份數(shù)據(jù)庫,考走以備下次試驗(yàn)使用。
六、結(jié)論及思考
第四篇:數(shù)據(jù)庫原理實(shí)驗(yàn)報告
南 京 曉 莊 學(xué) 院
《數(shù)據(jù)庫原理與應(yīng)用》
課程實(shí)驗(yàn)報告
實(shí)驗(yàn)一 SQL Server 2005常用服務(wù)與實(shí)用工具實(shí)驗(yàn)
所在院(系): 數(shù)學(xué)與信息技術(shù)學(xué)院 班級:
學(xué)號:
姓名:
1.實(shí)驗(yàn)?zāi)康?/p>
(1)了解Microsoft 關(guān)系數(shù)據(jù)庫管理系統(tǒng)SQL Server的發(fā)展歷史及其特性。(2)了解SQL Server 2005的主要組件、常用服務(wù)和系統(tǒng)配置。
(3)掌握Microsoft SQL Server Management Studio 圖形環(huán)境的基本操作方法。了解使用“SQL Server 2005 聯(lián)機(jī)從書”獲取幫助信息的方法;了解“查詢編輯器”的使用方法;了解模板的使用方法。
2.實(shí)驗(yàn)要求
(1)收集整理Microsoft關(guān)系數(shù)據(jù)庫管理系統(tǒng)SQL Server的相關(guān)資料,總結(jié)其發(fā)展歷史及SQL Server 2005主要版本類別和主要功能特性。
(2)使用SQL Server配置管理器查看和管理SQL Server 2005服務(wù)。
(3)使用Microsoft SQL Server Management Studio連接數(shù)據(jù)庫;使用SQL Server幫助系統(tǒng)獲得所感興趣的相關(guān)產(chǎn)品主題/技術(shù)文檔。
(4)使用Microsoft SQL Server Management Studio“查詢編輯器”編輯并執(zhí)行Transact-SQL查詢語句。
(5)查看Microsoft SQL Server 2005模板,了解模板的使用方法。(6)按要求完成實(shí)驗(yàn)報告。
3.實(shí)驗(yàn)步驟、結(jié)果和總結(jié)實(shí)驗(yàn)步驟/結(jié)果
(1)簡要總結(jié)SQL Server系統(tǒng)發(fā)展歷史及SQL Server 2005主要版本類別與主要功能特性。
(2)總結(jié)SQL Server Management Studio的主要操作方法。
(3)總結(jié)查詢編輯器的功能和主要操作方法,并舉例說明。
(4)總結(jié)“模板”的使用方法,并舉例說明。
4.實(shí)驗(yàn)思考:
查詢相關(guān)資料,簡要描述SQL Server 2005的主要服務(wù)。
第五篇:數(shù)據(jù)庫原理實(shí)驗(yàn)報告
南 京 曉 莊 學(xué) 院
《數(shù)據(jù)庫原理與應(yīng)用》
課程實(shí)驗(yàn)報告
實(shí)驗(yàn)二 數(shù)據(jù)庫的創(chuàng)建、管理、備份及還原實(shí)驗(yàn)
所在院(系): 數(shù)學(xué)與信息技術(shù)學(xué)院 班級:
學(xué)號:
姓名:
1.實(shí)驗(yàn)?zāi)康?/p>
(1)掌握分別使用SQL Server Management Studio圖形界面和Transact-SQL語句創(chuàng)建和修改數(shù)據(jù)庫的基本方法;
(2)學(xué)習(xí)使用SQL Server查詢分析窗口接收Transact-SQL語句和進(jìn)行結(jié)果分析。
(3)了解SQL Server的數(shù)據(jù)庫備份和恢復(fù)機(jī)制,掌握SQL Server中數(shù)據(jù)庫備份與還原的方法。
2.實(shí)驗(yàn)要求
(1)使用SQL Server Management Studio創(chuàng)建“教學(xué)管理”數(shù)據(jù)庫。
(2)使用SQL Server Management Studio修改和刪除“教學(xué)管理”數(shù)據(jù)庫。(3)使用Transact-SQL語句創(chuàng)建“教學(xué)管理”數(shù)據(jù)庫。
(4)使用Transact-SQL語句修改和刪除“教學(xué)管理”數(shù)據(jù)庫。(5)使用SQL Server Management Studio創(chuàng)建“備份設(shè)備”;使用SQL Server Management Studio對數(shù)據(jù)庫“教學(xué)管理”進(jìn)行備份和還原。(6)SQL Server 2005數(shù)據(jù)庫文件的分離與附加。(7)按要求完成實(shí)驗(yàn)報告
3.實(shí)驗(yàn)步驟、結(jié)果和總結(jié)實(shí)驗(yàn)步驟/結(jié)果
(1)總結(jié)使用SQL Server Management Studio創(chuàng)建、修改和冊除“TM”(教學(xué)管理)數(shù)據(jù)庫的過程。
一、使用SQL Server Management Studio創(chuàng)建數(shù)據(jù)庫的步驟如下:
a.在磁盤上新建一個目錄,如在C:盤中新建“MyDB“目錄
b.在wimdows系統(tǒng)“開始“菜單中,依次選取”程序->Microsoft SQL Server 2005->SQL Management Studio” ,打開SQL Server Management Studio并連接到SQL Server 2005服務(wù)。
c.在“對象資源管理器“中單擊SQL Server服務(wù)器前面的“+”號或直接雙擊數(shù)據(jù)庫名稱,展開該服務(wù)器對象資源樹形結(jié)構(gòu),然后右鍵點(diǎn)擊“數(shù)據(jù)庫”文件夾,在彈出的快捷菜單上選擇“新建數(shù)據(jù)庫”選項(xiàng)
d.在打開的“新建數(shù)據(jù)庫”對話窗口中輸入數(shù)據(jù)庫名稱“教學(xué)管理”,在該窗口中“數(shù)據(jù)庫文件”設(shè)置部分可以修改數(shù)據(jù)文件和日志文件的文件名、初始大小、保存路徑等。
e.單擊“確定”按鈕,創(chuàng)建“教學(xué)管理”數(shù)據(jù)庫。
二、使用SQL Server Management Studio修改和刪除“教學(xué)管理”數(shù)據(jù)庫
1、使用SQL Server Management Studio圖形界面直接修改“教學(xué)管理”數(shù)據(jù)庫名為“TM”
2、使用SQL Server Management Studio圖形界面查看和修改數(shù)據(jù)庫屬性 a.在快捷菜單中選擇“屬性”項(xiàng)進(jìn)入
使用
3.使用SQL Server Management Studio圖形界面刪除數(shù)據(jù)庫 在第一幅圖中的快捷菜單中選擇“刪除”項(xiàng)
(2)總結(jié)在實(shí)驗(yàn)中為創(chuàng)建、修改和刪除“教學(xué)管理”數(shù)據(jù)庫所編寫的各條T-SQL語句及其完成了什么功能。
1、創(chuàng)建:
CREATE DATABASE 教學(xué)管理 ON PRIMARY(Name=JXGL, FileName='C:MyDBJXGL_Data.mdf', Size=3MB, MaxSize=100MB, filegrowth=1MB)LOG ON(Name=JXGL_Log, FileName='C:MyDBJXGL_Log.ldf', Size=1MB, MaxSize=UNLIMITED, FileGrowth=10%);點(diǎn)擊執(zhí)行
2、使用Transact-SQL語句修改和刪除“教學(xué)管理”數(shù)據(jù)庫
增加數(shù)據(jù)文件。例如,在數(shù)據(jù)庫“教學(xué)管理”中增加數(shù)據(jù)文件JXGL_EXT,需要在數(shù)據(jù)庫查詢編輯器中輸入代碼:
在增加數(shù)據(jù)文件之前,要先獲得修改權(quán)限,即alter database數(shù)據(jù)庫句法,然后再添加數(shù)據(jù)文件。具體參數(shù)也有5項(xiàng),與創(chuàng)建數(shù)據(jù)文件相同,在添加數(shù)據(jù)文件項(xiàng)中,name項(xiàng)是必不可少的。
編寫T—SQL語句,刪除“教學(xué)管理”數(shù)據(jù)庫中的數(shù)據(jù)文件或日志文件,注意不能刪除非空文件。如刪除剛添加到數(shù)據(jù)庫中的數(shù)據(jù)文件“jxgl_ext1” 實(shí)例代碼如下: ALTER DATABASE 教學(xué)管理
REMOVEFILE jxgl_ex1——刪除數(shù)據(jù)庫文件時應(yīng)指定其邏輯名稱
SQL語句刪除數(shù)據(jù)庫?刪除了數(shù)據(jù)庫“教學(xué)管理” drop database 教學(xué)管理
檢查所輸入SQL語句有無語法錯,確認(rèn)正確后, 按F5鍵或單擊“執(zhí)行”按鈕,這樣就刪除了數(shù)據(jù)庫“教學(xué)管理”。
(3)總結(jié)使用SQL Server Management Studio備份與還原數(shù)據(jù)庫的幾種方法。
1、創(chuàng)建“備份設(shè)備”
2、對數(shù)據(jù)庫“TM”進(jìn)行備份
1)打開 SQL Server Management Studio,右擊需要備份的數(shù)據(jù)庫,從彈出的快捷菜單中依次選擇【任務(wù)】--【備份】命令,打開【備份數(shù)據(jù)庫】對話框。如下圖所示:
(2)在【備份數(shù)據(jù)庫】對話框的【常規(guī)】頁面中根據(jù)需要選擇需要備份的【數(shù)據(jù)庫】,在本示例選擇備份數(shù)據(jù)庫.接下來還可以選擇【備份類型】、備份集的名稱等相關(guān)參數(shù)。默認(rèn)情況下,備份操作會所數(shù)據(jù)庫中的數(shù)據(jù)備份到 SQL SERVER 數(shù)據(jù)庫的默認(rèn)工作目錄
(3)切換【備份數(shù)據(jù)庫】對話框中的【選項(xiàng)】頁面。在此頁面中,可以根據(jù)需要進(jìn)行相應(yīng)的設(shè)置。例如,可以根據(jù)需要將現(xiàn)有數(shù)據(jù)備分到現(xiàn)有的備份集中,也可使用數(shù)據(jù)庫中的當(dāng)前數(shù)據(jù)覆蓋現(xiàn)有的備份集。除此之外。還可以設(shè)置備份操作的可靠性選項(xiàng)。
單擊【確定】按鈕,即可執(zhí)行備份操作。一旦備份操作結(jié)束。SQL SERVER 數(shù)據(jù)庫系統(tǒng)將彈出名為 Microsoft SQL Server Management Studio 的對話框,提示備份已成功完成。
3、使用“TM”數(shù)據(jù)庫完整備份還原數(shù)據(jù)庫到備份完成時點(diǎn)的數(shù)據(jù)庫狀態(tài) 通過 SQL Server Management Studio 還原數(shù)據(jù)庫
使用 SQL Server Management Studio 進(jìn)行數(shù)據(jù)還原操作的步驟如下所示:
(1)右擊【數(shù)據(jù)庫】節(jié)點(diǎn),從彈出的快捷菜單中選擇【還原數(shù)據(jù)庫】命令,打開【還原數(shù)據(jù)庫】對話框,如下圖所示:
在[還原數(shù)據(jù)庫]對話框中的[常規(guī)]頁面中,選擇[目標(biāo)]下拉列框中的[源數(shù)據(jù)庫]選項(xiàng)。
[選擇用于還原的備份集]列表框中將顯示用于還原TM數(shù)據(jù)庫的可用備份集,備份集,且[目標(biāo)數(shù)據(jù)庫]將會被同時設(shè)置為TM
在“還原數(shù)據(jù)庫”的窗口中選擇“選項(xiàng)”頁,在“還原選項(xiàng)”選項(xiàng)區(qū)域中選擇“覆蓋現(xiàn)有數(shù)據(jù)庫”復(fù)選框,單擊確定。還原操作完成后,打開“TM”數(shù)據(jù)庫,可以看到TM數(shù)據(jù)庫已進(jìn)行還原
4.實(shí)驗(yàn)思考:
①SQL Server 2005物理數(shù)據(jù)庫包含了哪能幾種類型的文件以及它們的作用? SQL Server2005數(shù)據(jù)庫具有三種類型的文件:
主數(shù)據(jù)文件
主數(shù)據(jù)文件是數(shù)據(jù)庫的起點(diǎn),指向數(shù)據(jù)庫中的其他文件。每個數(shù)據(jù)庫都有一個主數(shù)據(jù)文件。主數(shù)據(jù)文件的推薦文件擴(kuò)展名是.mdf。它將數(shù)據(jù)存儲在表和索引中,包含數(shù)據(jù)庫的啟動信息,還包括一些系統(tǒng)表,這些表記載數(shù)據(jù)庫對象及其他文件的位置信息。
次要數(shù)據(jù)文件
除主數(shù)據(jù)文件之外的所有其他數(shù)據(jù)文件都是次要數(shù)據(jù)文件。某些數(shù)據(jù)庫可能不含有任何次要數(shù)據(jù)文件。次要數(shù)據(jù)文件的推薦文件擴(kuò)展名是.ndf。
日志文件
SQL Server具有事物功能,日志文件包含著用于恢復(fù)數(shù)據(jù)庫的所有日志信息。每個數(shù)據(jù)庫必須至少有一個日志文件,當(dāng)然也可以有多個,建立數(shù)據(jù)庫時,SQL Server會自動建立數(shù)據(jù)庫的日志文件。日志文件的推薦文件擴(kuò)展名是.ldf。②數(shù)據(jù)庫備份與轉(zhuǎn)儲包含那些原理?
備份(backup)實(shí)際就是數(shù)據(jù)的副本,備份的目的是為了防止不可預(yù)料的數(shù)據(jù)丟 失和應(yīng)用錯誤。
轉(zhuǎn)儲(restore)是指當(dāng)數(shù)據(jù)文件或控制文件出現(xiàn)損壞時,將已備份的副本文件還原到原數(shù)據(jù)庫的過程
數(shù)據(jù)庫轉(zhuǎn)存實(shí)現(xiàn)熱備份恢復(fù)功能。通過修改初始化文件里的路徑,實(shí)現(xiàn)轉(zhuǎn)存。啟 動到MOUNT狀態(tài)下,將所有數(shù)據(jù)文件和日志文件通過ALTER DATABASE RENAME FILE '原始路徑/名稱' TO '當(dāng)前路徑/名稱';然后將數(shù)據(jù)庫打開,重建TEMP tablespace即可。數(shù)據(jù)轉(zhuǎn)儲是數(shù)據(jù)庫恢復(fù)中采用的基本技術(shù)。
所謂轉(zhuǎn)儲即dba定期地將數(shù)據(jù)庫復(fù)制到磁帶或另一個磁盤上保存起來的過程。當(dāng)數(shù)據(jù)庫遭到破壞后可以將后備副本重新裝入,將數(shù)據(jù)庫恢復(fù)到轉(zhuǎn)儲時的狀態(tài)。靜態(tài)轉(zhuǎn)儲:在系統(tǒng)中無運(yùn)行事務(wù)時進(jìn)行的轉(zhuǎn)儲操作。靜態(tài)轉(zhuǎn)儲簡單,但必須等待 正運(yùn)行的用戶事務(wù)結(jié)束才能進(jìn)行。同樣,新的事務(wù)必須等待轉(zhuǎn)儲結(jié)束才能執(zhí)行。顯然,這會降低數(shù)據(jù)庫的可用性。動態(tài)轉(zhuǎn)儲:指轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進(jìn)行存取或修改。動態(tài)轉(zhuǎn)儲可克服靜態(tài) 轉(zhuǎn)儲的缺點(diǎn),它不用等待正在運(yùn)行的用戶事務(wù)結(jié)束,也不會影響新事務(wù)的運(yùn)行。但是,轉(zhuǎn)儲結(jié)束時后援副本上的數(shù)據(jù)并不能保證正確有效。因?yàn)檗D(zhuǎn)儲期間運(yùn)行的 事務(wù)可能修改了某些數(shù)據(jù),使得后援副本上的數(shù)據(jù)不是數(shù)據(jù)庫的一致版本。為此,必須把轉(zhuǎn)儲期間各事務(wù)對數(shù)據(jù)庫的修改活動登記下來,建立日志文件(log file)。這樣,后援副本加上日志文件就能得到數(shù)據(jù)庫某一時刻的正確狀態(tài)。轉(zhuǎn)儲還可以分為海量轉(zhuǎn)儲和增量轉(zhuǎn)儲兩種方式。海量轉(zhuǎn)儲是指每次轉(zhuǎn)儲全部數(shù)據(jù)庫。
增量轉(zhuǎn)儲則指每次只轉(zhuǎn)儲上一次轉(zhuǎn)儲后更新過的數(shù)據(jù)。
從恢復(fù)角度看,使用海量轉(zhuǎn)儲得到的后備副本進(jìn)行恢復(fù)一般說來更簡單些。但如 果數(shù)據(jù)庫很大,事務(wù)處理又十分頻繁,則增量轉(zhuǎn)儲方式更實(shí)用更有效。
③如果數(shù)據(jù)或日志文件非空不能刪除,查找SQL Server中縮小文件大小的方法。
在SQL Server中,所有對數(shù)據(jù)庫執(zhí)行的更新操作都會記錄在數(shù)據(jù)庫的事務(wù)日志文件中,除非將數(shù)據(jù)庫設(shè)為可自動收縮的或手動的對數(shù)據(jù)庫進(jìn)行了收縮,否則事務(wù)日志文件將一直增長,直到達(dá)到事先設(shè)定的日志文件增長上限或用盡所有可用的磁盤空間。如果當(dāng)前的數(shù)據(jù)庫文件或日志文件過大,可以使用以下兩個命令對其進(jìn)行收縮: DBCC SHRINKDATABASE:收縮指定數(shù)據(jù)庫的所有數(shù)據(jù)和日志文件的大小 DBCC SHRINKFILE:收縮數(shù)據(jù)庫的某個指定數(shù)據(jù)或日志文件的大小
這兩個命令可以釋放數(shù)據(jù)庫中的空閑空間,并將數(shù)據(jù)庫或指定的數(shù)據(jù)庫文件收縮到指定的大小,但收縮后的數(shù)據(jù)文件或日志文件的大小不會小于文件中現(xiàn)存的有效數(shù)據(jù)所占空間的大小。在使用以上命令收縮日志文件的時候需要注意,已寫入數(shù)據(jù)庫但未被截斷的事務(wù)日志記錄是 不會被收縮的,因?yàn)殡m然這部分日志記錄的信息已經(jīng)寫入數(shù)據(jù)庫文件,但在使用事務(wù)日志備份進(jìn)行數(shù)據(jù)庫還 原的時候,還將用到其中的信息。
對于使用簡單恢復(fù)模型的數(shù)據(jù)庫,事務(wù)日志會在每次處理檢查點(diǎn)(CheckPoint)時自動被截 斷。
對于使用完全恢復(fù)模型或大容量日志記錄恢復(fù)模型的數(shù)據(jù)庫,事務(wù)日志只有在執(zhí)行日志備份(BACKUP LOG)時才會被截斷,這時事務(wù)日志中記錄的信息被寫入事務(wù)日志備份文件,而它們所占用的這部分空間被標(biāo)記為可用(即被截斷)。
截斷事務(wù)日志并不會使日志文件變小,但可以將其中的部分空間釋放供以后寫入新的日志記錄使用。若要減少日志文件的物理大小,則要使用上面提到的
在執(zhí)行BACKUP LOG語句的時候,還可以使用WITH NO_LOG(或WITH TRUNCATE_ONLY,含 義相同)參數(shù),這時并不真正備份事務(wù)日志,而只是截斷事務(wù)日志中的非活動部分
(這和普通的BACKUP LOG語句作用相同)。這適合于剩余磁盤空間不夠進(jìn)行事務(wù)日志備份或不打算保 留事務(wù)日志中的非活動部分用于數(shù)據(jù)庫恢復(fù)的情況。避免事務(wù)日志文件增長過快以致用盡所有磁盤空間的現(xiàn)象發(fā)生
一種辦法是將數(shù)據(jù)庫設(shè)為使用簡單恢復(fù)模型,這樣可以使SQL Server周期性的自動截斷事務(wù)日志的
非活動部分,并回收其占用的空間供以后寫入事務(wù)日志記錄使用。但這將使數(shù)據(jù)庫無法利用事務(wù)日志備份還原到即時點(diǎn),降低了數(shù)據(jù)庫的可靠性,因此一般不應(yīng)用于生產(chǎn)型數(shù)據(jù)庫。對于生產(chǎn)型數(shù)據(jù)庫,推薦的做法是使用完全恢復(fù)模型,并定期進(jìn)行數(shù)據(jù)庫的完全備份和事務(wù)日志備份。例 如每周執(zhí)行一次完全備份,每天執(zhí)行一次事務(wù)日志備份,這可以通過SQL Server企業(yè)管理器中的數(shù)據(jù)庫 維護(hù)計劃向?qū)Ш芊奖愕膶?shí)現(xiàn)(一般可以設(shè)為在每天夜里業(yè)務(wù)不繁忙的某個時刻自動執(zhí)行備份)。
通過定期執(zhí)行數(shù)據(jù)庫的事務(wù)日志備份,可以避免日志文件的迅速增大,而使其保持一個比較穩(wěn)定的大小。
雖然數(shù)據(jù)庫備份文件也會占用很多磁盤空間,但隨時可以將這些文件移到其他磁盤上或在不需要它們的時候?qū)⑵鋭h除,而且可以在出現(xiàn)故障或誤操作的時候方便的進(jìn)行數(shù)據(jù)庫的還原。
由于數(shù)據(jù)文件的大小是隨數(shù)據(jù)庫中數(shù)據(jù)量的增長而增長的,數(shù)據(jù)庫中已刪除的數(shù)據(jù)所占的空間可以供新插 入的數(shù)據(jù)使用;而在定期執(zhí)行了事務(wù)日志的備份后,我們可以將日志文件的大小控制在一個比較合理的范 圍。因此,一般不需要對數(shù)據(jù)庫進(jìn)行收縮,也不推薦將數(shù)據(jù)庫設(shè)為自動收縮模式。
減小事務(wù)日志文件大小的
首先在該數(shù)據(jù)庫中執(zhí)行CHECKPOINT命令,然后將該數(shù)據(jù)庫分離(Detach),再將與其對應(yīng)的數(shù)據(jù)庫日志 文件(.ldf文件)改名或刪除或移動到其他目錄下,然后執(zhí)行sp_attach_single_file_db存儲過程或在企業(yè)管 理器中重新將其附加(Attach)。由于找不到原來的日志文件,SQL Server將自動為該數(shù)據(jù)庫建立一個大 小只有504K的日志文件。但這種方法必須暫時將數(shù)據(jù)庫脫機(jī),因此一般不適宜在生產(chǎn)環(huán)境中使用。
1、建議首先備份數(shù)據(jù)庫(但不是必需的):
BACKUP DATABASE database_name TO backup_device
2、備份事務(wù)日志:
BACKUP LOG database_name TO backup_device 如果不需要當(dāng)前事務(wù)日志中的記錄進(jìn)行數(shù)據(jù)庫還原或沒有足夠的空間進(jìn)行事務(wù)日志備份的 的話,也可僅執(zhí)行以下命令截斷事務(wù)日志: BACKUP LOG database_name WITH NO_LOG
3、收縮事務(wù)日志文件:
DBCC SHRINKFILE(log_file_name)其中l(wèi)og_file_name是事務(wù)日志文件的邏輯名稱,可以在企業(yè)管理器中數(shù)據(jù)庫屬性的“事務(wù) 日志”頁中看到(如Northwind數(shù)據(jù)庫的默認(rèn)事務(wù)日志文件邏輯名稱為Northwind_log)。
4、如果日志文件仍然較大的話,可以嘗試重復(fù)執(zhí)行一次 BACKUP LOG WITH NO_LOG和DBCC SHRINKFILE命令。
5、如果這時仍沒有明顯的效果,請執(zhí)行DBCC OPENTRAN(database_name)檢查當(dāng)前數(shù)據(jù)庫中是否存在長時間未提交的活動事務(wù)。有必要的話,可以斷開這些連接并重新嘗試截斷事務(wù)日志和收縮日志文件。
6、事務(wù)日志文件收縮完成后,建議立即執(zhí)行一次數(shù)據(jù)庫的完全備份并根據(jù)實(shí)際需要制定適當(dāng)?shù)臄?shù)據(jù)庫備份計劃。④思考后續(xù)實(shí)驗(yàn)過程中,你計劃采用哪種方法備份自己的數(shù)據(jù)庫實(shí)驗(yàn)操作結(jié)果?并說明為什么采用該方法。
答:數(shù)據(jù)庫備份有四種類型
? 完全備份 ? 事務(wù)日志備份 ? 差異備份
? 文件備份 采用完全備份
完全備份就是指對某一個時間點(diǎn)上的所有數(shù)據(jù)(包含用戶表、系統(tǒng)表、索引、視圖和存儲過程等所有數(shù)據(jù)庫對象)或應(yīng)用進(jìn)行的一個完全拷貝。
實(shí)際應(yīng)用中就是用一盤磁帶對整個系統(tǒng)進(jìn)行完全備份,包括其中的系統(tǒng)和所有數(shù)據(jù)。
這種備份方式最大的好處就是只要用一盤磁帶,就可以恢復(fù)丟失的數(shù)據(jù)。因此大大加快了系統(tǒng)或數(shù)據(jù)的恢復(fù)時間。