Profiler不是sqlserver的組件。SQLServer由以下兩個(gè)主要的組件組成:數(shù)據(jù)庫(kù)引擎SQLOS數(shù)據(jù)庫(kù)引擎SQLServer的核心組件就是數(shù)據(jù)庫(kù)引擎(DatabaseEngine)。
創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、網(wǎng)站建設(shè)與策劃設(shè)計(jì),上饒網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:上饒等地區(qū)。上饒做網(wǎng)站價(jià)格咨詢:18982081108
由二臺(tái)或更多物理上獨(dú)立的服務(wù)器共同組成的“虛擬”服務(wù)器稱之為集群服務(wù)器。一項(xiàng)稱做MicroSoft集群服務(wù)(MSCS)的微軟服務(wù)可對(duì)集群服務(wù)器進(jìn)行管理。一個(gè)SQL Server集群是由二臺(tái)或更多運(yùn)行SQL Server的服務(wù)器(節(jié)點(diǎn))組成的虛擬服務(wù)器。如果集群中的一個(gè)節(jié)點(diǎn)發(fā)生故障,集群中的另一個(gè)節(jié)點(diǎn)就承擔(dān)這個(gè)故障節(jié)點(diǎn)的責(zé)任。
認(rèn)為一個(gè)SQL Server集群能夠給集群中的兩個(gè)節(jié)點(diǎn)帶來(lái)負(fù)載平衡,這是一種常見(jiàn)的誤解。雖然這似乎很有用,但卻是不正確的。這也意味著集束SQL Server不能真正提高性能。集束SQL Server只能提供故障轉(zhuǎn)移功能。故障轉(zhuǎn)移就是當(dāng)系統(tǒng)中的一臺(tái)機(jī)器發(fā)生故障失去其功能時(shí),另一臺(tái)機(jī)器將接手運(yùn)行它的SQL Server實(shí)例。這種功能失效可能是由于硬件故障、服務(wù)故障、人工故障或各種其它原因。
為何要集束SQL Server環(huán)境?
在實(shí)用性方面,集群SQL Server環(huán)境令人滿意。在進(jìn)行故障轉(zhuǎn)移時(shí),將數(shù)據(jù)庫(kù)實(shí)例由一臺(tái)服務(wù)器轉(zhuǎn)移到另一臺(tái)服務(wù)器的時(shí)間非常短暫,一般只需要3至7秒鐘。雖然需要重建連接,但對(duì)數(shù)據(jù)庫(kù)的終端用戶而言,故障轉(zhuǎn)移處理通常是透明的。低廉的故障轉(zhuǎn)移成本還可幫助你對(duì)集群中的節(jié)點(diǎn)進(jìn)行維護(hù),而不會(huì)造成服務(wù)器完全無(wú)法訪問(wèn)。
SQL Server集群類型
一共有兩種類型的SQL Server集群:主動(dòng)/被動(dòng)集群和主動(dòng)/主動(dòng)集群。下面分別對(duì)它們進(jìn)行說(shuō)明(說(shuō)明以兩個(gè)節(jié)點(diǎn)的SQL Server集群為基礎(chǔ))。
主動(dòng)/被動(dòng)集群
在這種類型的集群中,一次只有一個(gè)節(jié)點(diǎn)控制SQL Server資源。另一個(gè)節(jié)點(diǎn)一直處于備用模式,等待故障發(fā)生。進(jìn)行故障轉(zhuǎn)移時(shí),備用的節(jié)點(diǎn)即取得SQL Server資源的控制權(quán)。
優(yōu)點(diǎn):由于服務(wù)器上只有一個(gè)實(shí)例在運(yùn)行,所以在進(jìn)行故障轉(zhuǎn)移時(shí),不需要另外的服務(wù)器來(lái)接管兩個(gè)SQL Server實(shí)例,性能也不會(huì)因此降低。
缺點(diǎn):由于虛擬服務(wù)器上只有一個(gè)SQL Server實(shí)例在運(yùn)行,另一臺(tái)服務(wù)器總是處理備用模式與空閑狀態(tài)。這意味著你并沒(méi)有充分利用你購(gòu)買的硬件。
主動(dòng)/主動(dòng)集群
在這種類型的集群中,集群中的每個(gè)節(jié)點(diǎn)運(yùn)行一個(gè)獨(dú)立且主動(dòng)的SQL Server實(shí)例。發(fā)生節(jié)點(diǎn)故障時(shí),另一個(gè)節(jié)點(diǎn)能夠控制發(fā)生故障節(jié)點(diǎn)的SQL Server實(shí)例。然后這個(gè)正常的節(jié)點(diǎn)將運(yùn)行兩個(gè)SQL Server實(shí)例——它自己的實(shí)例和發(fā)生故障的實(shí)例。
優(yōu)點(diǎn):通過(guò)這種配置,你能夠充分利用你的硬件。在這樣的系統(tǒng)中,兩個(gè)服務(wù)器都在運(yùn)行,而不是只有一臺(tái)服務(wù)器運(yùn)行,而另一臺(tái)處于等待故障發(fā)生的備用模式,因此你能夠充分利用你購(gòu)買的機(jī)器。
缺點(diǎn):如果進(jìn)行故障轉(zhuǎn)移,一臺(tái)服務(wù)器運(yùn)行兩個(gè)SQL Server實(shí)例,性能就會(huì)受到不利影響。然而,性能降低總比虛擬服務(wù)器完全失靈要強(qiáng)得多。這種配置的另一故障在于它要求購(gòu)買的許可要比主動(dòng)/被動(dòng)集群多一些。因?yàn)榧涸谶\(yùn)行兩個(gè)主動(dòng)SQL Server實(shí)例,這要求你購(gòu)買兩個(gè)單獨(dú)的服務(wù)器許可。在某些情況下,這也可能對(duì)你形成阻礙。
集群考慮
在高實(shí)用性方面,集群SQL Server環(huán)境有一定的優(yōu)勢(shì)。然而,高實(shí)用性也確實(shí)伴隨某種折衷。
首先,建立一個(gè)集群SQL Server環(huán)境非常昂貴。這是因?yàn)榧褐械墓?jié)點(diǎn)必須遵照集群節(jié)點(diǎn)的兼容性列表。而且,還需要建立一個(gè)復(fù)雜的網(wǎng)絡(luò),機(jī)器的配置必須幾乎相同,同時(shí)需要實(shí)現(xiàn)數(shù)據(jù)庫(kù)文件磁盤子系統(tǒng)共享。存儲(chǔ)區(qū)網(wǎng)絡(luò)(SAN)是建立這種子系統(tǒng)的不錯(cuò)選擇,但SAN并非必要,而且十分昂貴。另外,如果你正在運(yùn)行一個(gè)主動(dòng)/主動(dòng)集群,你需要為集群中運(yùn)行SQL Server實(shí)例的每臺(tái)機(jī)器的處理器購(gòu)買一個(gè)許可。
因?yàn)楫?dāng)?shù)丶褐饕窒抻谕坏乩韰^(qū)域,自然災(zāi)難可能會(huì)使集群完全失靈。在那種情況下,你需要轉(zhuǎn)移到災(zāi)難恢復(fù)站點(diǎn)進(jìn)行繼續(xù)操作。你也可以建立地理分散的SQL Server集群,但這樣的系統(tǒng)更加復(fù)雜與昂貴。
sql
server
2005
安裝后,在開(kāi)始菜單,找到sql
server
management
studio
運(yùn)行后,輸入用戶名和密碼,點(diǎn)擊連接
在左側(cè),數(shù)據(jù)庫(kù)那里點(diǎn)鼠標(biāo)右鍵,選擇創(chuàng)建數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)名,隨意寫,但是代碼里以后也必須用這個(gè)名,其他保持默認(rèn)
點(diǎn)擊下面
“
。。。"符號(hào)
設(shè)置數(shù)據(jù)庫(kù)大小,以及自動(dòng)增長(zhǎng)范圍,設(shè)置好后,確定
所有選擇設(shè)置好后,點(diǎn)擊確定完成數(shù)據(jù)庫(kù)創(chuàng)建
數(shù)據(jù)文件,日志文件,系統(tǒng)表,系統(tǒng)儲(chǔ)存過(guò)程用戶表,用戶儲(chǔ)存過(guò)程,用戶自定義函數(shù)等等。
在Microsoft SQL Server 2005中,用于數(shù)據(jù)存儲(chǔ)的實(shí)用工具是數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)的物理表現(xiàn)是操作系統(tǒng)文件,即在物理上,一個(gè)數(shù)據(jù)庫(kù)由一個(gè)或多個(gè)磁盤上的文件組成。這種物理表現(xiàn)只對(duì)數(shù)據(jù)庫(kù)管理員是可見(jiàn)的,而對(duì)用戶是透明的。邏輯上,一個(gè)數(shù)據(jù)庫(kù)由若干個(gè)用戶可視的組件構(gòu)成,
如表、視圖、角色等,這些組件稱為數(shù)據(jù)庫(kù)對(duì)象。用戶利用這些邏輯數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)對(duì)象存儲(chǔ)或讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù),也直接或間接地利用這些對(duì)象在不同應(yīng)用程序中完成存儲(chǔ)、操作和檢索等工作。邏輯數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)對(duì)象可以從企業(yè)管理器中查看. 每個(gè)SQL Server 2005數(shù)據(jù)庫(kù)(無(wú)論是系統(tǒng)數(shù)據(jù)庫(kù)還是用戶數(shù)據(jù)庫(kù))在物理上都由至少一個(gè)數(shù)據(jù)文件和至少一個(gè)日志文件組成。
出于分配和管理目的,可以將數(shù)據(jù)庫(kù)文件分成不同的文件組。 數(shù)據(jù)文件:分為主要數(shù)據(jù)文件和次要數(shù)據(jù)文件兩種形式。每個(gè)數(shù)據(jù)庫(kù)都有且只有一個(gè)主要數(shù)據(jù)文件。主要數(shù)據(jù)文件的默認(rèn)文件擴(kuò)展名是.mdf。它將數(shù)據(jù)存儲(chǔ)在表和索引中,包含數(shù)據(jù)庫(kù)的啟動(dòng)信息,還包含一些系統(tǒng)表,這些表記載數(shù)據(jù)庫(kù)對(duì)象及其他文件的位置信息。
次要數(shù)據(jù)文件包含除主要數(shù)據(jù)文件外的所有數(shù)據(jù)文件。有些數(shù)據(jù)庫(kù)可能沒(méi)有次要數(shù)據(jù)文件,而有些數(shù)據(jù)庫(kù)則有多個(gè)次要數(shù)據(jù)文件。次要數(shù)據(jù)文件的默認(rèn)文件擴(kuò)展名是.ndf。 日志文件:SQL Server具有事務(wù)功能,以保證數(shù)據(jù)庫(kù)操作的一致性和完整性。所謂事務(wù)就是一個(gè)單元的工作,
該單元的工作要么全部完成,要么全部不完成。日志文件用來(lái)記錄數(shù)據(jù)庫(kù)中已發(fā)生的所有修改和執(zhí)行每次修改的事務(wù)。SQL Server是遵守先寫日志再執(zhí)行數(shù)據(jù)庫(kù)修改的數(shù)據(jù)庫(kù)系統(tǒng),因此如果出現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)崩潰,
數(shù)據(jù)庫(kù)管理員(DBA)可以通過(guò)日志文件完成數(shù)據(jù)庫(kù)的修復(fù)與重建。每個(gè)數(shù)據(jù)庫(kù)必須至少有一個(gè)日志文件,但可以 不止一個(gè)。日志文件的默認(rèn)文件擴(kuò)展名是.1df。建立數(shù)據(jù)庫(kù)時(shí),SQI。Server會(huì)自動(dòng)建立數(shù)據(jù)庫(kù)的日志文件。
文件組:一些系統(tǒng)可以通過(guò)控制在特定磁盤驅(qū)動(dòng)器上放置的數(shù)據(jù)和索引來(lái)提高自身的性能。文件組可以對(duì)此進(jìn)程提供幫助。系統(tǒng)管理員可以為每個(gè)磁盤驅(qū)動(dòng)器創(chuàng)建文件組,然后將特定的表、索引、或表中的text、ntext或image數(shù)據(jù)指派給特定的文件組。
SQI.Server有兩種類型的文件組:主文件組和用戶定義文件組。主文件組包含主要數(shù)據(jù)文件和任何沒(méi)有明確指派給其他文件組的文件,系統(tǒng)表的所有頁(yè)均分配在主文件組中;用戶定義文件組是在CR E_ATE DATA_BASE或AI,TER DATA.BASE語(yǔ)句中,
使用FII,EGROUP關(guān)鍵字指定的文件組。SQt.Server 2005在沒(méi)有文件組時(shí)也能有效地工作,因此許多系統(tǒng)不需要指定用戶定義文件組。在這種情況下,所有文件都包含在主文件組中,而且SQI。Server 2005可以在數(shù)據(jù)庫(kù)內(nèi)的任何位置分配數(shù)據(jù)。
每個(gè)數(shù)據(jù)庫(kù)中都有一個(gè)文件組作為默認(rèn)文件組運(yùn)行。當(dāng)SQI。Server給創(chuàng)建時(shí)沒(méi)有為其指定文件組的表或索引分配頁(yè)時(shí),將從默認(rèn)文件組中進(jìn)行分配。一次只能有一個(gè)文件組作為默認(rèn)文件組。如果沒(méi)有指定默認(rèn)的文件組,主文件組則成為默認(rèn)的文件組。
Select L.lastid,f.firstid,(Select 姓名+':'+電話+',' from [last] where firstid=f.firstid For XML Path(''))
from [first] F left join [last] L
on F.firstid=L.firstid Group by L.lastid,f.firstid