版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)程序員面試分類真題28一、單項(xiàng)選擇題1.
您的公司有一個(gè)DBServer,名為AllWin,其上裝了MSSQLSERVER2000?,F(xiàn)在需要您寫一個(gè)數(shù)據(jù)庫(kù)連接字符串,用以連接AllWin上SQ(江南博哥)LSERVER中的一個(gè)名為PubBase實(shí)例的Test庫(kù)。請(qǐng)問,應(yīng)該選擇______A.“Server=AllWin;DataSource=PubBase;InitialCatalog=Test;IntegratedSecurity=SSPI”B.“Server=AllWin;DataSource=PubBase;Database=Test;IntegratedSecurity=SSPI”C.“DataSource=AllWin\PubBase;InitialCategory=PubBase;IntegratedSecufity=SSPI”D.“DataSource=AllWin\PubBase;Database=Test;IntegratedSecurity=SSPI”正確答案:B[解析]使用服務(wù)器名\實(shí)例名作為連接指定SQLServer實(shí)例的數(shù)據(jù)源。如果使用的是SQLServer2008Express版,那么實(shí)例名為SQLEXPRESS。
(1)標(biāo)準(zhǔn)安全連接
DataSource=myServerAddress;InitialCatalog=myDataBase;UserId=myUsemame;Password=myPassword;
(2)可替代的標(biāo)準(zhǔn)安全連接
Server=mySeNerAddrNs;Database=myDataBase;UserID=myUsername;Password=myPassword;Trusted_Connection=False;
(3)信任連接
DataSource=myServerAddress;InitialCatalog=myDataBase;IntegratedSecurity=SSPI;
(4)可替代的信任連接
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
2.
在SQLServer中,保存所有的臨時(shí)表和臨時(shí)存儲(chǔ)過(guò)程的是______A.Master數(shù)據(jù)庫(kù)B.Tempdb數(shù)據(jù)庫(kù)C.Model數(shù)據(jù)庫(kù)D.Msdb數(shù)據(jù)庫(kù)正確答案:B[考點(diǎn)]維護(hù)操作[解析]
總體而言,SQLServer有如下4個(gè)默認(rèn)的數(shù)據(jù)庫(kù):Master、Model、Tempdb和Msdb。
(1)Master
Master數(shù)據(jù)庫(kù)(主數(shù)據(jù)庫(kù))保存放在SQLServer實(shí)體上的所有數(shù)據(jù)庫(kù)元數(shù)據(jù)的詳細(xì)信息,它還是將引擎固定起來(lái)的粘合劑。由于如果不使用Master數(shù)據(jù)庫(kù),那么SQLServer就不能啟動(dòng),所以,必須要小心地管理好這個(gè)數(shù)據(jù)庫(kù)。因此,對(duì)這個(gè)數(shù)據(jù)庫(kù)進(jìn)行常規(guī)備份是十分必要的。這個(gè)數(shù)據(jù)庫(kù)還包括了諸如系統(tǒng)登錄、配置設(shè)置、已連接的Server信息、擴(kuò)展存儲(chǔ)過(guò)程等。
(2)Model
Model數(shù)據(jù)庫(kù)(模型數(shù)據(jù)庫(kù))是一個(gè)用來(lái)在實(shí)體上創(chuàng)建新用戶數(shù)據(jù)庫(kù)的模板數(shù)據(jù)庫(kù),可以把任何存儲(chǔ)過(guò)程、視圖、用戶等放在模型數(shù)據(jù)庫(kù)里,這樣在創(chuàng)建新數(shù)據(jù)庫(kù)的時(shí)候,新數(shù)據(jù)庫(kù)就會(huì)包含存放在模型數(shù)據(jù)庫(kù)里的所有對(duì)象了。
(3)Tempdb
Tempdb數(shù)據(jù)庫(kù)存有臨時(shí)對(duì)象,例如全局和本地臨時(shí)表和存儲(chǔ)過(guò)程。這個(gè)數(shù)據(jù)庫(kù)在SQLServer每次重啟的時(shí)候都會(huì)被重新創(chuàng)建,而其中包含的對(duì)象是依據(jù)模型數(shù)據(jù)庫(kù)里定義的對(duì)象被創(chuàng)建的。除了這些對(duì)象,Tempdb還存有其他對(duì)象,例如表變量、來(lái)自表值函數(shù)的結(jié)果集以及臨時(shí)表變量。由于Tempdb會(huì)保留SQLServer實(shí)體上所有數(shù)據(jù)庫(kù)的對(duì)象類型,所以,對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化配置是非常重要的。
(4)Msdb
Msdb數(shù)據(jù)庫(kù)用來(lái)保存數(shù)據(jù)庫(kù)備份、SQLAgent信息、DTS程序包和SQLServer任務(wù)等信息,以及諸如日志轉(zhuǎn)移這樣的復(fù)制信息。
從SQlServerStudio中可以查看所有的數(shù)據(jù)庫(kù),如下圖所示。
3.
在SQLServer2000中,若希望用戶user1具有數(shù)據(jù)庫(kù)服務(wù)器上的全部權(quán)限,則應(yīng)將user1加入角色______A.db_ownerB.publicC.db_datawriterD.sysadmin正確答案:D[考點(diǎn)]維護(hù)操作[解析]登錄名就是可以登錄該服務(wù)器的名稱;服務(wù)器角色就是該登錄名對(duì)該服務(wù)器具有的權(quán)限。一個(gè)服務(wù)器可以有多個(gè)角色,一個(gè)角色可以有多個(gè)登錄名,就好像操作系統(tǒng)可以有多個(gè)登錄用戶。固定服務(wù)器角色描述sysadmin可以在SQLServer中執(zhí)行任何操作serveradmin可以設(shè)置服務(wù)器范圍的配置選項(xiàng),可以關(guān)閉服務(wù)器setupadmin可以管理鏈接服務(wù)器和啟動(dòng)過(guò)程securityadmin可以管理登錄和CREATEDATABASE權(quán)限,還可以讀取錯(cuò)誤日志和更改密碼processadmin可以管理在SQLServer中運(yùn)行的進(jìn)程dbcreator可以創(chuàng)建、更改和刪除數(shù)據(jù)庫(kù)diskadmin可以管理磁盤文件bulkadmin可以執(zhí)行BULKINSERT語(yǔ)句db_owner在數(shù)據(jù)庫(kù)中有全部權(quán)限db_accessadmin可以添加或刪除用戶IDdb_securityadmin可以管理全部權(quán)限、對(duì)象所有權(quán)、角色和角色成員資格db_ddladmin可以發(fā)出ALLDDL,但不能發(fā)出GRANT、REVOKE或DENY語(yǔ)句db_backupoperator可以發(fā)出DBCC、CHECKPOINT和BACKUP語(yǔ)句db_datareader可以選擇數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的所有數(shù)據(jù)db_datawriter可以更改數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的所有數(shù)據(jù)db_denydatareader不能選擇數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的任何數(shù)據(jù)db_denydatawriter不能更改數(shù)據(jù)庫(kù)內(nèi)任何用戶表中的任何數(shù)據(jù)
在使用的過(guò)程中,一般使用sa(登錄名)或WindowsAdministration(Windows集成驗(yàn)證登錄方式)登錄數(shù)據(jù)庫(kù)。這種登錄方式登錄成功以后具有最高的服務(wù)器角色,也就是可以對(duì)服務(wù)器進(jìn)行任何一種操作。而這種登錄名具有的用戶名是DBO(數(shù)據(jù)庫(kù)默認(rèn)用戶,具有所有權(quán)限),但是,在使用的過(guò)程中,一般感覺不到DBO的存在,但它確實(shí)存在。通常創(chuàng)建用戶名與登錄名相同(如果不改變用戶名稱,那么系統(tǒng)會(huì)自動(dòng)創(chuàng)建與登錄名相同的用戶名,這個(gè)不是強(qiáng)制相同的),例如,創(chuàng)建了一個(gè)登錄名稱為“ds”,那么可以為該登錄名“ds”在指定的數(shù)據(jù)庫(kù)中添加一個(gè)同名用戶,使登錄名“ds”能夠訪問該數(shù)據(jù)庫(kù)中的數(shù)據(jù)。[考點(diǎn)]維護(hù)操作
4.
SQLServer2000提供了完全備份、差異備份和日志備份等幾種備份方法,其中差異備份備份的內(nèi)容是______A.上次差異備份之后修改的數(shù)據(jù)庫(kù)全部?jī)?nèi)容B.上次完全備份之后修改的數(shù)據(jù)庫(kù)全部?jī)?nèi)容C.上次日志備份之后修改的數(shù)據(jù)庫(kù)全部?jī)?nèi)容D.上次完全備份之后修改的數(shù)據(jù)庫(kù)內(nèi)容,但不包括日志等其他內(nèi)容正確答案:B[考點(diǎn)]備份恢復(fù)[解析]完全備份可對(duì)整個(gè)數(shù)據(jù)庫(kù)進(jìn)行備份。這包括對(duì)部分事務(wù)日志進(jìn)行備份,以便在還原完整數(shù)據(jù)庫(kù)備份之后,能夠恢復(fù)完整數(shù)據(jù)庫(kù)。
差異備份基于的是最近一次的完全備份。差異備份僅捕獲自上次完全備份后發(fā)生更改的數(shù)據(jù)。差異備份基于的完全備份稱為差異的“基準(zhǔn)”。完全備份可以用作一系列差異備份的基準(zhǔn),包括數(shù)據(jù)庫(kù)備份、部分備份和文件備份。文件差異備份的基準(zhǔn)備份可以包含在完全備份、文件備份或部分備份中。
日志備份分為事務(wù)日志備份和結(jié)尾日志備份。在創(chuàng)建任何日志備份之前,必須至少創(chuàng)建一個(gè)完全備份。然后,可以隨時(shí)備份事務(wù)日志。建議經(jīng)常執(zhí)行日志備份,這樣既可盡量減少丟失工作的風(fēng)險(xiǎn),也可以截?cái)嗍聞?wù)日志。通常,數(shù)據(jù)庫(kù)管理員偶爾(例如,每周)會(huì)創(chuàng)建完全備份,還可以選擇以較短間隔(例如,每天)創(chuàng)建一系列差異備份。數(shù)據(jù)庫(kù)管理員可以比較頻繁地(例如每隔10min)創(chuàng)建事務(wù)日志備份。對(duì)于給定的備份類型,最恰當(dāng)?shù)膫浞蓍g隔取決于一系列因素,例如,數(shù)據(jù)的重要性、數(shù)據(jù)庫(kù)的大小和服務(wù)器的工作負(fù)載。結(jié)尾日志備份捕獲尚未備份的任何日志記錄(“結(jié)尾日志”),以防丟失所做的工作并確保日志鏈完好無(wú)損。在將SQLServer數(shù)據(jù)庫(kù)恢復(fù)到其最近一個(gè)時(shí)間點(diǎn)之前,必須先備份數(shù)據(jù)庫(kù)的事務(wù)日志。結(jié)尾日志備份將是數(shù)據(jù)庫(kù)還原計(jì)劃中相關(guān)的最后一個(gè)備份。
二、簡(jiǎn)答題1.
SQLServer如何獲取系統(tǒng)時(shí)間?正確答案:利用函數(shù)GETDATE可以獲取系統(tǒng)時(shí)間,查詢語(yǔ)句為SELECTGETDATE()。[考點(diǎn)]函數(shù)
2.
SQLServer如何查看版本?正確答案:可以通過(guò)圖形界面查詢,也可以通過(guò)SQL語(yǔ)句查詢來(lái)獲取數(shù)據(jù)庫(kù)的版本,SQL語(yǔ)句為SELECT@@VERSION,如下:
MicrosoftSQLServer2008(RTM)-10.0.1600.22(IntelX86)Jul9200814:43:34Copyright(c)1988-2008MicrosoftCorporationEnterpriseEditiononWindowsNT5.1<X86>(Build2600:ServicePack3)(VM)[考點(diǎn)]函數(shù)
3.
用一條SQL語(yǔ)句查詢出每門課都大于80分的學(xué)生姓名:
namekechengfenshu
張三語(yǔ)文81
張三數(shù)學(xué)75
李四語(yǔ)文76
李四數(shù)學(xué)90
王五語(yǔ)文81
王五數(shù)學(xué)100
王五英語(yǔ)90正確答案:SELECTDISTINCTNAMEFROMTABLEWHERENAMENOTIN(SELECTDISTINCTNAMEFROMTABLEWHEREFENSHU<=80);。[考點(diǎn)]SQL部分
設(shè)教學(xué)數(shù)據(jù)庫(kù)中有三個(gè)基本表:
學(xué)生表S(S拌,SNAME,AGE,SEX),其屬性表示學(xué)生的學(xué)號(hào)、姓名、年齡和性別;選課表SC(S#,C#,GRADE),其屬性表示學(xué)生的學(xué)號(hào)、所學(xué)課程的課程號(hào)和成績(jī);課程表C(C#,CNAME,TEACHER),其屬性表示課程號(hào)、課程名稱和任課教師姓名。
下面的題目都是針對(duì)上述三個(gè)基本表操作的。4.
試寫出下列插入操作的SQL語(yǔ)句:
把SC表中每門課程的平均成績(jī)插入另一個(gè)已存在的表SC_C(C#,CNAME,AVG_GRADE)中,其中,AVG_GRADE為每門課程的平均成績(jī)。正確答案:INSERTINTOSC_C(C#,CNAME,AVG_GRADE)SELECTSC.C#,C.CNAME,AVG(GRADE)FROMSC,CWHERESC.C#=C.C#GROUPBYSC.C#,C.CNAME;[考點(diǎn)]SQL部分
5.
試寫出下列刪除操作的SQL語(yǔ)句:
從SC表中把WU老師的女學(xué)生選課元組刪去。正確答案:DELETEFROMSCWHERES#IN(SELECTS#FROMSWHERESEX='女')ANDC#IN(SELECTC#FROMCWHERETEACHER='WU');
6.
設(shè)有如下關(guān)系表:
供應(yīng)者:SUPPLIER(SNO,SNAME,CITY),其中,SNO為供應(yīng)者編號(hào),SNAME為供應(yīng)者姓名,CITY為所在城市。
零件:PART(PNO,PNAME,WEIGHT),其中,PNO為零件號(hào),PNAME為零件名稱,WEIGHT為重量。
工程:JOB(JNO,JNAME,CITY),其中,JNO為工程號(hào),JNAME為工程名,CITY為所在城市。
聯(lián)系關(guān)系:SPJ(SNO,PNO,JNO,QTY),其中,QTY為數(shù)量。
1)查找給工程J1提供零件P1的供應(yīng)者號(hào)SNO。
2)查找在北京的供應(yīng)者給武漢的工程提供零件的零件號(hào)。
3)查找由供應(yīng)者S1提供的零件名PNAME。
4)查找CITY值為上海的工程號(hào)和名稱。
5)將工程J3的城市改為廣州。
6)將所有重20公斤的零件改為重10公斤。
7)將給工程J1提供零件P1的供應(yīng)者S1改為S2。
8)將值(S3,麥苗,上海)加到SUPPLIER中。
9)刪除所有上海工程的數(shù)據(jù)。正確答案:1)SELECTSNOFROMSPJ,PART,JOBWHERESPJ.PNO=PART.PNOANDSPJ.JNO=JOB.JNOANDPART.PNAME='P1'ANDJOB.JNAME='J1';
2)SELECTPNOFROMSPJ,PART,JOBWHERESPJ.PNO=PART.PNOANDSPJ.JNO=JOB.JNOANDJOB.CITY='武漢'ANDSUPPLIER.CITY='北京';
3)SELECTPNAMEFROMPARTWHEREPNOIN(SELECTPNOFROMSPJ,SUPPLIERWHERESPJ.SNO=SUPPLIER.SNOANDSUPPLIER.SNAME='S1');
4)SELECTJNO,JNAMEFROMJOBWHERECITY='上海';
5)UPDATEJOBSETCITY='廣州'WHEREJNAME='J3';
6)UPDATEPARTSETWEIGHT='10公斤'WHEREWEIGHT='20公斤';
7)UPDATESUPPLIERSETSNAME='S2'WHERESNAME='S1'ANDSNOIN
(SELECTSNOFROMSPJ,JOB,PARTWHERESPJ.JNO=JOB.JNOANDJOB.JNAME='J1'ANDSPJ.PNO=PART.PNOANDPART.PNAME='P1');
8)INSERTINTOSUPPLIERVALUES(;S3','麥苗','上海');
9)DELETEFROMSPJWHEREJNOIN(SELECTJNOFROMJOBWHERECITY='上海');
DELETEFROMJOBWHERECITY='上海';--需要注意的是,上述語(yǔ)句的順序不能弄反。
學(xué)生信息管理系統(tǒng)中有張表STUDENT,其中有字段ID、NAME、SEX、BIRTH,請(qǐng)回答如下問題:7.
找出NAME相同的學(xué)生(用一句SQL語(yǔ)句);正確答案:SELECT*FROMSTUDENTWHERENAMEIN(SELECTNAMEFROMSTLIDENTGROUP
BYNAMEHAVINGCOUNT(NAME)>1);[考點(diǎn)]SQL部分
8.
用一句SQL語(yǔ)句把學(xué)生SEX為男的改為女,女的改為男。正確答案:UPDATESTUDENTSETSEX=CASESEXWHEN'男'THEN'女'ELSE'男'END;
9.
假設(shè)有表數(shù)據(jù):TABLE
所要結(jié)果:
請(qǐng)寫出獲得此結(jié)果的SQL語(yǔ)句。正確答案:本題考查的是聚合函數(shù)和子查詢,先按照ID列進(jìn)行分組找出NUM最大的值,然后回表查詢即可得最終結(jié)果,最終SQL語(yǔ)句如下:
SELECT*FROMTABLEWHERENUMIN(SELECTMAX(NUM)FROMTABLEGROUPBYID);[考點(diǎn)]SQL部分
10.
SQLServer如何啟動(dòng)?正確答案:在Windows服務(wù)控制臺(tái)里手動(dòng)啟動(dòng),這個(gè)也是最常用的方式。鍵入“Win+R”鍵打開運(yùn)行窗口,然后輸入services.msc打開服務(wù)窗口。另外,通過(guò)Windows命令窗口,可以使用“netstartmssqlserver”命令手動(dòng)啟動(dòng)SQLServer數(shù)據(jù)庫(kù)。
11.
SQLServer有Linux版本嗎?正確答案:有。微軟在2016年推出了Linux系統(tǒng)的SQLServer預(yù)覽版,并于2017年全面發(fā)布這款產(chǎn)品。微軟發(fā)言人表示,預(yù)覽版已經(jīng)支持Ubuntu,該公司今后還將支持紅帽企業(yè)版Linux和其他平臺(tái)。
12.
SQLServer、Access、Oracle三種數(shù)據(jù)庫(kù)之間的區(qū)別是什么?正確答案:Access是一種桌面數(shù)據(jù)庫(kù),只適合于數(shù)據(jù)量少的應(yīng)用系統(tǒng),在處理少量數(shù)據(jù)和單機(jī)訪問的數(shù)據(jù)時(shí)是很好的,效率也很高。但是Access數(shù)據(jù)庫(kù)有一定的極限,如果數(shù)據(jù)達(dá)到100MB左右,那么很容易造成Access假死,或者消耗掉服務(wù)器的內(nèi)存導(dǎo)致服務(wù)器崩潰。
SQLServer是基于服務(wù)器端的中型數(shù)據(jù)庫(kù),適合大容量數(shù)據(jù)的應(yīng)用,在處理海量數(shù)據(jù)的效率、后臺(tái)開發(fā)的靈活性、可擴(kuò)展性等方面強(qiáng)大。因?yàn)楝F(xiàn)在數(shù)據(jù)庫(kù)都使用標(biāo)準(zhǔn)的SQL語(yǔ)言對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理,所以,如果是標(biāo)準(zhǔn)SQL語(yǔ)言,那么兩者基本上都可以通用的。SQLServer還有更多的擴(kuò)展,可以用存儲(chǔ)過(guò)程、函數(shù)等。
Oracle是基于服務(wù)器的大型數(shù)據(jù)庫(kù),主要應(yīng)用于銀行、證券類業(yè)務(wù)等。[考點(diǎn)]維護(hù)操作
13.
SQLServer的兩種存儲(chǔ)結(jié)構(gòu)是什么?正確答案:SQLServer的兩種存儲(chǔ)結(jié)構(gòu)是頁(yè)與區(qū)間。
1)頁(yè):用于數(shù)據(jù)存儲(chǔ)的連續(xù)的磁盤空間塊,SQLServer中數(shù)據(jù)存儲(chǔ)的基本單位是頁(yè),磁盤I/O操作在頁(yè)級(jí)執(zhí)行,頁(yè)的大小為8KB,每頁(yè)的開頭是96字節(jié)的頁(yè)頭,用于存儲(chǔ)有關(guān)頁(yè)的系統(tǒng)信息,包括頁(yè)碼、頁(yè)類型、頁(yè)的可用空間以及擁有該頁(yè)的對(duì)象的分配單元ID。
2)區(qū)間:區(qū)是管理空間的基本單位,一個(gè)區(qū)是8個(gè)物理上連續(xù)的頁(yè)(即64KB)的集合,所有頁(yè)都存儲(chǔ)在區(qū)中。SQLServer有兩種類型的區(qū):統(tǒng)一區(qū)和混合區(qū)。
①統(tǒng)一區(qū):由單個(gè)對(duì)象所有,區(qū)中的所有8頁(yè)只能由一個(gè)對(duì)象使用。
②混合區(qū):最多可由8個(gè)對(duì)象共享。區(qū)中8頁(yè)中的每頁(yè)可以由不同對(duì)象所有,但是一頁(yè)總是只能屬于一個(gè)對(duì)象。[考點(diǎn)]維護(hù)操作
14.
在SQLServer中,請(qǐng)用SQL創(chuàng)建一張本地臨時(shí)表和全局臨時(shí)表,里面包含兩個(gè)字段ID和IDVALUES,類型都是INT型,并解釋兩者的區(qū)別?正確答案:在SOLServer中,臨時(shí)表有兩種類型:本地臨時(shí)表和全局臨時(shí)表。臨時(shí)表與永久表相似,但臨時(shí)表存儲(chǔ)在Tempdb中,當(dāng)不再使用時(shí)會(huì)自動(dòng)刪除。本地臨時(shí)表只對(duì)創(chuàng)建這個(gè)表的用戶的SESSION可見,對(duì)其他進(jìn)程是不可見的。當(dāng)創(chuàng)建它的進(jìn)程消失時(shí),這個(gè)臨時(shí)表就自動(dòng)刪除。本地臨時(shí)表的名稱以單個(gè)數(shù)字符號(hào)(#)打頭。全局臨時(shí)表對(duì)整個(gè)SQLServer實(shí)例都可見,但是所有訪問它的SESSION都消失的時(shí)候,它也自動(dòng)刪除。全局臨時(shí)表的名稱以兩個(gè)數(shù)字符號(hào)(##)打頭。它們的創(chuàng)建語(yǔ)句如下:
本地臨時(shí)表:CREATETABLE#XX(IDINT,IDVALUESINT);
全局臨時(shí)表:CREATETABLE##XX(IDINT,IDVALUESINT);[考點(diǎn)]維護(hù)操作
15.
SQLserver物理有哪幾種類型的文件?正確答案:SOLServer數(shù)據(jù)庫(kù)文件組成如下:
1)主數(shù)據(jù)文件:默認(rèn)擴(kuò)展名為.mdf。
2)輔助數(shù)據(jù)文件:默認(rèn)擴(kuò)展名為.ndf(一個(gè)數(shù)據(jù)庫(kù)可以創(chuàng)建多個(gè).ndf文件)。
3)事務(wù)日志文件:默認(rèn)擴(kuò)展名為.1df(記錄對(duì)數(shù)據(jù)庫(kù)的所有操作,但不包含所操作的數(shù)據(jù))。
所有的數(shù)據(jù)文件和日志文件默認(rèn)位置在C:/ProgramFiles/MicrosoftSQLServer/MSSQL.n/MSSQL/Data(其中,n是標(biāo)識(shí)已安裝的SQLServer實(shí)例名稱一實(shí)例名)。需要注意的是,應(yīng)當(dāng)將所有的數(shù)據(jù)和對(duì)象存儲(chǔ)在.ndf文件中,而.mdf文件只負(fù)責(zé)存儲(chǔ)數(shù)據(jù)目錄,這樣可以有效地避免訪問時(shí)的磁盤爭(zhēng)用。
物理文件組成也可以參考下圖。
[考點(diǎn)]維護(hù)操作
16.
SQLServer中的鎖分為哪幾種?正確答案:SQLServer中的鎖分為以下幾種:名稱簡(jiǎn)介何時(shí)使用讀寫共享鎖(ShareLock,S鎖,讀鎖)S鎖是可以查看但無(wú)法修改和刪除的一種數(shù)據(jù)鎖。若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則事務(wù)T只能讀A;其他事務(wù)只能再對(duì)A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這就保證了其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對(duì)A做任何修改當(dāng)執(zhí)行SELECT時(shí),數(shù)據(jù)庫(kù)會(huì)自動(dòng)使用S鎖YN排它鎖(eXclusiveLock,X鎖,獨(dú)占鎖,寫鎖,互斥鎖)如果事務(wù)T對(duì)數(shù)據(jù)A加上X鎖后,則其他事務(wù)不能再對(duì)A加任何類型的鎖。獲得X鎖的事務(wù)既能讀數(shù)據(jù),又能修改數(shù)據(jù)執(zhí)行INSERT、UPDATE、DELETE時(shí)數(shù)據(jù)庫(kù)會(huì)自動(dòng)使用X鎖YY更新鎖(UpdateLock,U鎖)U鎖意味著事務(wù)即將要使用X鎖,它目前正在掃描數(shù)據(jù),以確定要使用X鎖鎖定的那些行。它用于可更新的資源中,防止當(dāng)多個(gè)會(huì)話在讀取、鎖定以及隨后可能進(jìn)行的資源更新時(shí)發(fā)生常見形式的死鎖。使用U鎖可以提高處理并發(fā)查詢的吞吐量讀階段操作階段更新階段YYNNNN意向鎖(IntentLock,I鎖)I鎖是一種用于警示的鎖,用于建立鎖的層次結(jié)構(gòu)。I鎖包含三種類型:意向共享(IS)、意向排它(IX)和意向排它共享(SIX)鎖的標(biāo)記
架構(gòu)鎖(SchemaLock,Sch鎖,模式鎖)Sch鎖分為架構(gòu)修改(SchemaModify,Sch-M)鎖和架構(gòu)穩(wěn)定性(SchemaStability,Sch-S)鎖。擁有Sch-M鎖期間,Sch-M鎖將阻止對(duì)表進(jìn)行并發(fā)訪問。這意味著Sch—M鎖在釋放前將阻止所有外圍操作。某些DML操作使用sch-M鎖阻止并發(fā)操作訪問受影響的表。Sch-S鎖不會(huì)阻止某些事務(wù)鎖,其中包括X鎖。因此,在編譯查詢的過(guò)程中,其他事務(wù)(包括那些針對(duì)表使用X鎖的事務(wù))將繼續(xù)運(yùn)行。但是,無(wú)法針對(duì)表執(zhí)行獲取Sch-M鎖的并發(fā)DDL操作和并發(fā)DML操作當(dāng)修改表結(jié)構(gòu)時(shí)使用,即數(shù)據(jù)庫(kù)引擎在執(zhí)行DDL操作(例如,添加列或刪除表)的過(guò)程中使用Sch-M鎖。當(dāng)數(shù)據(jù)庫(kù)引擎在編譯和執(zhí)行查詢時(shí)使用Sch-S鎖NN大容量更新鎖(BulkUpdateLock,BU鎖)數(shù)據(jù)庫(kù)引擎在將數(shù)據(jù)大規(guī)模復(fù)制到表中時(shí),指定TABLOCK提示或使用sp_tableoption選項(xiàng)(將數(shù)據(jù)表設(shè)置為tablelockonbulkload),則是使用BU鎖。BU鎖允許多個(gè)線程將數(shù)據(jù)并發(fā)地大容量加載到同一表,以降低數(shù)據(jù)表的鎖定競(jìng)爭(zhēng),同時(shí)防止其他不進(jìn)行大容量加載數(shù)據(jù)的進(jìn)程訪問該表在向表進(jìn)行大容量數(shù)據(jù)復(fù)制且指定了TABLOCK提示時(shí)使用NN
在以上表格中需要注意的是,同一資源可以加多個(gè)S鎖,但是只能加一個(gè)X鎖。[考點(diǎn)]鎖
17.
SQLServet如何查詢阻塞?正確答案:SQLServer的阻塞查詢主要來(lái)自sys.sysprocesses。通常在處理時(shí)需要加入其他相關(guān)的視圖或表,例如sys.dm_exec_connections,sys.dm_exec_sql_tex
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省2025秋九年級(jí)英語(yǔ)全冊(cè)Unit5Whataretheshirtsmadeof易錯(cuò)考點(diǎn)專練課件新版人教新目標(biāo)版
- 2025年氦氖激光血管內(nèi)照射治療儀項(xiàng)目合作計(jì)劃書
- 2025年食品級(jí)纖維素醚項(xiàng)目建議書
- 護(hù)士婦產(chǎn)科護(hù)理要點(diǎn)
- 小學(xué)護(hù)理媽媽:兒童意外傷害處理
- 腎絞痛護(hù)理效果評(píng)價(jià)
- 員工壓力管理
- 老年透析患者的透析健康教育
- 智慧護(hù)理與創(chuàng)新發(fā)展
- 護(hù)理創(chuàng)新管理對(duì)護(hù)患關(guān)系的影響
- 利用EXCEL畫風(fēng)機(jī)特性曲線-模版
- 基層銷售人員入職培訓(xùn)課程完整版課件
- 2023年郴州職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案解析word版
- 西南大學(xué)PPT 04 實(shí)用版答辯模板
- D500-D505 2016年合訂本防雷與接地圖集
- 顱腦損傷的重癥監(jiān)護(hù)
- 《史記》上冊(cè)注音版
- JJF 1985-2022直流電焊機(jī)焊接電源校準(zhǔn)規(guī)范
- GB/T 19867.2-2008氣焊焊接工藝規(guī)程
- 國(guó)家開放大學(xué)《刑法學(xué)(1)》形成性考核作業(yè)1-4參考答案
- 商戶類型POS機(jī)代碼
評(píng)論
0/150
提交評(píng)論