SQL Server 2008是一款功能強(qiáng)大的數(shù)據(jù)庫(kù)管理軟件,軟件能夠提供對(duì)于數(shù)據(jù)庫(kù)中數(shù)據(jù)的檢索、查看、同步、分析、報(bào)告等各種操作,這些功能能夠幫助用戶對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)更好的管理,讓用戶能夠輕松的導(dǎo)出自己所需要的各種數(shù)據(jù)。軟件新加入了很多新功能,下面就跟小編一起來(lái)看看軟件的所有新增功能吧。
新增功能
1、新的FORCESCAN查詢提示
任何DBA在進(jìn)行查詢優(yōu)化的時(shí)候,都知道scan和seek之間的區(qū)別。Scan是指讀取表中每一行數(shù)據(jù)然后返回查詢;而seek使用表的葉數(shù)據(jù)來(lái)找到能夠回答相同查詢的行。當(dāng)查詢結(jié)果僅涉及到表數(shù)據(jù)的10-15%時(shí),通常使用seek方式會(huì)比較好,當(dāng)涉及到大量數(shù)據(jù)時(shí)則使用scan,它會(huì)讀取整個(gè)表然后送到內(nèi)存中然后返回結(jié)果,無(wú)需分析索引。
①新的FORCESCAN提示功能就和字面上的意思一樣,可以確保查詢優(yōu)化器在給定的操作中不使用seek,而強(qiáng)制使用scan。需要提醒的是,F(xiàn)ORCESCAN需要謹(jǐn)慎使用,否則會(huì)造成查詢性能降低的后果。
②SELECT user_type FROM user_table WITH (FORCESCAN)
上面的語(yǔ)句假定user_type列相對(duì)來(lái)說(shuō)并不是獨(dú)一無(wú)二的,也就是所謂的“低基數(shù)”列,這時(shí)候使用FORCESCAN就和使用索引沒(méi)有太大差別。
③隨著SQL Server查詢優(yōu)化器變得越來(lái)越強(qiáng)大,我在自己的程序中已經(jīng)很少會(huì)用到這種提示功能,但是FORCESCAN還是有它的用武之處。強(qiáng)制表掃描是對(duì)系統(tǒng)進(jìn)行拷問(wèn)測(cè)試的一種方法,F(xiàn)ORCESCAN在這方面將會(huì)發(fā)揮積極的作用。
2、FORCESEEK查詢提示的新功能
①FORCESEEK和FORCESCAN二者是截然相反的,它會(huì)強(qiáng)制數(shù)據(jù)庫(kù)使用seek。在之前的版本中也存在這一功能,但是在這款軟件中,DBA可以使用FORCESEEK來(lái)指定需要seek的索引或者列:
②SELECT user_name FROM user_table
③WITH (FORCESEEK(user_table_index(user_name))
④如果你能夠想到的,在user_table上有一個(gè)索引叫做user_table_index,它將user_name作為其中的一列。這會(huì)強(qiáng)制查詢優(yōu)化器使用這個(gè)索引和列來(lái)進(jìn)行seek。你還可以seek多個(gè)列,但是這需要按照它們?cè)谒饕械奈恢庙樞騺?lái)指明出來(lái)。
⑤一個(gè)可能的應(yīng)用場(chǎng)景:你創(chuàng)建了一個(gè)系統(tǒng),其中生成索引后你想要手動(dòng)進(jìn)行詳細(xì)的說(shuō)明,或者是用存儲(chǔ)過(guò)程以及內(nèi)嵌SQL語(yǔ)句來(lái)自動(dòng)生成。
3、新的系統(tǒng)對(duì)象
①每當(dāng)軟件有版本更新的時(shí)候,都會(huì)出現(xiàn)一些新的系統(tǒng)對(duì)象,用戶每次都將它們挖掘出來(lái)然后記錄到文檔當(dāng)中。下面就是軟件中一些新的系統(tǒng)對(duì)象。
②sys.dm_os_volume_stats:當(dāng)進(jìn)行查詢的時(shí)候,這個(gè)動(dòng)態(tài)管理函數(shù)將返回存儲(chǔ)數(shù)據(jù)庫(kù)文件的磁盤信息。比如磁盤上還有多少可用空間,這個(gè)卷是否支持壓縮。
③sys.dm_os_windows_info:返回運(yùn)行的操作系統(tǒng)信息(哪個(gè)版本的Windows),其中包括了修訂級(jí)別以及操作系統(tǒng)語(yǔ)言等。
④sys.dm_server_registry:返回現(xiàn)安裝的數(shù)據(jù)庫(kù)相關(guān)注冊(cè)信息。
⑤sys.dm_server_services:返回?cái)?shù)據(jù)庫(kù)正在運(yùn)行的服務(wù)狀態(tài),包括上次啟動(dòng)時(shí)間、服務(wù)是否運(yùn)行在集群實(shí)例上等。
4、支持仿真(512e)硬盤
存儲(chǔ)市場(chǎng)中目前正涌現(xiàn)出新的硬盤驅(qū)動(dòng)器,其中之一就是使用所謂的“512e”格式的硬盤,仿真硬盤運(yùn)用磁盤的4K扇區(qū),但是在界面上模擬一個(gè)512字節(jié)的扇區(qū)硬盤。在TechTarget之前關(guān)于仿真硬盤對(duì)Windows Server影響的報(bào)道中,作者已經(jīng)將該硬盤稱為先進(jìn)格式硬盤,而且它對(duì)于提升SQL Server這樣應(yīng)用性能方面有很大的優(yōu)勢(shì)。因此,微軟在SP1中添加了對(duì)仿真硬盤的支持,它可以讓W(xué)indows Server 2008 R2運(yùn)行更好。
5、數(shù)據(jù)層應(yīng)用組件架構(gòu)(DAC Fx)
數(shù)據(jù)庫(kù)架構(gòu)管理是讓每個(gè)DBA頭痛的事情,但是SQL Server在這方面提供了不錯(cuò)的幫助。數(shù)據(jù)層應(yīng)用組件(DAC)就是這樣的一個(gè)工具:它讓數(shù)據(jù)層對(duì)象(基本上就是數(shù)據(jù)庫(kù)中所有的東西)寫(xiě)入和部署變得輕松起來(lái)。SP1包括了一個(gè)新的DAC Fx和DAC升級(jí)向?qū)В@兩個(gè)工具可以幫助軟件現(xiàn)有數(shù)據(jù)庫(kù)架構(gòu)進(jìn)行升級(jí),而且還支持微軟新的云數(shù)據(jù)庫(kù)平臺(tái)SQL Azure。
6、SharePoint PowerPivot磁盤空間控制
①微軟PowerPivot數(shù)據(jù)往往會(huì)緩存在SharePoint中,但是DBA還是無(wú)法對(duì)緩存機(jī)制有一個(gè)比較直接的控制。軟件可以讓DBA控制不活躍數(shù)據(jù)庫(kù)在內(nèi)存中緩存的時(shí)間,并對(duì)PowerPivot文件進(jìn)行磁盤清理。如果你的系統(tǒng)中只有少量的PowerPivot數(shù)據(jù),而且更改很少,你希望它能夠長(zhǎng)時(shí)間緩存在內(nèi)存中,那么新的磁盤空間控制功能將會(huì)非常有幫助。
②通過(guò)sys.sp_db_increased_partitions存儲(chǔ)過(guò)程將一個(gè)表分成15000個(gè)分區(qū)。
③sys.sp_db_increased_partitions存儲(chǔ)過(guò)程可以使DBA能夠針對(duì)一個(gè)特定的表設(shè)定increased_partitions。在之前的軟件版本中,DBA最多能夠分成1000個(gè)分區(qū),而新的SP1中最多則可以達(dá)到15000個(gè)分區(qū)。這是非常大的一個(gè)改進(jìn)。