日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
SQL Server移動(dòng)系統(tǒng)數(shù)據(jù)庫(kù)開(kāi)發(fā)詳解

移動(dòng)數(shù)據(jù)庫(kù)***的問(wèn)題在于性能,因?yàn)槭苤朴谝苿?dòng)平臺(tái)的計(jì)算能力。本文將為大家講的是基于SQL Server 2005或2008平臺(tái)進(jìn)行的移動(dòng)系統(tǒng)數(shù)據(jù)庫(kù)開(kāi)發(fā)。

目前成都創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、二連浩特網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

說(shuō)到這個(gè)問(wèn)題,基本上有人就會(huì)想到三個(gè)問(wèn)題:

1,什么是系統(tǒng)數(shù)據(jù)?

2,為什么要移動(dòng)系統(tǒng)數(shù)據(jù)庫(kù)?

3,移動(dòng)系統(tǒng)數(shù)據(jù)庫(kù)我們可以用附加和分離,為什么還要單獨(dú)拿出來(lái)說(shuō)呢?

對(duì)于這三個(gè)問(wèn)題我一個(gè)一個(gè)講吧,也算是自己做個(gè)筆記。

1,什么是系統(tǒng)數(shù)據(jù)?

所謂系統(tǒng)數(shù)據(jù)庫(kù)就是我們?cè)谘bSQL Server之后,系統(tǒng)自帶的數(shù)據(jù)庫(kù)(這樣的回答是不是很白癡^_^).

如果你裝SQL Server2005或2008在打開(kāi)一個(gè)SQL實(shí)例后,就會(huì)看到一個(gè)數(shù)據(jù)庫(kù)--->系統(tǒng)數(shù)據(jù)庫(kù)文件夾,里邊就是系統(tǒng)自帶的數(shù)據(jù)庫(kù),如圖:

對(duì)于每一個(gè)系統(tǒng)數(shù)據(jù)庫(kù),這里我先用簡(jiǎn)單的語(yǔ)言說(shuō)一下:

1)master:

這個(gè)數(shù)據(jù)庫(kù)是全局?jǐn)?shù)據(jù)庫(kù),它包含一些系統(tǒng)表,權(quán)限分配,用戶帳號(hào)設(shè)置,當(dāng)前數(shù)據(jù)庫(kù)配置信息以及關(guān)于磁盤空間,文件分配等信息。所以在執(zhí)行諸如用戶帳號(hào)設(shè)置,權(quán)限分配和改變系統(tǒng)配置信息后都要備份此數(shù)據(jù)。所以在這里強(qiáng)烈建議,不僅要經(jīng)常備份自己的數(shù)據(jù)庫(kù),還有備份此數(shù)據(jù)庫(kù),雖然不像備份自己數(shù)據(jù)庫(kù)那樣那么頻繁。至少半個(gè)月或一個(gè)月備份一次此數(shù)據(jù)庫(kù)。

在這里還有專門的一個(gè)數(shù)據(jù)庫(kù)大牛討論過(guò)是否應(yīng)該備份此數(shù)據(jù)庫(kù):SQL SERVER – Backup master Database Interval – master Database Best Practices

2)model:

這個(gè)數(shù)據(jù)庫(kù)只是一個(gè)模板數(shù)據(jù)庫(kù),我們?cè)趧?chuàng)建任意的一個(gè)數(shù)據(jù)庫(kù)的時(shí)候,都是復(fù)制此數(shù)據(jù)庫(kù)為新數(shù)據(jù)庫(kù)的基礎(chǔ),如果希望每一個(gè)新的數(shù)據(jù)庫(kù)都含有某些對(duì)象或者權(quán)限,可以把這個(gè)對(duì)象或權(quán)限放在此數(shù)據(jù)庫(kù)中,新創(chuàng)建的新數(shù)據(jù)庫(kù)都會(huì)繼承此數(shù)據(jù)的新對(duì)象或權(quán)限,并且擁有這些對(duì)象或權(quán)限。

3)msdb:

