SQL Server 系統(tǒng)數(shù)據(jù)庫(kù)在安裝軟件時(shí)自動(dòng)創(chuàng)建,用于協(xié)助系統(tǒng)共同完成對(duì)數(shù)據(jù)庫(kù)的操作;也是數(shù)據(jù)庫(kù)運(yùn)行的基礎(chǔ);
1,master數(shù)據(jù)庫(kù)
是SQL Server 2012的核心數(shù)據(jù)庫(kù),如果損壞則數(shù)據(jù)庫(kù)軟件無(wú)法運(yùn)行,主要包含如下主要信息:
1)所有用戶(hù)登陸名和用戶(hù)ID所屬角色
2)數(shù)據(jù)庫(kù)存儲(chǔ)路徑
3)服務(wù)器中數(shù)據(jù)庫(kù)的名稱(chēng)和相關(guān)信息
4)系統(tǒng)配置設(shè)置, SQL Server 初始化信息
2,model數(shù)據(jù)庫(kù)
在創(chuàng)建數(shù)據(jù)庫(kù)時(shí),總是以一套預(yù)定義的標(biāo)準(zhǔn)為模板進(jìn)行創(chuàng)建的。以model數(shù)據(jù)庫(kù)為模板來(lái)創(chuàng)建其他數(shù)據(jù)庫(kù)。且model數(shù)據(jù)庫(kù)是tempdb數(shù)據(jù)庫(kù)的基礎(chǔ)。
3,tempdb數(shù)據(jù)庫(kù)
它是一個(gè)臨時(shí)數(shù)據(jù)庫(kù),用來(lái)存儲(chǔ)用戶(hù)建立的臨時(shí)表和臨時(shí)存儲(chǔ)過(guò)程,存儲(chǔ)用戶(hù)定義的全局變量值。它存在于SQL Server會(huì)話(huà)期間,會(huì)話(huà)結(jié)束,則關(guān)閉tempdb數(shù)據(jù)庫(kù),且數(shù)據(jù)庫(kù)丟失。
4,msdb數(shù)據(jù)庫(kù)
用于代理計(jì)劃警報(bào)和作業(yè)
SQL Server 數(shù)據(jù)庫(kù)存儲(chǔ)文件
數(shù)據(jù)庫(kù)文件是由數(shù)據(jù)文件和事務(wù)日志文件組成。
1,數(shù)據(jù)庫(kù)文件指數(shù)據(jù)庫(kù)中用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù)和數(shù)據(jù)庫(kù)對(duì)象的文件,一個(gè)數(shù)據(jù)庫(kù)只能由一個(gè)主數(shù)據(jù)庫(kù)文件,擴(kuò)展名為 .mdf
2, 次數(shù)據(jù)庫(kù)文件包含除主數(shù)據(jù)庫(kù)文件外的所有數(shù)據(jù)文件,一個(gè)數(shù)據(jù)庫(kù)可以沒(méi)有次數(shù)據(jù)庫(kù)文件,也可以由多個(gè),擴(kuò)展名為 .ndf
3, 日志文件由一系列日志記錄組成,它記錄了存儲(chǔ)數(shù)據(jù)庫(kù)的更新情況等事務(wù)日志信息,用戶(hù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行的插入,刪除,更新都會(huì)記錄在日志文件中。數(shù)據(jù)庫(kù)發(fā)生損壞時(shí)可根據(jù)日志文件分析出錯(cuò)原因,或者數(shù)據(jù)丟失時(shí),使用事務(wù)日志恢復(fù)數(shù)據(jù)庫(kù)。每個(gè)數(shù)據(jù)庫(kù)至少要有一個(gè)日志文件。
SQL Server 數(shù)據(jù)庫(kù)創(chuàng)建,使用T-SQL語(yǔ)言創(chuàng)建:
if exists(select * from sysdatabases where name = 'Test_DB') --exists返回‘true'則執(zhí)行刪除數(shù)據(jù)庫(kù)操作-- drop database Test_DB --exists返回‘false'則表明數(shù)據(jù)庫(kù)不存在,直接創(chuàng)建 create database Test_DB on primary ( --主數(shù)據(jù)庫(kù)文件-- name = 'Test_DB',--主數(shù)據(jù)文件邏輯名 fileName = 'E:DBTest_DB.mdf', --主數(shù)據(jù)文件物理邏輯名 size = 5MB, --初始值大小,可以使用KB,MB,GB,TB做后綴,不指定則使用model數(shù)據(jù)庫(kù)中的主文件大小 maxsize = 100MB, --最大大小,一般不限制大小, 一直到磁盤(pán)滿(mǎn),maxsize = unlimited filegrowth = 15% --數(shù)據(jù)文件增長(zhǎng)量,該值可以是KB,MB,GB,TB或者百分比(%),%增量大小為發(fā)生增長(zhǎng)時(shí)文件大小的指定百分比 ) log on ( --日志文件-- name = 'Test_DB_log', filename = 'E:DBTest_DB.ldf', size = 2MB, filegrowth = 1MB ) go
使用T-SQL語(yǔ)言刪除數(shù)據(jù)庫(kù):
DROP DATABASE database_name ; Eg: DROP DATABASE Test_DB;
SQL Server 數(shù)據(jù)庫(kù)遷移:
方法1:“分離/附加”數(shù)據(jù)庫(kù),即把數(shù)據(jù)庫(kù)文件(.MDF)和對(duì)應(yīng)的日志文件(.LDF)拷貝到其它磁盤(pán)上作備份,然后把這兩個(gè)文件再拷貝到任何需要這個(gè)數(shù)據(jù)庫(kù)的系統(tǒng)之中。
分離數(shù)據(jù)庫(kù)就是將某個(gè)數(shù)據(jù)庫(kù)從SQL Server數(shù)據(jù)庫(kù)列表中刪除,使其不再被SQL Server管理和使用,但該數(shù)據(jù)庫(kù)的文件(.MDF)和對(duì)應(yīng)的日志文件(.LDF)完好無(wú)損。分離成功后,就可以把該數(shù)據(jù)庫(kù)文件(.MDF)和對(duì)應(yīng)的日志文件(.LDF)拷貝到其它磁盤(pán)中作為備份保存。
分離之前,設(shè)置數(shù)據(jù)庫(kù)為單個(gè)用戶(hù),并記住該數(shù)據(jù)庫(kù)所在路徑。
“任務(wù)”—“分離”
然后分離數(shù)據(jù)庫(kù)頁(yè)面選中“更新統(tǒng)計(jì)信息”復(fù)選框。若“消息”列中沒(méi)有顯示存在活動(dòng)連接,則“狀態(tài)”列顯示為“就緒”;否則顯示“未就緒”,此時(shí)必須勾選“刪除連接”列的復(fù)選框。分離后資源管理器中數(shù)據(jù)庫(kù)消失
將需要附加的數(shù)據(jù)庫(kù)文件和日志文件拷貝到某個(gè)已經(jīng)創(chuàng)建好的文件夾中。
右擊數(shù)據(jù)庫(kù)對(duì)象,并在快捷菜單中選擇“附加”命令,打開(kāi)“附加數(shù)據(jù)庫(kù)”窗口。
添加—選擇需要附件的數(shù)據(jù)庫(kù)的.MDF文件。“附件為”數(shù)據(jù)庫(kù)名稱(chēng)可修改。






