SQL Server FullText Search (MSSQLSERVER):全文檢索服務(wù)
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括烏達(dá)網(wǎng)站建設(shè)、烏達(dá)網(wǎng)站制作、烏達(dá)網(wǎng)頁(yè)制作以及烏達(dá)網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,烏達(dá)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到烏達(dá)省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!
如果有全文索引的話(huà)要啟動(dòng)SQL Server FullText Search 沒(méi)有的話(huà)啟動(dòng)不啟動(dòng)沒(méi)有影響的
SQL Server Agent 是一個(gè)任務(wù)規(guī)劃器和警報(bào)管理器,在實(shí)際應(yīng)用和環(huán)境下,您可以將那些周期性的活動(dòng)定義成一個(gè)任務(wù),而讓其在SQL Server Agent 的幫助下自動(dòng)運(yùn)行;假如您是一名系統(tǒng)管理員,則可以利用SQL Server Agent 向您通知一些警告信息,來(lái)定位出現(xiàn)的問(wèn)題從而提高管理效率。SQL Server Agent 主要包括以下幾個(gè)組件:作業(yè);警報(bào);操作。
主要執(zhí)行以下步驟在SQL Server Enterprise Manager 中配置SQL Server Agent:
(1) 啟動(dòng)SQL Server Enterprise Manager, 登錄到指定的服務(wù)器打開(kāi)Management 文件夾,啟動(dòng)SQL Server Agent。
(2) 右擊SQL Server Agent 圖標(biāo),在彈出菜單中選擇Properties 選項(xiàng)。打開(kāi)SQL Server Agent Properties 對(duì)話(huà)框,選中General 標(biāo)簽頁(yè)。如圖17-1 所示。其中各選項(xiàng)的含義為:
System account: 定義SQL Server Agent 運(yùn)行于哪個(gè)系統(tǒng)賬號(hào)下,該系統(tǒng)賬號(hào)是sysadmin 角色的成員;
This account: 定義SQL Server Agent 運(yùn)行于哪一個(gè)NT 賬號(hào)下,該賬號(hào)必須是運(yùn)行SQL Server Agent 服務(wù)器上的sysadmin 角色,選擇此選項(xiàng),必須在Password處提供密碼。常在下列情況中選中該選項(xiàng):
把事件轉(zhuǎn)寄到其它NT 計(jì)算機(jī)的應(yīng)用日志;
如何來(lái)創(chuàng)建一個(gè)作業(yè),該作業(yè)要使用多個(gè)計(jì)算機(jī)上的資源;
通過(guò)電子郵件或?qū)ず敉ㄖ僮鲉T消息。
Mail Profile 有效的郵件配置文件名,該文件保存通過(guò)SQL Mail 為SQL ServerAgent 運(yùn)行賬號(hào)配置的郵件系統(tǒng)正常工作的配置信息;
Save copies of the sent messages in the Sent Items folder: 指定發(fā)送消息存放的文件目錄;
File name: 指定SQL Server Agent 日志文件名,缺省名為C:\Mssql7\Log\Sqlagent.out;
Error message pop-up recipient 指定接收網(wǎng)絡(luò)彈出錯(cuò)誤消息的接收者名字,這些錯(cuò)誤消息由SQL Server Agent 寫(xiě)入它的錯(cuò)誤日志。
(3) 選中Advanced 標(biāo)簽頁(yè)
Auto restart SQL Server if it stops unexpectedly :表示如果SQL Server 意外停止運(yùn)行,則將自動(dòng)重新啟動(dòng);
Auto restart SQL Server Agent if it stops unexpectedly: 表示如果SQL Server Agent意外停止運(yùn)行,則將自動(dòng)重新啟動(dòng);
Forward events to a different server: 表示將事件轉(zhuǎn)寄給其它服務(wù)器。在Server 旁的下拉列表中選擇接收服務(wù)器;
Unhandled events: 表示轉(zhuǎn)寄那些不是在本地服務(wù)器上處理的事件;All 表示所有事件;
If error has severity of or above: 表示只有在錯(cuò)誤等級(jí)大于或等于給定值時(shí),才將事件轉(zhuǎn)寄給所選服務(wù)器;
Idle CPU(s) Condition: 定義了CPU 空閉狀態(tài)的屬性值,即CPU 平均使用率低于給不定期值且該狀態(tài)持續(xù)的時(shí)間超過(guò)給定時(shí)間,則認(rèn)為CPU 處于空閉狀態(tài)。
4) 選中Alert System 標(biāo)簽頁(yè)
Address formatting for page e-mails: 該區(qū)域用來(lái)設(shè)定消息屬性并在尋呼信息中加入錯(cuò)誤信息;
Fail-safe operator: 表示失敗安全型操作員,如果由于不確定的原因使消息無(wú)法到達(dá)指定的操作員,則SQL Server Agent 會(huì)把該消息傳給失敗安全型操作員;
(5) 選中Job System 標(biāo)簽頁(yè)
Job history log: 該區(qū)域指定日志的大小以及每件作業(yè)的最大行數(shù),從而避免填滿(mǎn)msdb 數(shù)據(jù)庫(kù);
Job execution: 該區(qū)域用來(lái)設(shè)定在作業(yè)執(zhí)行結(jié)束前SQL Server Agent 的最長(zhǎng)等待時(shí)間,如果超過(guò)這一時(shí)間作業(yè)仍沒(méi)有執(zhí)行,則SQL Server Agent 將關(guān)閉;
Non-SysAdmin job step proxy account: 該區(qū)域用來(lái)設(shè)定執(zhí)行CmdExec 和ActiveScripting
作業(yè)的限制。
(6) 選中Connection 標(biāo)簽頁(yè)
SQLServer Connection: 該區(qū)域定義了將SQL Server Agent 連接到SQL Server 時(shí)使用的認(rèn)證模式;
SQLServer alias 定義:本地SQL Server 服務(wù)器的別名。
注意:配置完SQL Server Agent之后需要重新啟動(dòng),這樣配置才能生效
SQL Server 瀏覽器程序以 Windows 服務(wù)的形式運(yùn)行。SQL Server 瀏覽器偵聽(tīng)對(duì) MicrosoftSQL Server 資源的傳入請(qǐng)求,并提供計(jì)算機(jī)上安裝的 SQL Server 實(shí)例的相關(guān)信息。SQL Server 瀏覽器可用于執(zhí)行下列操作:
瀏覽可用服務(wù)器列表
連接到正確的服務(wù)器實(shí)例
連接到專(zhuān)用管理員連接 (DAC) 端點(diǎn)
SQL Server Browser 服務(wù) (sqlbrowser) 為數(shù)據(jù)庫(kù)引擎和 SSAS 的每個(gè)實(shí)例提供實(shí)例名稱(chēng)和版本號(hào)。SQL Server 瀏覽器隨 SQL Server 一起安裝,為該計(jì)算機(jī)上運(yùn)行的早期版本的 SQL Server(從 SQL Server 7.0 開(kāi)始)提供此服務(wù)。
SQL Server 瀏覽器可以在安裝過(guò)程中進(jìn)行配置,也可以使用 SQL Server 配置管理器進(jìn)行配置。默認(rèn)情況下,SQL Server Browser 服務(wù)會(huì)自動(dòng)啟動(dòng):
MicrosoftIntegration Services 是用于生成企業(yè)級(jí)數(shù)據(jù)集成和數(shù)據(jù)轉(zhuǎn)換解決方案的平臺(tái)。使用 Integration Services 可解決復(fù)雜的業(yè)務(wù)問(wèn)題,具體表現(xiàn)為:復(fù)制或下載文件,發(fā)送電子郵件以響應(yīng)事件,更新數(shù)據(jù)倉(cāng)庫(kù),清除和挖掘數(shù)據(jù)以及管理 SQL Server 對(duì)象和數(shù)據(jù)。這些包可以獨(dú)立使用,也可以與其他包一起使用以滿(mǎn)足復(fù)雜的業(yè)務(wù)需求。Integration Services 可以提取和轉(zhuǎn)換來(lái)自多種源(如 XML 數(shù)據(jù)文件、平面文件和關(guān)系數(shù)據(jù)源)的數(shù)據(jù),然后將這些數(shù)據(jù)加載到一個(gè)或多個(gè)目標(biāo)。
Integration Services 包含一組豐富的內(nèi)置任務(wù)和轉(zhuǎn)換、用于構(gòu)造包的工具以及用于運(yùn)行和管理包的 Integration Services 服務(wù)。可以使用 Integration Services 圖形工具來(lái)創(chuàng)建解決方案,而無(wú)需編寫(xiě)一行代碼;也可以對(duì)各種 Integration Services 對(duì)象模型進(jìn)行編程,通過(guò)編程方式創(chuàng)建包并編寫(xiě)自定義任務(wù)以及其他包對(duì)象的代碼。
SQL Server是微軟公司開(kāi)發(fā)的一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),以Transact_SQL作為它的數(shù)據(jù)庫(kù)查詢(xún)和編程語(yǔ)言。T-SQL是結(jié)構(gòu)化查詢(xún)語(yǔ)言SQL的一種,支持ANSI SQL-92標(biāo)準(zhǔn)。
SQL Server 采用二級(jí)安全驗(yàn)證、登錄驗(yàn)證及數(shù)據(jù)庫(kù)用戶(hù)帳號(hào)和角色的許可驗(yàn)證。SQL Server 支持兩種身份驗(yàn)證模式:Windows NT身份驗(yàn)證和SQL Server 身份驗(yàn)證。7.0版支持多種類(lèi)型的角色,"角色"概念的引入方便了權(quán)限的管理,也使權(quán)限的分配更加靈活。
SQL Server為公共的管理功能提供了預(yù)定義的服務(wù)器和數(shù)據(jù)庫(kù)角色,可以很容易為某一特定用戶(hù)授予一組選擇好的許可權(quán)限。 SQL Server可以在不同的操作平臺(tái)上運(yùn)行,支持多種不同類(lèi)型的網(wǎng)絡(luò)協(xié)議如TCP/IP、IPX/SPX、Apple Talk等。SQL Server在服務(wù)器端的軟件運(yùn)行平臺(tái)是Windows NT、Windows9x,在客戶(hù)端可以是Windows3.x、Windows NT、Windows9x,也可以采用其它廠(chǎng)商開(kāi)發(fā)的系統(tǒng)如Unix、Apple Macintosh等。
微軟的SQL Server是一項(xiàng)完美的客戶(hù)/服務(wù)器系統(tǒng)。SQL Server需要安裝在Windows NT的平臺(tái)上,而Windows NT可以支持Intel 386,Power PC,MIPS,Alpha PC和RISC等平臺(tái),它使SQL Server具備足夠的威力和功能。
這里所有的文章所采用的數(shù)據(jù)庫(kù)應(yīng)用程序都是基于SQL Server之上的,采用ODBC及標(biāo)準(zhǔn)的SQL查詢(xún),可以非常簡(jiǎn)單的移植到任何一個(gè)支持ODBC的數(shù)據(jù)庫(kù)之上,如:Oracle,Informix,Db2和Access,在閱讀有關(guān)ASP數(shù)據(jù)庫(kù)編程技術(shù)之前,要確認(rèn)你至少熟悉一種數(shù)據(jù)庫(kù)管理系統(tǒng),并可以使用標(biāo)準(zhǔn)的SQL查詢(xún)語(yǔ)言操作數(shù)據(jù)庫(kù)。
SQL Server提供服務(wù)器端的軟件,這部分需要安裝在NT Server上,SQL Server的用戶(hù)端則可以安裝在許多用戶(hù)端PC系統(tǒng)中,Windows可以讓用戶(hù)端進(jìn)行數(shù)據(jù)庫(kù)的建立,維護(hù)及存取等操作,SQL Server可以最多定義32767個(gè)數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)中,可以定義20億個(gè)表格,每個(gè)表格可以有250個(gè)字段,每個(gè)表格的數(shù)據(jù)個(gè)數(shù)并沒(méi)有限制,每一個(gè)表格可以定義250個(gè)索引,其中有一個(gè)可以是Clustered索引。
SQL Server所使用的數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)言稱(chēng)為T(mén)ransact-SQL,它是SQL Server的核心,Transact-SQL強(qiáng)化了原有的SQL關(guān)鍵字以進(jìn)行數(shù)據(jù)的存取,儲(chǔ)存及處理等功能,Transact-SQL擴(kuò)充了流程控制指定,可以使你方便的編寫(xiě)功能強(qiáng)大的存儲(chǔ)過(guò)程,他們存放在服務(wù)器端,并預(yù)先編譯過(guò),執(zhí)行速度非常塊,觸發(fā)是一種特殊的存儲(chǔ)過(guò)程,用來(lái)確保SQL Server數(shù)據(jù)庫(kù)引用的完整性,你可以建立插入,刪除和更新觸發(fā)以控制相關(guān)的表格中對(duì)數(shù)據(jù)列的插入,刪除和更新,你還可以使用規(guī)則(Rule),缺?。╠efault)以及限制(Constraints),來(lái)協(xié)助將新的數(shù)值套用到表格中去!
一、SQL SERVER的特點(diǎn)
上手容易
話(huà)分兩頭,如果您的企業(yè)至今還未購(gòu)置數(shù)據(jù)庫(kù),其中一個(gè)主要的原因可能就是認(rèn)為它不好上手,那么,從SQLServer開(kāi)始吧。畢竟,大多數(shù)的中小企業(yè)日常的數(shù)據(jù)應(yīng)用是建立在Windows平臺(tái)上的。由于SQLServer與Windows界面風(fēng)格完全一致,且有許多"向?qū)?Wizard)"幫助,因此易于安裝和學(xué)習(xí),有關(guān)SQLServer的資料、培訓(xùn)隨處可得,并且目前國(guó)內(nèi)具有MCDBA認(rèn)證的工程師不在少數(shù)。
從另一個(gè)角度來(lái)講,學(xué)習(xí)SQLServer是掌握其他平臺(tái)及大型數(shù)據(jù),如Oracle,Sybase,DB/2的基礎(chǔ)。因?yàn)檫@些大型數(shù)據(jù)庫(kù)對(duì)于設(shè)備、平臺(tái)、人員知識(shí)的要求往往較高,而并不是每個(gè)人都具備這樣的條件,且有機(jī)會(huì)去接觸它們。但有了SQLServer的基礎(chǔ),再去學(xué)習(xí)和使用它們就容易多了。IT行業(yè)的實(shí)踐經(jīng)驗(yàn)充分證明了這一點(diǎn)。
兼容性良好
由于今天Windows操作系統(tǒng)占領(lǐng)著主導(dǎo)地的位,選擇SQLServer一定會(huì)在兼容性方面取得一些優(yōu)勢(shì)。另外,SQLServer2000除了具有擴(kuò)展性,可靠性以外,還具有可以迅速開(kāi)發(fā)新的因特網(wǎng)系統(tǒng)的功能。尤其是它可以直接存貯XML數(shù)據(jù),可以將搜索結(jié)果以XML格式輸出等特點(diǎn),有利于構(gòu)建了異構(gòu)系統(tǒng)的互操作性,奠定了面向互聯(lián)網(wǎng)的企業(yè)應(yīng)用和服務(wù)的基石。這些特點(diǎn)在.NET戰(zhàn)略中發(fā)揮著重要的作用。
電子商務(wù)
在使用由MicrosoftSQLServer2000關(guān)系數(shù)據(jù)庫(kù)引擎的情況下,XML數(shù)據(jù)可在關(guān)系表中進(jìn)行存儲(chǔ),而查詢(xún)則能以XML格式將有關(guān)結(jié)果返回。此外,XML支持還簡(jiǎn)化了后端系統(tǒng)集成,并實(shí)現(xiàn)了跨防火墻的無(wú)縫數(shù)據(jù)傳輸。你還可以使用HypertextTransferProtocol(超文本傳輸協(xié)議,HTTP)來(lái)訪(fǎng)問(wèn)SQLServer2000,以實(shí)現(xiàn)面向SQLServer2000數(shù)據(jù)庫(kù)的安全Web連接和無(wú)須額外編程的聯(lián)機(jī)分析處理(OLAP)多維數(shù)據(jù)集。
數(shù)據(jù)倉(cāng)庫(kù)
MicrosoftSQLServer2000非常明顯的改進(jìn)就是增加了OLAP(聯(lián)機(jī)分析處理)功能,這可以讓很多中小企業(yè)用戶(hù)也可以使用數(shù)據(jù)倉(cāng)庫(kù)的一些特性進(jìn)行分析。OLAP可以通過(guò)多維存儲(chǔ)技術(shù)對(duì)大型、復(fù)雜數(shù)據(jù)集執(zhí)行快速、高級(jí)的分析工作。數(shù)據(jù)挖掘功能能夠揭示出隱藏在大量數(shù)據(jù)中的傾向及趨勢(shì),它允許組織或機(jī)構(gòu)最大
限度的從數(shù)據(jù)中獲取價(jià)值。通過(guò)對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行有效分析,這一功能可以對(duì)未來(lái)的趨勢(shì)進(jìn)行預(yù)測(cè)。
增強(qiáng)的在線(xiàn)商務(wù)
MicrosoftSQLServer2000簡(jiǎn)化了管理、優(yōu)化工作,并且增強(qiáng)了迅速、成功的部署在線(xiàn)商務(wù)應(yīng)用程序所需的可靠性和伸縮性。其中,用以提高可靠性的特性包括日志傳送、在線(xiàn)備份和故障切換群集。在伸縮性方面的改進(jìn)包括對(duì)多達(dá)32顆CPU和64GBRAM的支持。通過(guò)自動(dòng)優(yōu)化和改進(jìn)后的管理特性--諸如數(shù)據(jù)文件尺寸的自動(dòng)管理、基于向?qū)У臄?shù)據(jù)庫(kù)拷貝、自動(dòng)內(nèi)存管理和簡(jiǎn)化的故障切換群集安裝與管理,在線(xiàn)商務(wù)應(yīng)用程序能夠被迅速部署并有效管理。
利于構(gòu)筑"敏捷性商務(wù)"
所謂"敏捷性商務(wù)"就是能夠打破內(nèi)部和外部的商業(yè)界限,對(duì)迅速改變的環(huán)境做出快速反應(yīng)。。微軟已經(jīng)與關(guān)鍵的合作伙伴建立起了戰(zhàn)略關(guān)系,創(chuàng)造出了能夠與許多供應(yīng)商的產(chǎn)品實(shí)現(xiàn)整合的解決方案,因而企業(yè)用戶(hù)并不需要做出"要么完全接受,要么全部不要"的承諾。在部署解決方案的過(guò)程中,企業(yè)用戶(hù)不一定要拆除原有的設(shè)備從頭。敏捷商務(wù)讓企業(yè)用戶(hù)能夠充分利用現(xiàn)有的系統(tǒng),自主決定所需的硬件和軟件解決方案以及由誰(shuí)來(lái)提供,伸縮自如、游刃有余。
目前最新的版本為MicrosoftSQLServer2005
數(shù)據(jù)庫(kù),在軟件開(kāi)發(fā)中,可以?xún)?chǔ)存數(shù)據(jù),可以在里面進(jìn)行一些軟件設(shè)置,一般的軟件公司實(shí)施的話(huà)都要用到的,希望能幫到你
(1):事務(wù)(Transaction)是并發(fā)控制的單位,是用戶(hù)定義的一個(gè)操作序列。這些操作要么都做,要么都不做,是一個(gè)不可分割的工作單位。通過(guò)事務(wù),SQL
Server能將邏輯相關(guān)的一組操作綁定在一起,以便服務(wù)器保持?jǐn)?shù)據(jù)的完整性。
(2):事務(wù)通常是以BEGIN
TRANSACTION開(kāi)始,以COMMIT或ROLLBACK結(jié)束。
COMMIT表示提交,即提交事務(wù)的所有操作。具體地說(shuō)就是將事務(wù)中所有對(duì)數(shù)據(jù)庫(kù)的更新寫(xiě)回到磁盤(pán)上的物理數(shù)據(jù)庫(kù)中去,事務(wù)正常結(jié)束。
ROLLBACK表示回滾,即在事務(wù)運(yùn)行的過(guò)程中發(fā)生了某種故障,事務(wù)不能繼續(xù)進(jìn)行,系統(tǒng)將事務(wù)中對(duì)數(shù)據(jù)庫(kù)的所有以完成的操作全部撤消,滾回到事務(wù)開(kāi)始的狀態(tài)。
(3):事務(wù)運(yùn)行的三種模式:
A:自動(dòng)提交事務(wù)
每條單獨(dú)的語(yǔ)句都是一個(gè)事務(wù)。每個(gè)語(yǔ)句后都隱含一個(gè)COMMIT。
B:顯式事務(wù)
以BEGIN
TRANSACTION顯式開(kāi)始,以COMMIT或ROLLBACK顯式結(jié)束。
C:隱性事務(wù)
在前一個(gè)事務(wù)完成時(shí),新事務(wù)隱式啟動(dòng),但每個(gè)事務(wù)仍以COMMIT或ROLLBACK顯式結(jié)束。
(4):事務(wù)的特性(ACID特性)
A:原子性(Atomicity)
事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位,事務(wù)中包括的諸操作要么全做,要么全不做。
B:一致性(Consistency)
事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。一致性與原子性是密切相關(guān)的。
C:隔離性(Isolation)
一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。
D:持續(xù)性/永久性(Durability)
一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該是永久性的。
注:事務(wù)是恢復(fù)和并發(fā)控制的基本單位。
((1)是回答事務(wù)的概念到底是什么——即你的提問(wèn),至于(2)、(3)、(4)只是作的稍許補(bǔ)充而已,不必深究,呵呵……)
(1)SQL server配置管理工具:可以啟動(dòng)、暫停、恢復(fù)或者暫停服務(wù)。還可查看或更改服務(wù)屬性等
(2)SQL server management studio:配置數(shù)據(jù)庫(kù)系統(tǒng)、建立或刪除數(shù)據(jù)庫(kù)對(duì)象、設(shè)置或取消用戶(hù)的訪(fǎng)問(wèn)權(quán)限,維護(hù)服務(wù)器與數(shù)據(jù)的安全、瀏覽錯(cuò)誤日志等。
(3)SQL server profiler:監(jiān)視服務(wù)器。系統(tǒng)管理員通過(guò)SQL server profiler監(jiān)視SQL server 2008的事件,捕獲每個(gè)事件的數(shù)據(jù)并將其保存到文件或SQL server 表以供分析等
(4)數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn):選擇和創(chuàng)建最佳的索引、索引視圖、分區(qū)等
(5)大量的命令行實(shí)用工具
. char 和nchar 當(dāng)填入數(shù)據(jù)為空時(shí),數(shù)據(jù)庫(kù)自動(dòng)使用全空格來(lái)代替,從而使not null形同虛設(shè)。所以如果字段不能為空,一定要在程序中提前判斷。
2. char 和nchar因?yàn)殚L(zhǎng)度固定,據(jù)說(shuō)讀寫(xiě)的速度要比 varchar和nvarchar快
=========================================================================
SQL Server數(shù)據(jù)庫(kù)的數(shù)據(jù)類(lèi)型詳細(xì)介紹
SQLServer 提供了 25 種數(shù)據(jù)類(lèi)型:
Binary [(n)],Varbinary [(n)],Char[(n)],Varchar[(n)],Nchar[(n)],Nvarchar[(n)],Datetime,Smalldatetime
Decimal[(p[,s])],Numeric[(p[,s])],F(xiàn)loat[(n)],Real,Int,Smallint,Tinyint,Money,Smallmoney,Bit,Cursor
Sysname,Timestamp,Uniqueidentifier,Text,Image,Ntext。
下面來(lái)分別介紹這些數(shù)據(jù)類(lèi)型:
(1)二進(jìn)制數(shù)據(jù)類(lèi)型
二進(jìn)制數(shù)據(jù)包括 Binary、Varbinary 和 Image
Binary 數(shù)據(jù)類(lèi)型既可以是固定長(zhǎng)度的(Binary),也可以是變長(zhǎng)度的。
Binary[(n)] 是 n 位固定的二進(jìn)制數(shù)據(jù)。其中,n 的取值范圍是從 1 到 8000。其存儲(chǔ)窨的大小是 n + 4 個(gè)字節(jié)。
Varbinary[(n)] 是 n 位變長(zhǎng)度的二進(jìn)制數(shù)據(jù)。其中,n 的取值范圍是從 1 到 8000。其存儲(chǔ)窨的大小是 n + 4個(gè)字節(jié),不是n 個(gè)字節(jié)。
在 Image 數(shù)據(jù)類(lèi)型中存儲(chǔ)的數(shù)據(jù)是以位字符串存儲(chǔ)的,不是由 SQL Server 解釋的,必須由應(yīng)用程序來(lái)解釋。
例如,應(yīng)用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把數(shù)據(jù)存儲(chǔ)在 Image 數(shù)據(jù)類(lèi)型中。
(2)字符數(shù)據(jù)類(lèi)型
字符數(shù)據(jù)的類(lèi)型包括 Char,Varchar 和 Text
字符數(shù)據(jù)是由任何字母、符號(hào)和數(shù)字任意組合而成的數(shù)據(jù)。
Varchar 是變長(zhǎng)字符數(shù)據(jù),其長(zhǎng)度不超過(guò) 8KB。
Char 是定長(zhǎng)字符數(shù)據(jù),其長(zhǎng)度最多為 8KB。
超過(guò) 8KB 的ASCII 數(shù)據(jù)可以使用Text數(shù)據(jù)類(lèi)型存儲(chǔ)。例如,因?yàn)?Html 文檔全部都是 ASCII 字符,
并且在一般情況下長(zhǎng)度超過(guò) 8KB,所以這些文檔可以 Text 數(shù)據(jù)類(lèi)型存儲(chǔ)在SQL Server 中。
(3)Unicode 數(shù)據(jù)類(lèi)型
Unicode 數(shù)據(jù)類(lèi)型包括 Nchar,Nvarchar 和Ntext
在 Microsoft SQL Server 中,傳統(tǒng)的非 Unicode 數(shù)據(jù)類(lèi)型允許使用由特定字符集定義的字符。
在 SQL Server安裝過(guò)程,允許選擇一種字符集。使用 Unicode 數(shù)據(jù)類(lèi)型,列中可以存儲(chǔ)任何由Unicode 標(biāo)準(zhǔn)定義的字符。
在 Unicode 標(biāo)準(zhǔn)中,包括了以各種字符集定義的全部字符。使用Unicode數(shù)據(jù)類(lèi)型,
所戰(zhàn)勝的窨是使用非 Unicode 數(shù)據(jù)類(lèi)型所占用的窨大小的兩倍。
在 SQL Server 中,Unicode 數(shù)據(jù)以 Nchar、Nvarchar 和 Ntext 數(shù)據(jù)類(lèi)型存儲(chǔ)。
使用這種字符類(lèi)型存儲(chǔ)的列可以存儲(chǔ)多個(gè)字符集中的字符。當(dāng)列的長(zhǎng)度變化時(shí),應(yīng)該使用Nvarchar 字符類(lèi)型,
這時(shí)最多可以存儲(chǔ) 4000 個(gè)字符。當(dāng)列的長(zhǎng)度固定不變時(shí),應(yīng)該使用 Nchar 字符類(lèi)型,同樣,
這時(shí)最多可以存儲(chǔ)4000 個(gè)字符。當(dāng)使用 Ntext 數(shù)據(jù)類(lèi)型時(shí),該列可以存儲(chǔ)多于 4000 個(gè)字符。
(4)日期和時(shí)間數(shù)據(jù)類(lèi)型
日期和時(shí)間數(shù)據(jù)類(lèi)型包括 Datetime 和 Smalldatetime兩種類(lèi)型
日期和時(shí)間數(shù)據(jù)類(lèi)型由有效的日期和時(shí)間組成。
例如,有效的日期和時(shí)間數(shù)據(jù)包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01AM 8/17/98”。
前一個(gè)數(shù)據(jù)類(lèi)型是日期在前,時(shí)間在后一個(gè)數(shù)據(jù)類(lèi)型是霎時(shí)間在前,日期在后。
在 Microsoft SQL Server中,日期和時(shí)間數(shù)據(jù)類(lèi)型包括Datetime 和 Smalldatetime 兩種類(lèi)型時(shí),
所存儲(chǔ)的日期范圍是從 1753 年 1 月 1 日開(kāi)始,到9999 年12 月 31 日結(jié)束(每一個(gè)值要求 8 個(gè)存儲(chǔ)字節(jié))。
使用 Smalldatetime 數(shù)據(jù)類(lèi)型時(shí),
所存儲(chǔ)的日期范圍是 1900年 1 月 1日 開(kāi)始,到 2079 年 12 月 31 日結(jié)束(每一個(gè)值要求 4 個(gè)存儲(chǔ)字節(jié))。
日期的格式可以設(shè)定。設(shè)置日期格式的命令如下:
Set DateFormat {format | @format _var|br brbrbr其中,format | @format_var 是日期的順序。有效的參數(shù)包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默認(rèn)情況下,日期格式為MDY。brbrbr例如,當(dāng)執(zhí)行 Set DateFormat YMD 之后,日期的格式為年 月 日 形式;brbr當(dāng)執(zhí)行 Set DateFormat DMY 之后,日期的格式為日 月有年 形式brbrbr(5)數(shù)字?jǐn)?shù)據(jù)類(lèi)型brbrbr數(shù)字?jǐn)?shù)據(jù)只包含數(shù)字。數(shù)字?jǐn)?shù)據(jù)類(lèi)型包括正數(shù)和負(fù)數(shù)、小數(shù)(浮點(diǎn)數(shù))和整數(shù)brbrbr整數(shù)由正整數(shù)和負(fù)整數(shù)組成,例如 39、25、0-2 和 33967。brbr在 Micrsoft SQL Server 中,整數(shù)存儲(chǔ)的數(shù)據(jù)類(lèi)型是Int,Smallint和 Tinyint。brbrInt 數(shù)據(jù)類(lèi)型存儲(chǔ)數(shù)據(jù)的范圍大于 Smallint 數(shù)據(jù)類(lèi)型存儲(chǔ)數(shù)據(jù)的范圍,brbr而 Smallint 據(jù)類(lèi)型存儲(chǔ)數(shù)據(jù)的范圍大于Tinyint 數(shù)據(jù)類(lèi)型存儲(chǔ)數(shù)據(jù)的范圍。brbr使用 Int 數(shù)據(jù)存儲(chǔ)數(shù)據(jù)的范圍是從 -2 147 483 648 到 2 147 483 647(每一個(gè)值要求4個(gè)字節(jié)存儲(chǔ)空間)。brbr使用 Smallint 數(shù)據(jù)類(lèi)型時(shí),存儲(chǔ)數(shù)據(jù)的范圍從 -32 768 到 32 767(每一個(gè)值要求2個(gè)字節(jié)存儲(chǔ)空間)。brbr使用Tinyint 數(shù)據(jù)類(lèi)型時(shí),存儲(chǔ)數(shù)據(jù)的范圍是從0 到255(每一個(gè)值要求1個(gè)字節(jié)存儲(chǔ)空間)。brbrbr精確小 數(shù)數(shù)據(jù)在 SQL Server 中的數(shù)據(jù)類(lèi)型是 Decimal 和 Numeric。這種數(shù)據(jù)所占的存儲(chǔ)空間根據(jù)該數(shù)據(jù)的位數(shù)后的位數(shù)來(lái)確定。brbrbr在SQL Server 中,近似小數(shù)數(shù)據(jù)的數(shù)據(jù)類(lèi)型是 Float 和 Real。例如,三分之一這個(gè)分?jǐn)?shù)記作。brbr3333333,當(dāng)使用近似數(shù)據(jù)類(lèi)型時(shí)能準(zhǔn)確表示。因此,從系統(tǒng)中檢索到的數(shù)據(jù)可能與存儲(chǔ)在該列中數(shù)據(jù)不完全一樣。brbr=======================================================================================brbrSQL Server的數(shù)據(jù)類(lèi)型介紹(二)brbrbr(6)貨幣數(shù)據(jù)表示正的或者負(fù)的貨幣數(shù)量 。brbrbr在 Microsoft SQL Server 中,貨幣數(shù)據(jù)的數(shù)據(jù)類(lèi)型是Money 和 Smallmoney 。brbrbr而Money數(shù)據(jù)類(lèi)型要求 8 個(gè)存儲(chǔ)字節(jié),Smallmoney 數(shù)據(jù)類(lèi)型要求 4 個(gè)存儲(chǔ)字節(jié)。brbrbr(7)特殊數(shù)據(jù)類(lèi)型brbrbr特殊數(shù)據(jù)類(lèi)型包括前面沒(méi)有提過(guò)的數(shù)據(jù)類(lèi)型。特殊的數(shù)據(jù)類(lèi)型有3種,即Timestamp、Bit 和 Uniqueidentifier。brbrbrTimestamp 用于表示SQL Server 活動(dòng)的先后順序,以二進(jìn)投影的格式表示。Timestamp 數(shù)據(jù)與插入數(shù)據(jù)或者日期和時(shí)間沒(méi)有關(guān)系。brbrbrBit 由 1 或者 0 組成。當(dāng)表示真或者假、ON 或者 OFF 時(shí),使用 Bit 數(shù)據(jù)類(lèi)型。brbrbrbr例如,詢(xún)問(wèn)是否是每一次訪(fǎng)問(wèn)的客戶(hù)機(jī)請(qǐng)求可以存儲(chǔ)在這種數(shù)據(jù)類(lèi)型的列中。brbrbrUniqueidentifier 由 16 字節(jié)的十六進(jìn)制數(shù)字組成,表示一個(gè)全局唯一的。brbrbrbr當(dāng)表的記錄行要求唯一時(shí),GUID是非常有用。例如,在客戶(hù)標(biāo)識(shí)號(hào)列使用這種數(shù)據(jù)類(lèi)型可以區(qū)別不同的客戶(hù)。brbrbrbr=======================================================================brbr用戶(hù)定義的數(shù)據(jù)類(lèi)型brbrbr用戶(hù)定義的數(shù)據(jù)類(lèi)型基于在 Microsoft SQL Server 中提供的數(shù)據(jù)類(lèi)型。當(dāng)幾個(gè)表中必須存儲(chǔ)同一種數(shù)據(jù)類(lèi)型時(shí),brbrbr并且為保證這些列有相同的數(shù)據(jù)類(lèi)型、長(zhǎng)度和可空性時(shí),可以使用用戶(hù)定義的數(shù)據(jù)類(lèi)型。brbrbr例如,可定義一種稱(chēng)為 postal_code 的數(shù)據(jù)類(lèi)型,它基于 Char 數(shù)據(jù)類(lèi)型。brbrbr當(dāng)創(chuàng)建用戶(hù)定義的數(shù)據(jù)類(lèi)型時(shí),必須提供三個(gè)數(shù):數(shù)據(jù)類(lèi)型的名稱(chēng)、所基于的系統(tǒng)數(shù)據(jù)類(lèi)型和數(shù)據(jù)類(lèi)型的可空性。brbrbr(1)創(chuàng)建用戶(hù)定義的數(shù)據(jù)類(lèi)型brbrbr創(chuàng)建用戶(hù)定義的數(shù)據(jù)類(lèi)型可以使用 Transact-SQL 語(yǔ)句。系統(tǒng)存儲(chǔ)過(guò)程 sp_addtype 可以來(lái)創(chuàng)建用戶(hù)定義的數(shù)據(jù)類(lèi)型。其語(yǔ)法形式如下:brbrbrsp_addtype {type},[,system_data_bype][,'null_type']
其中,type 是用戶(hù)定義的數(shù)據(jù)類(lèi)型的名稱(chēng)。system_data_type 是系統(tǒng)提供的數(shù)據(jù)類(lèi)型,例如 Decimal、Int、Char 等等。
null_type 表示該數(shù)據(jù)類(lèi)型是如何處理空值的,必須使用單引號(hào)引起來(lái),例如'NULL'、'NOT NULL'或者'NONULL'。
例子:
Use cust
Exec sp_addtype ssn,'Varchar(11)','Not Null'
創(chuàng)建一個(gè)用戶(hù)定義的數(shù)據(jù)類(lèi)型 ssn,其基于的系統(tǒng)數(shù)據(jù)類(lèi)型是變長(zhǎng)為11 的字符,不允許空。
例子:
Use cust
Exec sp_addtype birthday,datetime,'Null'
創(chuàng)建一個(gè)用戶(hù)定義的數(shù)據(jù)類(lèi)型 birthday,其基于的系統(tǒng)數(shù)據(jù)類(lèi)型是 DateTime,允許空。
例子:
Use master
Exec sp_addtype telephone,'varchar(24),'Not Null'
Eexc sp_addtype fax,'varchar(24)','Null'
創(chuàng)建兩個(gè)數(shù)據(jù)類(lèi)型,即 telephone 和 fax
(2)刪除用戶(hù)定義的數(shù)據(jù)類(lèi)型
當(dāng)用戶(hù)定義的數(shù)據(jù)類(lèi)型不需要時(shí),可刪除。刪除用戶(hù)定義的數(shù)據(jù)類(lèi)型的命令是 sp_droptype {'type'}。
例子:
Use master
Exec sp_droptype 'ssn'
注意:當(dāng)表中的列還正在使用用戶(hù)定義的數(shù)據(jù)類(lèi)型時(shí),或者在其上面還綁定有默認(rèn)或者規(guī)則時(shí),這種用戶(hù)定義的數(shù)據(jù)類(lèi)型不能刪除。