作者原話:SQL Server代理服務(wù)器會(huì)使用該數(shù)據(jù)庫(kù),它會(huì)執(zhí)行一些列如備份和復(fù)制任務(wù)的計(jì)劃好的活動(dòng)。Service Borker也會(huì)用到該數(shù)據(jù)庫(kù),他為SQL Sever提供隊(duì)列和可靠消息傳遞。當(dāng)我們不在該數(shù)據(jù)庫(kù)執(zhí)行備份或維護(hù)任務(wù)時(shí),通??梢院雎栽摂?shù)據(jù)庫(kù)。在SQL Server2005之前,實(shí)際上是可以刪除該數(shù)據(jù)庫(kù)的,只后SQL Server仍然可用,但不能在維護(hù)任何備份歷史了,并且不能夠在定義任務(wù),警告,工作或者建立復(fù)制,不過(guò)因?yàn)槟J(rèn)的msdb數(shù)據(jù)庫(kù)非常小,建議即使用不到也不要?jiǎng)h除它。

4)tempdb:

該數(shù)據(jù)庫(kù)說(shuō)白了,就是一個(gè)中轉(zhuǎn)站或數(shù)據(jù)寄存站,用戶顯示創(chuàng)建的臨時(shí)表,在查詢處理和排序時(shí)內(nèi)部所產(chǎn)生的中間結(jié)果的工作表,維護(hù)用的快照等,都會(huì)用到此數(shù)據(jù)庫(kù),與其他數(shù)據(jù)庫(kù)所不同的是,在每次SQL Server實(shí)例重啟之后,都會(huì)重建而不是恢復(fù). 所以我們?cè)谄渲袆?chuàng)建的所有對(duì)象和權(quán)限在下次重啟SQL Server時(shí)都會(huì)全部丟失。

但是我們也不能忽略此數(shù)據(jù)庫(kù),因?yàn)閠empdb的大小和配置,對(duì)優(yōu)化SQL Server的功能和性能來(lái)說(shuō)很重要。

對(duì)tempdb數(shù)據(jù)庫(kù),還要多說(shuō)幾句,雖然在tempdb每次被重建時(shí),它會(huì)從model數(shù)據(jù)庫(kù)繼承大多數(shù)的數(shù)據(jù)庫(kù)選項(xiàng),但是tempdb卻不會(huì)從modeldb數(shù)據(jù)庫(kù)中復(fù)制其恢復(fù)模式,因?yàn)樗偸鞘褂煤?jiǎn)單恢復(fù)模式。另外,tempdb是無(wú)法刪除的,也不用備份。

2,為什么要移動(dòng)系統(tǒng)數(shù)據(jù)庫(kù)?

我們?cè)诎惭bSQL Server后默認(rèn)的這些系統(tǒng)數(shù)據(jù)庫(kù)都會(huì)放在C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA此文件夾下,一般的都不很大,為什么我們還有移動(dòng)他們呢?

在沒(méi)有實(shí)踐管理服務(wù)器之前,我也沒(méi)有這個(gè)想法,但是我發(fā)現(xiàn)我的服務(wù)器C盤一直都在增加,或者萬(wàn)一重裝系統(tǒng),我設(shè)置的數(shù)據(jù)庫(kù)選項(xiàng),以及用戶賬戶設(shè)置都要重新設(shè)置,所以就有了這個(gè)想法。

還有一點(diǎn)就是作為重新布置計(jì)劃或安排好的維護(hù)操作的一部分,我們也許需要移動(dòng)系統(tǒng)數(shù)據(jù)庫(kù)。

3,用附加和分離就可以,為什么還要單獨(dú)說(shuō)呢?

回答這個(gè)問(wèn)題之前,我們?cè)诳匆粡垐D

注意到了嗎,在我選中master系統(tǒng)數(shù)據(jù)庫(kù)右擊,選中任務(wù)后,并沒(méi)有出現(xiàn)“分離”這個(gè)選項(xiàng)。那就說(shuō)明移動(dòng)這些系統(tǒng)數(shù)據(jù)庫(kù)是和用戶自定義的數(shù)據(jù)庫(kù)是不同的。

移動(dòng)tempdb,model和msdb的步驟和移動(dòng)master數(shù)據(jù)庫(kù)步驟稍微有點(diǎn)不同。

1),移動(dòng)tempdb,model和msdb數(shù)據(jù)庫(kù)

i),移動(dòng)一個(gè)沒(méi)有損壞的系統(tǒng)數(shù)據(jù)庫(kù)

首先讓我們用查詢命令看一下SQL Server默認(rèn)存儲(chǔ)這些系統(tǒng)數(shù)據(jù)庫(kù)的路徑;查詢命令:

 
 
 
 
  1. SELECT name,physical_name AS CurrentLocation,state_desc   
  2. FROM sys.master_files  

