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