Sql系統(tǒng)如何進(jìn)行數(shù)據(jù)庫_Sql系統(tǒng)數(shù)據(jù)庫有哪些
數(shù)據(jù)庫管理員(DBA)的一項基本的技能是對SQL數(shù)據(jù)庫引擎的系統(tǒng)數(shù)據(jù)庫的深刻理解。數(shù)據(jù)庫開發(fā)人員了解SQLSERVER自帶的系統(tǒng)數(shù)據(jù)庫也是十分有用的。下面由學(xué)習(xí)啦小編為大家整理的Sql系統(tǒng)數(shù)據(jù)庫,希望大家喜歡!
Sql系統(tǒng)數(shù)據(jù)庫
一、Master
Master數(shù)據(jù)庫保存有放在SQLSERVER實體上的所有數(shù)據(jù)庫,它還是將引擎固定起來的粘合劑。由于如果不使用主數(shù)據(jù)庫,SQLSERVER就不能啟動,所以你必須要小心地管理好這個數(shù)據(jù)庫。因此,對這個數(shù)據(jù)庫進(jìn)行常規(guī)備份是十分必要的。
這個數(shù)據(jù)庫包括了諸如系統(tǒng)登錄、配置設(shè)置、已連接的SERVER等信息,以及用于該實體的其他系統(tǒng)和用戶數(shù)據(jù)庫的一般信息。主數(shù)據(jù)庫還存有擴(kuò)展存儲過程,它能夠訪問外部進(jìn)程,從而讓你能夠與磁盤子系統(tǒng)和系統(tǒng)API調(diào)用等特性交互。這些過程一般都用像C++這樣的現(xiàn)代編程語言。
如果不幸碰到系統(tǒng)崩潰而必須恢復(fù)主數(shù)據(jù)庫的情況,你可以參看MCSE/MCDBA Steven Warren在TechRepublic上發(fā)表的文章。這篇文章講得十分透徹,它解釋了恢復(fù)這一重要數(shù)據(jù)庫所需要的一些特殊步驟。
二、Model
Model是一個用來在實體上創(chuàng)建新用戶數(shù)據(jù)庫的模版數(shù)據(jù)庫。你可以把任何存儲過程、視圖、用戶等放在模型數(shù)據(jù)庫里,這樣在創(chuàng)建新數(shù)據(jù)庫的時候,新數(shù)據(jù)庫就會包含你放在模型數(shù)據(jù)庫里的所有對象了。
三、Tempdb
正如其名字所提示的,tempdb存有臨時對象,例如全局和本地臨時表格和存儲過程。
這個數(shù)據(jù)庫在SQLSERVER每次重啟的時候都會被重新創(chuàng)建,而其中包含的對象是依據(jù)模型數(shù)據(jù)庫里定義的對象被創(chuàng)建的。除了這些對象,tempdb還存有其他對象,例如表格變量、來自表格值函數(shù)的結(jié)果集,以及臨時表格變量。由于tempdb會保留SQLSERVER實體上所有數(shù)據(jù)庫的這些對象類型,所以對數(shù)據(jù)庫進(jìn)行優(yōu)化配置是非常重要的。
在SQL Server 2005里,tempdb數(shù)據(jù)庫還有一項額外的任務(wù);它還被用作一些特性的版本庫,例如新的快照隔離層和在線索引操作等。關(guān)于新的隔離層的簡要說明,請參考我關(guān)于SQL Server 2005高級特性的文章。
四、Distribution
當(dāng)你的SQLSERVER實體被配置為復(fù)制分發(fā)SERVER時,這個數(shù)據(jù)庫就會被添加到你的系統(tǒng)里。在默認(rèn)情況下,數(shù)據(jù)庫的名字就是distribution,但是你可以更改它的名字。這個數(shù)據(jù)庫用來保存歷史和快照、合并和事務(wù)復(fù)制等的元數(shù)據(jù)。
五、Msdb
Msdb數(shù)據(jù)庫用來保存于數(shù)據(jù)庫備份、SQL Agent信息、DTS程序包、SQLSERVER任務(wù)等信息,以及諸如日志轉(zhuǎn)移這樣的復(fù)制信息。
sql數(shù)據(jù)庫遷移
方法一:腳本法
如果你的數(shù)據(jù)庫每天都有更新,而且今天改動量不大,可以將你所有的改動弄成腳本,放到本地數(shù)據(jù)庫執(zhí)行即可。就行一般公司開發(fā)寫數(shù)據(jù)庫發(fā)布腳本一樣。
方法二:備份與還原法
在服務(wù)器的數(shù)據(jù)庫中選中要轉(zhuǎn)移的數(shù)據(jù)庫,按鼠標(biāo)右鍵,選所有任務(wù)->備份數(shù)據(jù)庫;將備份copy到本地,選中本地已有的數(shù)據(jù)庫(沒有需要新建)右鍵→任務(wù)→還原數(shù)據(jù)庫。
找到你copy下來的.bak文件即可,值得提醒是,有時候會出現(xiàn)錯誤:2個數(shù)據(jù)庫不是一個數(shù)據(jù)庫。這種情況點 →選項 勾上 覆蓋現(xiàn)有數(shù)據(jù)庫即可。
方法三:如果只是將服務(wù)器上的數(shù)據(jù)庫copy到本地數(shù)據(jù)庫
則右鍵→導(dǎo)出數(shù)據(jù),按照向?qū)?dǎo)到對應(yīng)的本地數(shù)據(jù)庫(前提是本地數(shù)據(jù)庫沒有數(shù)據(jù),如果有數(shù)據(jù),他不會覆蓋會出現(xiàn)2條相同的記錄),而且完了之后還得到處所有的函數(shù)和存儲過程,所以該方法不推薦。
方法四:附加法
首先分離數(shù)據(jù)庫連接,然后將數(shù)據(jù)庫文件(.mdf文件)copy到本地,然后右鍵→附加 找到該.mdf文件即可
SQL數(shù)據(jù)庫啟動不了如何解決
解決方法一:
將Microsoft SQL Server/MSSQL/Data 目錄改名為data_bak目錄,然后從其他機(jī)器上把master.mdf,master.ldf,model.mdf,modellog.ldf拷過來隨便放到哪(或者直接把data目錄拷過來也行),不能放到Microsoft SQL Server/MSSQL/Data這個目錄。
接著在服務(wù)器上打開C:/Program Files/Microsoft SQL Server/80/Tools/Binn文件夾,找到rebuildm.exe文件并運(yùn)行,重新初始化master表,選擇文件,按旁邊的瀏覽,指向剛剛從旁邊電腦上拷過來的那個文件夾,點確定開始重新初始化,提示成功(有時可能也提示失敗,但不要緊,因為是從另外的電腦拷過來的,數(shù)據(jù)庫文件鏈接不一樣),點確定后就可以啟動SQL服務(wù)了,有時啟動不了的話要機(jī)器重啟一下就可以了,這時把之前的數(shù)據(jù)庫再附加上去就行了,把顯示質(zhì)疑的都刪掉。
解決方法二:
重新安裝sqlserver,一般先到控制面板里面刪除,然后將C:Program Filessql server的安裝目錄刪除,如果你是安裝到別的盤的,別的盤的x:Program Filessql server的文件夾也要刪除,然后重新安裝即可。