F5執(zhí)行,顯示如圖:

之后開(kāi)始我們的移動(dòng)之旅吧!

a),對(duì)數(shù)據(jù)庫(kù)中每個(gè)要移動(dòng)的文件使用帶有MODIFY FILE選項(xiàng)的ALTER DATABASE命令來(lái)指定新的文件夾選項(xiàng)。如:

 
 
 
 
  1. --Movetempdb
  2. ALTERDATABASEtempdbMODIFYFILE(NAME='tempdev',FILENAME='D:\Database\tempdb.mdf');
  3. ALTERDATABASEtempdbMODIFYFILE(NAME='templog',FILENAME='D:\Database\templog.ldf');
  4. --Movemodel
  5. ALTERDATABASEmodelMODIFYFILE(NAME='modeldev',FILENAME='D:\Database\model.mdf');
  6. ALTERDATABASEmodelMODIFYFILE(NAME='modellog',FILENAME='D:\Database\modellog.ldf');
  7. --Movemsdb
  8. ALTERDATABASEmsdbMODIFYFILE(NAME='MSDBData',FILENAME='D:\Database\msdbdata.mdf');
  9. ALTERDATABASEmsdbMODIFYFILE(NAME='MSDBLog',FILENAME='D:\Database\msdb_log.ldf');

b),在命令提示行下用NET STOP MSSQLSERVER命令停止SQL Server實(shí)例;

c),物理移動(dòng)文件到我們定義的文件夾,比如上面所述D:\Database文件夾;

d),重啟SQL Server實(shí)例;

大功告成,然后在用上面的查詢來(lái)驗(yàn)證更改,F(xiàn)5執(zhí)行,顯示如圖:

ii)由于硬件故障而需要移動(dòng)系統(tǒng)數(shù)據(jù)庫(kù)

對(duì)于由于硬件故障而需要移動(dòng)系統(tǒng)數(shù)據(jù)庫(kù),上面的方法就不行了,因?yàn)槲覀兛赡軣o(wú)法訪問(wèn)服務(wù)器來(lái)運(yùn)行ALTER DATABASE命令。那我們就另外換一種解決方案!

a)如果SQL Server實(shí)例已經(jīng)啟動(dòng),那么停止該實(shí)例;

b)在命令提示行下,輸入下面的命令把SQL Server實(shí)例啟動(dòng)到master-only恢復(fù)模式

NET START MSSQLSERVER /f /T3608

c)之后我們就能鏈接到服務(wù)器了,接下來(lái)就和上面”移動(dòng)一個(gè)沒(méi)有損壞的系統(tǒng)數(shù)據(jù)庫(kù) ”的步驟就一樣了。

注:如果直接用NET START MSSSQL SERVER命令來(lái)啟動(dòng)SQL Server實(shí)例,會(huì)收到1814的錯(cuò)誤提示。我們可以到“控制面板”-》“管理工具”-》“事件查看器”中看一下具體的錯(cuò)誤日志。

2)移動(dòng)master數(shù)據(jù)庫(kù)

移動(dòng)master數(shù)據(jù)庫(kù)的位置和其他的系統(tǒng)數(shù)據(jù)庫(kù)不同是,只能用SQL Server 配置管理器來(lái)更改master的位置。

首先打開(kāi)SQL Server配置管理器,右擊目標(biāo)SQL Server實(shí)例,選擇屬性,然后點(diǎn)擊高級(jí)標(biāo)簽,如圖所示:

在啟動(dòng)參數(shù)中編輯各個(gè)參數(shù)的值來(lái)指向新的master數(shù)據(jù)庫(kù)數(shù)據(jù)文件和日志文件的目錄位置,如下:

-dD:\Database\master.mdf;

-eC:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;

-lD:\Database\mastlog.ldf

然后停止SQL Server實(shí)例,把物理文件移動(dòng)到新的文件夾下,比如我移動(dòng)到D:\Database\目錄下;

***啟動(dòng)SQL Server實(shí)例,就大功告成了!如果要檢驗(yàn)一下,就用上面所提到的檢驗(yàn)語(yǔ)句,F5執(zhí)行,如圖所示:


新聞標(biāo)題:SQL Server移動(dòng)系統(tǒng)數(shù)據(jù)庫(kù)開(kāi)發(fā)詳解
標(biāo)題路徑:http://www.dlmjj.cn/article/dpcjecs.html