SQL-Server數(shù)據(jù)庫(kù)程序設(shè)計(jì)認(rèn)證試題及答案_第1頁(yè)
SQL-Server數(shù)據(jù)庫(kù)程序設(shè)計(jì)認(rèn)證試題及答案_第2頁(yè)
SQL-Server數(shù)據(jù)庫(kù)程序設(shè)計(jì)認(rèn)證試題及答案_第3頁(yè)
SQL-Server數(shù)據(jù)庫(kù)程序設(shè)計(jì)認(rèn)證試題及答案_第4頁(yè)
SQL-Server數(shù)據(jù)庫(kù)程序設(shè)計(jì)認(rèn)證試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩100頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 PAGE 105SQL Server數(shù)據(jù)庫(kù)程序設(shè)計(jì)認(rèn)證試題1你是一家公司的數(shù)據(jù)庫(kù)開發(fā)員,你正在創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)用來存儲(chǔ)15所中學(xué)運(yùn)動(dòng)會(huì)的統(tǒng)計(jì)信息,這些信息將被50個(gè)公司用來在他們網(wǎng)站上發(fā)布運(yùn)動(dòng)會(huì)信息。每個(gè)公司的Web站點(diǎn)用不同的格式排列和顯示統(tǒng)計(jì)表。你需要把數(shù)據(jù)打包傳送給這些公司,你該怎么做?(SQL對(duì)XML支持)A. 用包括FOR XML 子句的SELECT語(yǔ)句來提取數(shù)據(jù)B. 使用sp_makewebtask系統(tǒng)存儲(chǔ)過程來產(chǎn)生由SELECT語(yǔ)句返回的數(shù)據(jù)的HTML文本C. 創(chuàng)建數(shù)據(jù)傳輸服務(wù)數(shù)據(jù)包來導(dǎo)出數(shù)據(jù)庫(kù)的數(shù)據(jù),并把這些數(shù)據(jù)放到tab分隔的文本文件中D. 創(chuàng)建一個(gè)應(yīng)用程序,此應(yīng)用程序用SQ

2、L_DMO提取數(shù)據(jù)庫(kù)的數(shù)據(jù)并把這些數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)電子數(shù)據(jù)交換(EDI)文件答案: A.XML可擴(kuò)展標(biāo)記語(yǔ)言,用于在web上顯示數(shù)據(jù)的語(yǔ)言,SELECT語(yǔ)句的for xml子句可以使查詢返回XML格式,而不是標(biāo)準(zhǔn)的行集結(jié)果;Sp_makewebtask創(chuàng)建一項(xiàng)生成HTML文檔的任務(wù),而XML比HTML更復(fù)雜;tab分隔文件常常在一些電子制表軟件中被使用,如Excel;SQL_DMO是SQL分布式管理對(duì)象的縮寫,允許用支持自動(dòng)化或 COM 的語(yǔ)言編寫應(yīng)用程序,以管理 SQL Server 安裝的所有部分。2你是一郵件訂購(gòu)公司的數(shù)據(jù)庫(kù)開發(fā)者,該公司有兩臺(tái)名為CORP1和CORP2 的SQLServe

3、r2000的計(jì)算機(jī)。CORP1是臺(tái)在線處理事務(wù)的服務(wù)器。CORP2存放銷售的歷史數(shù)據(jù)。CORP2已經(jīng)添加了一個(gè)連接服務(wù)到CORP1上。銷售部經(jīng)理請(qǐng)你創(chuàng)建一個(gè)是誰(shuí)購(gòu)買軟盤的用戶清單。這清單每個(gè)月生成一次,軟盤在數(shù)據(jù)庫(kù)中用ID21來表示。你必須從一張名為SalesHistory的表中檢索數(shù)據(jù)。該表放在本地的CORP2 Archive數(shù)據(jù)庫(kù)中。你需要在CORP1上執(zhí)行這個(gè)請(qǐng)求。你該選擇哪個(gè)選項(xiàng)?(遠(yuǎn)程服務(wù)器)A.EXEC sp_addlinkedserver CORP2, SQL ServerGOSELECT CustomerID FROM CORP2.Archive.dbo.SalesHistor

4、yWHERE CategoryID = 21B.SELECT CustomerID FROM OPENROWSET (SQLOLEDB, CORP2; p*word, SELECTCustomerID FROM Archive.dbo.SalesHistory WHERE CategoryID = 21)C.SELECT CustomerID FROM CORP2.Archive.dbo.SalesHistoryWHERE CategoryID = 21D.EXEC sp_addserver CORP2GOSELECT CustomerID FROM CORP2.Archive.dbo.Sal

5、esHistoryWHERE CategoryID = 21答案: C.SELECT CustomerID FROM SalesHistory WHERE CategoryID = 21,由于表SalesHistory是在遠(yuǎn)程的CORP2服務(wù)器上,并且也已經(jīng)建立了連接,所以可以直接使用分布式查詢。sp_linkedserver是建立與服務(wù)器的連接;OPENROWSET是一種使用 OLE DB 連接并訪問遠(yuǎn)程數(shù)據(jù)的一次性的、特殊的方法,無需設(shè)置鏈接服務(wù)器;sp_addserver定義本地或遠(yuǎn)程服務(wù)器的名稱3你是一名Trey Research的數(shù)據(jù)庫(kù)開發(fā)者,你創(chuàng)建兩個(gè)事務(wù)來幫助將雇員的數(shù)據(jù)信息寫入

6、公司的數(shù)據(jù)庫(kù)中。一個(gè)事物將雇員的姓名和地址插入數(shù)據(jù)庫(kù)中,這個(gè)事務(wù)很重要,另外一個(gè)事務(wù)將雇員的人數(shù)統(tǒng)計(jì)插入到數(shù)據(jù)庫(kù)中,這個(gè)事務(wù)不那么重要。在數(shù)據(jù)庫(kù)使用的高峰期,在服務(wù)器有時(shí)遇到錯(cuò)誤的期間管理員會(huì)通知。每次發(fā)生時(shí),數(shù)據(jù)庫(kù)服務(wù)器會(huì)隨機(jī)地終止其中一個(gè)事務(wù)。你必須確定當(dāng)服務(wù)器終止其中一個(gè)事務(wù)時(shí),它不會(huì)終止比較重要的那個(gè)事務(wù)。你應(yīng)該做什么?(事務(wù)處理)A.為插入雇員姓名和地址信息的那個(gè)事務(wù)設(shè)置 DEADLOCK_PRIORITY to LOW 選項(xiàng)B.為插入雇員人數(shù)信息的那個(gè)事務(wù)設(shè)置 DEADLOCK_PRIORITY to LOW 選項(xiàng)C.為插入雇員姓名和地址信息的那個(gè)事務(wù)添加一個(gè)檢查1205服務(wù)器錯(cuò)誤

7、的條件代碼。如果這個(gè)錯(cuò)誤被遇到,重新啟動(dòng)該事務(wù)。D.在事務(wù)中添加一個(gè)ROWLOCK優(yōu)化提示給SQL數(shù)據(jù)操作語(yǔ)句。E.為插入雇員姓名和地址信息的那個(gè)事務(wù)設(shè)置隔離級(jí)別給 SERIALIZABLE.答案: B. Set deadlock_priority to low可以指定當(dāng)前事務(wù)為首選死鎖犧牲品;錯(cuò)誤號(hào)1205是事務(wù)成為死鎖犧牲事務(wù)被中止后返回的信息,為插入雇員姓名和地址信息的那個(gè)事務(wù)添加條件代碼,比較沒有效率4你是公司的SQL Server 2000在線事務(wù)處理數(shù)據(jù)庫(kù)的開發(fā)者.很多表中有一千甚至更多行。所有的表都有一聚集索引。大量地訪問表至少要有一個(gè)非聚集索引。在數(shù)據(jù)庫(kù)服務(wù)器上數(shù)據(jù)文件將包含有

8、2個(gè)RAID陣列。你想要排列這些表和索引以確保最佳的輸入/輸出性能。你在每個(gè)RAID陣列上創(chuàng)建一個(gè)文件組,你接下來應(yīng)該做什么?(文件組管理)A.把經(jīng)常連接在一起的表放在同一個(gè)文件組中。把大量訪問的表和屬于這些表的所有索引放在不同的文件組中。B.把經(jīng)常連接在一起的表放在同一個(gè)文件組中。把大量訪問的表和屬于這些表的非聚集索引放在同一個(gè)文件組中。C.把經(jīng)常連接在一起的表放在不同的文件組中。把大量訪問的表和屬于這些表的非聚集索引放在不同的文件組中。D.把經(jīng)常連接在一起的表放在不同的文件組中。把大量訪問的表和屬于這些表的非聚集索引放在同一個(gè)文件組中。答案: C為了提高查詢效率,將經(jīng)常查詢的表放不同的文件

9、組中,而且將非聚集索引和它的表也放入不同的文件組中。5. 你是公司SQL Server 2000 數(shù)據(jù)庫(kù)的開發(fā)者。你更新了數(shù)據(jù)庫(kù)里幾個(gè)存儲(chǔ)過程來創(chuàng)建新的月終銷售部門的報(bào)表。此存儲(chǔ)過程包括綜合查詢從三個(gè)或者更多的數(shù)據(jù)表中檢索數(shù)據(jù)。所有數(shù)據(jù)庫(kù)中的表至少有一個(gè)索引。用戶反映新的月終報(bào)表比前一個(gè)版本的報(bào)表運(yùn)行速度慢很多。你想改善報(bào)表的性能。你該怎么做?A. 創(chuàng)建一個(gè)腳本,包括每個(gè)存儲(chǔ)過程中的數(shù)據(jù)定義語(yǔ)言(Data Definition Language),使用這個(gè)腳本作為索引優(yōu)化向?qū)В↖ndex Tuning Wizard)的工作量文件B. 在SQL部署跟蹤器中捕獲每個(gè)存儲(chǔ)過程的執(zhí)行,使用跟蹤文件作為

10、索引優(yōu)化向?qū)В↖ndex Tuning Wizard)的工作量文件C. 更新存儲(chǔ)過程使用的數(shù)據(jù)表統(tǒng)計(jì)索引D. 在SQL查詢分析器中執(zhí)行每個(gè)存儲(chǔ)過程,并使用Show Execution Plan選項(xiàng)E. 在SQL查詢分析器中執(zhí)行每個(gè)存儲(chǔ)過程,并使用Show Server Trace選項(xiàng)正確答案:E顯示服務(wù)器跟蹤命令提供了對(duì)信息的訪問,此信息用于確定查詢對(duì)服務(wù)器方的影響。 如果顯示服務(wù)器跟蹤命令在執(zhí)行查詢時(shí)啟用,則該命令顯示跟蹤窗格,此窗格提供有關(guān)事件類、子類、整型數(shù)據(jù)、文本數(shù)據(jù)、數(shù)據(jù)庫(kù) ID、持續(xù)時(shí)間、啟動(dòng)時(shí)間、讀、寫以及 CPU 使用的信息。顯示服務(wù)器跟蹤可以用來幫助調(diào)整查詢語(yǔ)句、存儲(chǔ)過程和腳

11、本,顯示在查詢分析器中。 索引優(yōu)化向?qū)?nèi)容參閱聯(lián)機(jī)叢書。6你是一家進(jìn)口商的數(shù)據(jù)庫(kù)管理員,你正在創(chuàng)建一個(gè)存儲(chǔ)訂單信息的數(shù)據(jù)庫(kù)。訂單將會(huì)在一個(gè)client/server 應(yīng)用系統(tǒng)中錄入,每次一個(gè)新的訂單錄入時(shí),必須分配一個(gè)唯一的訂單編號(hào),訂單編號(hào)必須以升序分配。每天平均有10000 個(gè)訂單被錄入。你創(chuàng)建了一個(gè)新的名為Orders 的表,并在這個(gè)表里添加了一個(gè)OrderNumber 列。接下來你該做什么?(表的屬性)A. 設(shè)置這個(gè)列的數(shù)據(jù)類型為uniqueidentifierB. 設(shè)置這個(gè)列的數(shù)據(jù)類型為int,并為這個(gè)列設(shè)置IDENTITY屬性C. 設(shè)置這個(gè)列的數(shù)據(jù)類型為int,創(chuàng)建一個(gè)用戶定義的方

12、法來選擇表中最大的訂單編號(hào)D. 設(shè)置這個(gè)列的數(shù)據(jù)類型為int,創(chuàng)建一個(gè)NextKey表,并被這個(gè)表添加一個(gè)NextOrder列,設(shè)置NextOrder列的數(shù)據(jù)類型為int,創(chuàng)建一個(gè)存儲(chǔ)過程來檢索并更新NextKey中的值答案: B.7你是一個(gè)技術(shù)培訓(xùn)中心數(shù)據(jù)庫(kù)開發(fā)者。通常地,用書面管理雇員的學(xué)歷、教師、課程和教室安排。這個(gè)培訓(xùn)中心希望通過開發(fā)一個(gè)數(shù)據(jù)庫(kù)錄入信息來實(shí)現(xiàn)無紙化記錄。你為這個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)表,設(shè)計(jì)如圖你想縮短查詢的響應(yīng)時(shí)間和將數(shù)據(jù)冗余最小化。你應(yīng)該做什么?(數(shù)據(jù)庫(kù)設(shè)計(jì))A創(chuàng)建一個(gè)名為Instructors的新表。包含InstructorID、InstructorName、 OfficeP

13、hone等字段,為添加一個(gè)Courses表添加一個(gè)名為InstructorID的字段。B將Classroom中的所有字段復(fù)制到Courses,并刪除Classroom表。C移除Courses表的主鍵約束用一個(gè)基于CourseID和CourseTitle的主鍵約束來代替。D移除ClassroomID字段,并在ClassroomNumber和ClassTime字段上以主鍵約束做基礎(chǔ)。答案: A.8你設(shè)計(jì)了一個(gè)包含客戶訂單的數(shù)據(jù)庫(kù)??蛻裘看蜗掠唵螘r(shí)都將訂購(gòu)多種的產(chǎn)品。你再觀察如圖所示的數(shù)據(jù)庫(kù)設(shè)計(jì):你想縮短查詢的響應(yīng)時(shí)間和將數(shù)據(jù)冗余最小化。你應(yīng)該怎么做?(數(shù)據(jù)庫(kù)設(shè)計(jì))A創(chuàng)建一個(gè)新的名為OrderDet

14、ail 的訂貨表,為該表添加OrderID、 ProductID、 Quantity字段。B在Orders表的OrderID 、 ProductID字段上創(chuàng)建一個(gè)混合的主鍵約束C從Orders表中除去 ProductID、 Quantity 這兩個(gè)字段. D在Orders表的OrderID上創(chuàng)建一個(gè)唯一約束.E將UnitPrice 這個(gè)字段從Products表移動(dòng)到Orders表.答案: A, C.9您是一出版社公司的數(shù)據(jù)庫(kù)開發(fā)者。你創(chuàng)建以下存儲(chǔ)過程來匯報(bào)某本書從年初至今的銷售情況CREATE PROCEDURE get_sales_for_titletitle varchar(80), yt

15、d_sales int OUTPUTASSELECT ytd_sales = ytd_salesFROM titlesWHERE title = titleIF ROWCOUNT = 0RETURN(-1)ELSERETURN(0)您創(chuàng)建一個(gè)腳本來執(zhí)行這個(gè)存儲(chǔ)過程。如果該存儲(chǔ)過程成功執(zhí)行,它應(yīng)報(bào)道書的銷售情況。如果失敗,則將返回如下信息:“No Sales Found”您該怎樣創(chuàng)建該腳本?(存儲(chǔ)過程)A. DECLARE retval intDECLARE ytd intEXEC get_sales_for_title Net Etiquette, ytdIF retval 0PRINT No

16、 sales foundELSEPRINT Year to date sales: + STR (ytd)GOB. DECLARE retval intDECLARE ytd intEXEC get_sales_for_title Net Etiquette, ytd OUTPUTIF retval 0PRINT No sales foundELSEPRINT Year to date sales: + STR (ytd)GOC. DECLARE retval intDECLARE ytd intEXEC get_sales_for_title Net Etiquette,retval OUT

17、PUTIF retval 0PRINT No sales foundELSEPRINT Year to date sales: + STR (ytd)GOD. DECLARE retval intDECLARE ytd intEXEC retval = get_sales_for_title Net Etiquette, ytd OUTPUTIF retval 0PRINT No sales foundELSEPRINT Year to date sales: + STR (ytd)GO答案:D關(guān)鍵點(diǎn)在于要用變量來接受存儲(chǔ)過程執(zhí)行的結(jié)果,通過對(duì)結(jié)果的判斷來確定打印出的信息10您是一集裝箱制造公

18、司的數(shù)據(jù)庫(kù)開發(fā)者。您的公司生產(chǎn)的集裝箱是一些不同型號(hào)的。存儲(chǔ)集裝箱信息的表如下所示有Size、Container和Shape表。數(shù)據(jù)存儲(chǔ)在表中的示例如圖所示在表中數(shù)據(jù)存儲(chǔ)的實(shí)例如圖中資料所示,集裝箱的大小定期地改變。數(shù)據(jù)庫(kù)用戶經(jīng)常需要一集裝箱的體積。集裝箱的體積是根據(jù)shape和size表中的信息計(jì)算的。您要隱藏計(jì)算的詳細(xì)過程,以使體積可以很容易的從對(duì)containe表的SELECT語(yǔ)句中得出,你應(yīng)該做什么?(存儲(chǔ)過程/函數(shù)/觸發(fā)器的不同用法)A.創(chuàng)建一個(gè)以ContainerID 為輸入?yún)?shù)并且能夠返回集裝箱的體積的用戶自定義函數(shù)。B.創(chuàng)建一個(gè)以ContainerID 為輸入?yún)?shù)并且能夠返回集

19、裝箱的體積的存儲(chǔ)過程.C.為Container 表添加一個(gè)名為volume 的字段。創(chuàng)建一個(gè)觸發(fā)器來計(jì)算和存儲(chǔ)體積當(dāng)有一個(gè)新的集裝箱插入表中的時(shí)候.D.給Container表添加一個(gè)計(jì)算列來計(jì)算集裝箱的體積。答案: A.題意關(guān)鍵在于要在查詢語(yǔ)句中實(shí)現(xiàn)返回體積的結(jié)果,只有函數(shù)能在查詢語(yǔ)句中使用。11你是一醫(yī)院數(shù)據(jù)庫(kù)的開發(fā)者,醫(yī)院一共有26層,每一層有4個(gè)存放設(shè)備的房間。你設(shè)計(jì)一個(gè)可處理設(shè)備的控制數(shù)據(jù)庫(kù)。某些可處理設(shè)備須每次都存儲(chǔ)。當(dāng)使用設(shè)備時(shí),就掃描條形碼用來減少數(shù)據(jù)庫(kù)里的物品的數(shù)量。供應(yīng)者應(yīng)在可用設(shè)備數(shù)量少于設(shè)備房間設(shè)置的最小值時(shí)被呼叫。你該怎么做?A.創(chuàng)建一個(gè)用來更新inventory表的存

20、儲(chǔ)過程。如果結(jié)果小于重新儲(chǔ)存量,使用xp_logevent存儲(chǔ)過程來呼叫。B.在inventory表上創(chuàng)建一個(gè)INSTEAD OF UPDATE觸發(fā)器。如果inserted表中的數(shù)量小于重新儲(chǔ)存量,使用SQLAgentMail來發(fā)送e-mail信息給管理者C.在inventory表上創(chuàng)建一個(gè)FOR UPDATE觸發(fā)器. 如果inserted表中的數(shù)量小于重新儲(chǔ)存量,使用xp_sendmail系統(tǒng)存儲(chǔ)過程來呼叫。D.設(shè)置SQL server作業(yè)每隔4小時(shí)運(yùn)行一次, 配置該作業(yè)使用the notify_level_page = 2 argument.配置該作業(yè)讓它測(cè)試列的大小它將觸發(fā)供應(yīng)者被呼叫。

21、答案: C.12您是一數(shù)據(jù)庫(kù)的開發(fā)者,該數(shù)據(jù)庫(kù)用來報(bào)告時(shí)間。通常平均每次有5個(gè)用戶同時(shí)訪問該數(shù)據(jù)庫(kù),且查詢響應(yīng)時(shí)間小于1秒鐘。然而,在星期五下午和星期一早上,當(dāng)大多數(shù)雇員輸入他們的時(shí)間 ,該數(shù)據(jù)庫(kù)使用率增加到平均每次50個(gè)用戶。在這段時(shí)間內(nèi),查詢響應(yīng)時(shí)間增加到平均15到20秒。您要找到響應(yīng)速度減慢的原因并解決問題。你該怎么做?(事務(wù)和鎖的應(yīng)用)A.用sp_lock和sp_who系統(tǒng)存儲(chǔ)過程找出被鎖定的資源和占用鎖的進(jìn)程。用這些信息來識(shí)別和重設(shè)引起鎖的事務(wù)。B.用系統(tǒng)表sysprocesses和sysobjects找出死鎖的資源并確定訪問該資源的進(jìn)程。C.用系統(tǒng)表sysprocesses 找出哪

22、個(gè)資源正在被訪問。在所有被訪問的表的主鍵上添加聚集索引。D.用sp_monitor系統(tǒng)存儲(chǔ)過程來確認(rèn)增加的查詢時(shí)間影響了哪個(gè)進(jìn)程。為該進(jìn)程設(shè)置一個(gè)限制性較小的事務(wù)隔離級(jí)別。答案: A.影響查詢響應(yīng)速度的原因在于進(jìn)程所需的資源被鎖,sp_lock可以索取鎖的信息,sp_who可以列出當(dāng)前進(jìn)程信息13你是一家保險(xiǎn)公司的數(shù)據(jù)庫(kù)開發(fā)人員,公司有一個(gè)多層應(yīng)用系統(tǒng)用來錄入關(guān)于公司保險(xiǎn)單和保險(xiǎn)單所有者的數(shù)據(jù)。保險(xiǎn)單所有者信息存儲(chǔ)在Owners 表中,用來創(chuàng)建這個(gè)表的腳本如下所示:CREATE TABLE Owners(OwnerID int IDENTITY (1, 1) NOT NULL,FirstNam

23、e char(20) NULL,LastName char(30) NULL,BirthDate date NULL,CONSTRAINT PK_Owners PRIMARY KEY (Owner ID)當(dāng)保險(xiǎn)單所有者的信息被錄入時(shí),如果所有者的出生日期沒有被包括進(jìn)來;數(shù)據(jù)庫(kù)需要產(chǎn)生一個(gè)自定義的錯(cuò)誤信息在數(shù)據(jù)錄入系統(tǒng)中顯示。你需要為數(shù)據(jù)庫(kù)設(shè)計(jì)一個(gè)方法能夠確認(rèn)出生日期被提供,并在沒有提供出生日期時(shí)產(chǎn)生一個(gè)錯(cuò)誤,你該怎么做?A. 在BirthDate 列添加一個(gè)CHECK約束B. 創(chuàng)建一個(gè)規(guī)則,并把這個(gè)規(guī)則和BirthDate 列綁定C. 修改Owners表,使BirthDate 列不允許為空D.

24、 為Owners表創(chuàng)建一個(gè)觸發(fā)器,使BirthDate 列有效答案: D.CHECK約束/規(guī)則都無法產(chǎn)生錯(cuò)誤的信息項(xiàng)目,只有觸發(fā)器可以。14你是一家大型brewery的數(shù)據(jù)庫(kù)開發(fā)人員 。每一家工廠和設(shè)備的信息存儲(chǔ)在一個(gè)名為Equipment的數(shù)據(jù)庫(kù)中. 這工廠的信息存放在一張名為L(zhǎng)ocation的表中,設(shè)備的信息存放在一張名為Parts的表中。用來創(chuàng)建這些表所使用的腳本如下所示:CREATE TABLE Location(LocationID int NOT NULL,LocationName char (30) NOT NULL UNIQUE,CONSTRAINT PK_Location P

25、RIMARY KEY (LocationID)CREATE TABLE Parts(PartID int NOT NULL,LocationID int NOT NULL,PartName char (30) NOT NULL,CONSTRAINT PK_Parts PRIMARY KEY (PartID),CONSTRAINT FK_PartsLocation FOREIGN KEY (Location ID)REFERENCES Location (LocationID)The brewery可以用來關(guān)閉一些現(xiàn)有的工廠和打開一些新的工廠。當(dāng)一家工廠被關(guān)閉時(shí),有關(guān)工廠和所有設(shè)備的信息將從數(shù)據(jù)

26、庫(kù)中刪除。你創(chuàng)建一個(gè)存儲(chǔ)過程來完成這個(gè)操作。名為sp_DeleteLocation 存儲(chǔ)過程如下所示:CREATE PROCEDURE sp_DeleteLocation LocName char(30) AS BEGINDECLARE PartID intDECLARE crs_Parts CURSOR FORSELECT p.PartIDFROM Parts AS p INNER JOIN Location AS 1ON p.LocationID = l.LocationIDWHERE l.LocationName = LocNameOPEN crs_PartsFETCH NEXT FRO

27、M crs_Parts INTO PartIDWHILE (FETCH_STATUS -1)BEGINDELETE Parts WHERE CURRENT OF crs_PartsFETCH NEXT FROM crs_Parts INTO PartIDENDCLOSE crs_PartsDEALLOCATE crs_PartsDELETE Location WHERE LocationName = LocNameEND這個(gè)存儲(chǔ)過程將要花費(fèi)比想像中還要長(zhǎng)的時(shí)間來執(zhí)行。 你需要減少這個(gè)存儲(chǔ)過程的執(zhí)行時(shí)間,你該怎么做?(游標(biāo)的使用)A. 在定義過程中 添加 WITH RECOMPILE 選項(xiàng) .B

28、. 用單一的DELETE 語(yǔ)句取代游標(biāo)操作C. 在過程的開頭添加一個(gè) BEGIN TRAN 語(yǔ)句并在過程的結(jié)尾添加 COMMIT TRAN 語(yǔ)句 D. 為這個(gè)過程設(shè)置事務(wù)處理隔離級(jí)別 READ UNCOMMITTED E. 為 Parts 表的 PartID 字段添加一個(gè)非聚集索引.答案: B.游標(biāo)操作是在使用查詢語(yǔ)句多個(gè)結(jié)果集中的一個(gè)值的時(shí)候起作用,它將耗費(fèi)大量的時(shí)間,本題完全可以用兩句DELETE 語(yǔ)句就將Location表和part表刪除。無需使用游標(biāo)15你是一家保險(xiǎn)公司的數(shù)據(jù)庫(kù)開發(fā)者,公司的保險(xiǎn)單信息存儲(chǔ)在一個(gè)SQL Server 2000數(shù)據(jù)庫(kù)中,你使用如下所示的腳本為數(shù)據(jù)庫(kù)創(chuàng)建了一

29、個(gè)名為Policy 的表:CREATE TABLE Policy(PolicyNumber int NOT NULL DEFAULT (0),InsuredLastName char (30) NOT NULL,InsuredFirstName char (20) NOT NULL,InsuredBirthDate datetime NOT NULL,PolicyDate datetime NOT NULL,FaceAmount money NOT NULL,CONSTRAINT PK_Policy PRIMARY KEY (PolicyNumber)每次公司賣出一份新的保險(xiǎn)單時(shí),policy

30、表就要增加一條記錄,并賦予其一個(gè)新的保單號(hào),你將怎么做?A. 創(chuàng)建一個(gè)INSTEAD OF INSERT觸發(fā)器來產(chǎn)生一個(gè)新的保單號(hào),并把這保單號(hào)插入到表中B. 創(chuàng)建一個(gè)INSTEAD OF UPDATE觸發(fā)器來產(chǎn)生一個(gè)新的保單號(hào),并把這保單號(hào)插入到表中C. 創(chuàng)建一個(gè)AFTER UPDATE觸發(fā)器來產(chǎn)生一個(gè)新的保單號(hào),并把這保單號(hào)插入到表中D. 用AFTER INSERT 觸發(fā)器來代替DEFAULT約束,產(chǎn)生一個(gè)新的保單號(hào),并把這保單號(hào)插入到表中答案: A16你是一家通訊公司的數(shù)據(jù)庫(kù)開發(fā)隊(duì)的一個(gè)成員。 在隊(duì)上的另外一個(gè)開發(fā)者 , Marc,在一個(gè)名為Corporate的數(shù)據(jù)庫(kù)中創(chuàng)建了一張名為Cu

31、stomers 的表。因?yàn)楸戆瑱C(jī)密的信息, 他已經(jīng)授權(quán)允許查詢?cè)摫淼闹挥嘘?duì)里的其他成員。你正在開發(fā)一個(gè)應(yīng)用程序用來允許銷售部門的職員查看Customers表的一些信息。 這些職員是銷售數(shù)據(jù)庫(kù)角色的所有成員。 為了支持這一個(gè)應(yīng)用程序,你在Customers表上創(chuàng)建一個(gè)被命名的 vwCustomers 的視圖。 在創(chuàng)建視圖之后,你授權(quán)具有銷售角色的成員允許查詢。當(dāng)銷售角色的成員嘗試從視圖中取回?cái)?shù)據(jù)的時(shí)候,他們接收以下錯(cuò)誤信息: SELECT permission denied on object Customers, database Corporate, ownerMarc.你必須確定具有銷售

32、角色的成員只能使用 vwCustomers 視圖來訪問 Customers 表的數(shù)據(jù)。 你應(yīng)該做什么?(用戶角色管理)A. 添加一個(gè)銷售角色到固定的系統(tǒng)管理員服務(wù)器角色中。B. 將 vwCustomers 視圖的所有權(quán)轉(zhuǎn)移到銷售角色中。C. 通知Marc將Customers表的所有權(quán)轉(zhuǎn)移給銷售角色的每個(gè)成員。D. 通知Marc授予用戶查詢Customers表的許可。E. 刪除 vwCustomers 視圖。 通知Marc重建視圖并且授予銷售角色的用戶查詢視圖的權(quán)限。答案: E.這是一個(gè)破壞所有權(quán)鏈的例子,curstomers表的所有者是Marc,視圖vwCustomers的所有者是我,我創(chuàng)建的

33、視圖依賴Marc擁有的curstomers表。此時(shí)如果Marc沒有開放curstomers表的權(quán)限,則我授權(quán)的銷售角色也將無法使用視圖。17你正在為你的公司設(shè)計(jì)一個(gè)SQL Server 2000銷售數(shù)據(jù)庫(kù),它能夠被客戶端的應(yīng)用程序訪問??头藛T和銷售人員對(duì)數(shù)據(jù)庫(kù)中的所有表格應(yīng)具有插入,刪除和查詢的權(quán)限。另外,使用客戶端程序時(shí)候,銷售人員將由會(huì)把數(shù)據(jù)庫(kù)中的表通過Excel導(dǎo)出成圖表??头藛T屬于Windows 2000中的名字叫CSR的組。銷售人員屬于Windows 2000中的名字叫Marketing的組。你只允許客服人員通過客戶端應(yīng)用程序訪問數(shù)據(jù)庫(kù),你又允許銷售人員通過客戶端應(yīng)用程序和Exc

34、el訪問數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)中沒有授予任何許可權(quán)。你該怎么做呢?(應(yīng)用程序角色的使用)A.為銷售人員創(chuàng)建數(shù)據(jù)庫(kù)角色Marketing,為客服人員上創(chuàng)建角色CustomerService,添加windows2000組到用戶定義角色上,分配SELECT所有表的權(quán)限給Marketing角色,分配SELECT, INSERT, and UPDATE所有表的權(quán)限給CustomerService角色。B.創(chuàng)建一個(gè)被客服人員與銷售人員共有的應(yīng)用程序角色,分配查詢所有表的權(quán)限給windows2000 Marketing組,分配SELECT, INSERT, and UPDATE所有表的權(quán)限給windows 200

35、0CSR組。C. 為客戶應(yīng)用程序創(chuàng)建一個(gè)應(yīng)用程序角色,授予 這個(gè)應(yīng)用程序角色SELECT, INSERT and UPDATE 權(quán)限 。為marketing 雇員創(chuàng)建一個(gè)叫Marketing 的數(shù)據(jù)庫(kù)角色。添加Windows 2000 Marketing 組到Marketing數(shù)據(jù)庫(kù)角色。分配Marketing 數(shù)據(jù)庫(kù)角色有查詢數(shù)據(jù)庫(kù)中的所有表的權(quán)限。D.為客服人員創(chuàng)建一個(gè)應(yīng)用程序角色,為銷售人員創(chuàng)建另一個(gè)應(yīng)用程序角色,分配SELECT所有表的權(quán)限給銷售人員角色,分配SELECT, INSERT, and UPDATE權(quán)限給客服人員角色。答案: C.這道題有兩個(gè)任務(wù),一是限制客服人員只能通過客

36、戶端應(yīng)用程序訪問數(shù)據(jù)庫(kù),二是允許銷售人員通過客戶端應(yīng)用程序和EXCEL程序來訪問數(shù)據(jù)庫(kù),使用應(yīng)用程序角色可以實(shí)現(xiàn)用戶只能通過特定應(yīng)用程序(例如使用Microsoft Excel)來訪問數(shù)據(jù)或防止用戶直接訪問數(shù)據(jù),限制用戶的這種訪問方式將禁止用戶使用SQL Server應(yīng)用程序(如 SQL 查詢分析器)連接到 SQL Server 實(shí)例。 18你是某在線書籍零售數(shù)據(jù)庫(kù)的開發(fā)人員,客戶使用公司的web 站點(diǎn)來放置書籍訂單。在訂單被錄入后,它們就被插入到BookOrders 數(shù)據(jù)庫(kù)中。在每晚的批處理過程中,訂單的信息轉(zhuǎn)移到Reports 數(shù)據(jù)庫(kù)中。Reports 數(shù)據(jù)庫(kù)包括一個(gè)Order 表和一個(gè)L

37、ineItem表,Order 表包括關(guān)于訂單的基本信息,LineItem 表包括訂單中個(gè)別項(xiàng)的信息。Order表和LineItem 表如下所示:客戶必須使用公司的web 站點(diǎn)來瀏覽存儲(chǔ)在Reports 數(shù)據(jù)庫(kù)中的訂單。客戶應(yīng)該只能看到他們自己的訂單,但不能修改這些訂單。訂單的主鍵值和客戶是不相關(guān)的,并且是不可見的,你應(yīng)該怎么做呢?(視圖、存儲(chǔ)過程、函數(shù)的比較)A.創(chuàng)建一個(gè)視圖顯示 ORDER 表的客戶信息B.創(chuàng)建一個(gè)存儲(chǔ)過程檢索 ORDER 表的客戶信息C.創(chuàng)建一個(gè)用戶自定義標(biāo)量函數(shù)來檢索ORDER的客戶信息 D.授予客戶對(duì) Order 表和 LineItem 表的查詢權(quán)限答案: B.使用視圖

38、,用戶可以刪除或修改客戶信息;標(biāo)量函數(shù)返回的是一個(gè)單值,我們需要的是一系列的信息,包括OrderDate, ProductID and Price;授予用戶對(duì)表的查詢權(quán)限也能使得用戶查看到其他用戶的信息,只有使用存儲(chǔ)過程才可以顯示相應(yīng)客戶的訂單信息CREATE PROCEDURE CustomerInfo (CustID as Integer)ASSELECT OrderDate, ProductID, PriceFROM Order INNER JOIN LineItemON Order.OrderID = LineItem.OrderIDWHERE Order.CustomerID=Cus

39、tID19你是一家大型旅行公司的數(shù)據(jù)庫(kù)開發(fā)者。關(guān)于公司每個(gè)部門的信息都被儲(chǔ)存在一個(gè)名叫Department的表中。關(guān)于公司的每個(gè)旅行社代理商和部門經(jīng)理的信息被儲(chǔ)存在一張Employeest的表中。SQLLogin列表示旅行社代理商和部門經(jīng)理在數(shù)據(jù)庫(kù)中的登陸信息,Department和Employees表將被給出。每個(gè)部門經(jīng)理將被授予數(shù)據(jù)庫(kù)管理者的角色。你需要使得這個(gè)數(shù)據(jù)庫(kù)角色的所有成員能夠看到department表中的所有數(shù)據(jù)并且這個(gè)角色的成員只能對(duì)department表中的屬于他自己的部門的行進(jìn)行插入和更新操作。你已經(jīng)授予了這個(gè)數(shù)據(jù)庫(kù)管理角色選擇的權(quán)限,接下來你要做什么?(視圖的查詢和更新)

40、A在Department表上創(chuàng)建一個(gè)觸發(fā)器,來登記部門成員數(shù)據(jù)庫(kù)登陸用戶實(shí)行插入或更新操作是否屬于這個(gè)部門成員B創(chuàng)建一個(gè)視圖包括Department表的所有列和Employees表的SQLLogin列在視圖定義中包含 WITH CHECK OPTION項(xiàng)。C授予Department表的插入和更新權(quán)限.D授予Employees表的SQLLogin列插入和更新權(quán)限.答案: B.CREATE VIEW Solution ASSELECT DepartmentID, DepartmentName, TotalBudget, SQLLoginFROM Department INNER JOIN Empl

41、oyeesON Department.DepartmentID = Emplyees.DepartmentIDWHERE SQLLogin = USER_NAME()WITH CHECK OPTIONUSER_NAME() 是取出當(dāng)前用戶登錄名的函數(shù).要求管理者的更新必須是對(duì)自己本部門的數(shù)據(jù),所以使用with check option選項(xiàng)。20你是你們公司銷售數(shù)據(jù)庫(kù)的開發(fā)者。這個(gè)數(shù)據(jù)庫(kù)有個(gè)名字叫Order的表。創(chuàng)建表的腳本如下:CREATE TABLE Orders(OrderID int NOT NULL,CustomerID char (5) NOT NULL,OrderDate date

42、time DEFAULT GETDATE ( ) NULL,ShippedDate datetime NULL,Freight money NULL,ShipName varchar (40) NULL)GOCREATE CLUSTERED INDEX IX_OrderID ON Orders (OrderID)GOCREATE NONCLUSTERED INDEX IX_CustomerID ON Orders (CustomerID)應(yīng)用程序?qū)轭櫩蛨?zhí)行下面的查詢語(yǔ)句:SELECT OrderID, CustomerID, OrderDateFROM Orders WHERE Custom

43、erID = WHITCORDER BY OrderDate DESC產(chǎn)生的查詢實(shí)行計(jì)劃如查詢實(shí)行計(jì)劃展覽品中所示。查詢實(shí)行計(jì)劃:為了使這個(gè)查詢語(yǔ)句效率高點(diǎn)。你應(yīng)該作什么?(查詢性能)A.在 OrderDate上創(chuàng)建非聚集索引B.在OrderDate上創(chuàng)建一個(gè)聚集索引.C.把 OrderID 上的群集索引換成非聚集索引D.把OrderDate添加到CustomerID的非聚集索引中答案: D.在這個(gè)查詢的運(yùn)行過程中,做了兩個(gè)操作,利用非聚集索引ix_customerid對(duì)customerid的查詢,耗費(fèi)的成本的2;利用聚集索引查找orderdate,耗費(fèi)成本的94,應(yīng)該將對(duì)orderdate的

44、非索引結(jié)構(gòu)進(jìn)行改變,添加到非聚集索引中21你正在為你的公司設(shè)計(jì)一個(gè)SQL Server 2000銷售數(shù)據(jù)庫(kù),你們公司有很多基于網(wǎng)絡(luò)的應(yīng)用程序,它們要從銷售數(shù)據(jù)庫(kù)提取數(shù)據(jù)。其中的一些應(yīng)用程序通過EXECUTE語(yǔ)句來進(jìn)行相應(yīng)的查詢操作。隨著使用網(wǎng)絡(luò)型應(yīng)用程序的增加。查詢將需要更長(zhǎng)的時(shí)間來執(zhí)行。如果你要開發(fā)一個(gè)能夠傳送大量查詢語(yǔ)句給服務(wù)器的網(wǎng)絡(luò)應(yīng)用程序。你要做什么?(事件探查器)A. 用SQL profiler去捕獲RPC:Completed 事件,通過主機(jī)名數(shù)據(jù)列分類跟蹤B. 用SQL profiler去捕獲SQL:StmtCompleted 事件.通過應(yīng)用程序名數(shù)據(jù)列分類跟蹤C(jī). 用系統(tǒng)監(jiān)視器監(jiān)

45、視 SQLServer:Database counter.返回Sales數(shù)據(jù)庫(kù)的統(tǒng)計(jì)信息D. 用系統(tǒng)監(jiān)視器監(jiān)視 SQLServer:General Statistics counter. 返回Sales數(shù)據(jù)庫(kù)的統(tǒng)計(jì)信息答案: B.SQL profiler是一個(gè)圖形工具,使系統(tǒng)管理員得以監(jiān)視SQL Server實(shí)例中的事件??梢圆东@有關(guān)每個(gè)事件的數(shù)據(jù)并將其保存到文件或 SQL Server 表中供以后分析。例如,可以對(duì)生產(chǎn)環(huán)境進(jìn)行監(jiān)視,了解執(zhí)行速度太慢而妨礙性能的存儲(chǔ)過程。通過監(jiān)視 TSQL 事件類并通過單步跟蹤監(jiān)視事件,可以監(jiān)視應(yīng)用程序查詢。事件類SQL:StmtCompleted顯示批處理內(nèi)

46、的已完成的語(yǔ)句(事件探查器的演示)22你是一家跨國(guó)公司數(shù)據(jù)庫(kù)開發(fā)人員,公司在SQL Server 2000 計(jì)算機(jī)上有一個(gè)集中式在線事務(wù)處理數(shù)據(jù)庫(kù)。這個(gè)數(shù)據(jù)庫(kù)有一個(gè)名為Sales 表,包括公司辦事處統(tǒng)一整理過的銷售信息。去年,150,000 多行的數(shù)據(jù)被添加到Sales 表中,數(shù)據(jù)庫(kù)用戶反映隨著年限的增長(zhǎng),數(shù)據(jù)庫(kù)的性能在平穩(wěn)地下降。你需要改善Sales 表查詢的性能。在SQL 查詢分析器中你該執(zhí)行哪個(gè)腳本?A. EXEC sp_updatestats resampleB. CREATE STATISTICS Sales WITH FULLSCANC.Sp_autostats SalesD. U

47、PDATE STATISTICS Sales WITH FULLSCAN ALL答案: A.SQL Server 允許創(chuàng)建有關(guān)值在列中的分布情況的統(tǒng)計(jì)信息,該統(tǒng)計(jì)信息可供查詢處理器用來確定最佳的查詢?cè)u(píng)估策略。在創(chuàng)建索引時(shí),SQL Server 會(huì)自動(dòng)存儲(chǔ)有關(guān)值在索引列中的分布情況的統(tǒng)計(jì)信息。SQL Server 中的查詢優(yōu)化器使用這些統(tǒng)計(jì)信息估算使用該索引進(jìn)行查詢的成本。隨著列中數(shù)據(jù)的更改,索引和列的統(tǒng)計(jì)信息可能會(huì)過時(shí),導(dǎo)致查詢優(yōu)化器選擇的查詢處理方法不是最佳的。本題中由于添加了多行數(shù)據(jù),所以對(duì)于統(tǒng)計(jì)信息要么重新創(chuàng)建,要么要進(jìn)行更新。sp_updatestats resample對(duì)當(dāng)前數(shù)據(jù)庫(kù)中

48、所有用戶定義的表運(yùn)行 UPDATE STATISTICS,繼承舊統(tǒng)計(jì)表的采樣比率;CREATE STATISTICS statistics_name ON Sales (SalesID) WITH FULLSCAN;顯示或更改索引或統(tǒng)計(jì)的自動(dòng) UPDATE STATISTICS 設(shè)置;UPDATE STATISTICS Sales WITH FULLSCAN, ALL23你是一個(gè)SQL Server 2000的在線交易處理的數(shù)據(jù)庫(kù)的開發(fā)者。你寫了許多存儲(chǔ)過程來產(chǎn)生嚴(yán)格的報(bào)表。這些存儲(chǔ)過程能夠訪問存在的且?guī)в兴饕臄?shù)據(jù)表。你在生產(chǎn)環(huán)境中運(yùn)行存儲(chǔ)過程之前,你要確定存儲(chǔ)過程的性能比較的優(yōu)越,你也要確

49、定對(duì)數(shù)據(jù)庫(kù)的日常操作沒有受到不利的影響。你應(yīng)該做什么?(索引優(yōu)化向?qū)У墓δ埽榘诖鎯?chǔ)過程中的每個(gè)查詢創(chuàng)建一個(gè)覆蓋索引為存儲(chǔ)過程的每個(gè)查詢創(chuàng)建一個(gè)包含WHERE子句的每個(gè)列的索引C.從索引優(yōu)化向?qū)е杏幂敵鰜泶_認(rèn)索引是否應(yīng)該被添加。D.在SELECT 和 WHERE 項(xiàng)的每個(gè)分析在所有列中創(chuàng)建一個(gè)統(tǒng)計(jì)表.答案: C.一方面使得存儲(chǔ)過程的性能比較優(yōu)越的方法是添加一定數(shù)量的索引,而這會(huì)造成對(duì)數(shù)據(jù)庫(kù)的插入和更新操作受到影響,使用索引優(yōu)化向?qū)Э梢越鉀Q這些矛盾,達(dá)到平衡(索引優(yōu)化向?qū)У难菔荆?4你是一家保險(xiǎn)公司的數(shù)據(jù)庫(kù)開發(fā)人員,你被告知數(shù)據(jù)庫(kù)操作例如selects, inserts 和updates 都

50、比一年前剛創(chuàng)建時(shí)花費(fèi)的時(shí)間長(zhǎng)。以前的開發(fā)人員在數(shù)據(jù)庫(kù)創(chuàng)建時(shí)給表添加了所需的索引。自從那以后,其他的表和存儲(chǔ)過程被添加到數(shù)據(jù)庫(kù)中。除此之外,很多查詢不再使用。你想改善數(shù)據(jù)庫(kù),使其有盡可能快的響應(yīng)數(shù)度。你該做什么?A. 對(duì)數(shù)據(jù)庫(kù)執(zhí)行DBCC UPDATEUSAGE語(yǔ)句來更新sysindexes系統(tǒng)表B. 執(zhí)行DBCC SHOW_STATISTICS語(yǔ)句找出高密度索引(high-density indexes),刪除這個(gè)索引C. 對(duì)工作負(fù)荷(workload)文件運(yùn)行索引調(diào)整向?qū)В↖ndex Tuning Wizard),來創(chuàng)建和刪除暗示的索引D. 使用SQL部署器找出表掃描(table scan)

51、,并給有表掃描的數(shù)據(jù)表添加索引答案: C.25你是一家運(yùn)動(dòng)商品公司的數(shù)據(jù)庫(kù)開發(fā)者。 公司有一個(gè)主辦公室和多個(gè)橫穿美國(guó)的地方辦公室。用一個(gè) 56-Kbps 的架構(gòu)繼電器網(wǎng)絡(luò)來連接各個(gè)辦公室, 每個(gè)辦公室有一個(gè)包含公司的產(chǎn)品資訊的 SQL Server 2000 數(shù)據(jù)庫(kù)。主辦公室的SQL Server 數(shù)據(jù)庫(kù)用來處理對(duì)地方辦公室數(shù)據(jù)庫(kù)的逐漸增加的更新,用事務(wù)響應(yīng)來運(yùn)行這些更新。在每一季,你創(chuàng)建一個(gè)新的快照文件,使用這個(gè)快照文件來代替地方的辦公室的最新產(chǎn)品信息的數(shù)據(jù)庫(kù)。 這個(gè)快照文件現(xiàn)在超過800MB,你將快照文件應(yīng)用到地方的辦公室的數(shù)據(jù)庫(kù)中,要使用最少量的費(fèi)用來完成這項(xiàng)任務(wù)。你應(yīng)該怎么做?(數(shù)據(jù)復(fù)

52、制)A. 使用事務(wù)復(fù)制。為重新初始化做特定的標(biāo)記 。B.拷貝快照到壓縮共享的 NTFS 卷中。從共享的NTFS上創(chuàng)建一個(gè)CD。分發(fā)該CD到地方辦公室。C.在分配器上的默認(rèn)快照文件夾中創(chuàng)建一個(gè)壓縮的快照。從那個(gè)文件夾中創(chuàng)建CD。把CD分配到該地方的辦公室。D.在網(wǎng)絡(luò)上的一個(gè)其它的快照文件夾中創(chuàng)建一個(gè)壓縮的快照。從那個(gè)文件夾中創(chuàng)建CD。分配該CD到地方的辦公室。E.在網(wǎng)絡(luò)上的一個(gè)其它的快照文件夾中創(chuàng)建一個(gè)壓縮的快照。使用 FTP 將快照分配到地方辦公室。答案:D快照復(fù)制將數(shù)據(jù)以特定時(shí)刻的當(dāng)時(shí)狀態(tài)分發(fā),不監(jiān)視對(duì)數(shù)據(jù)的更新。對(duì)于復(fù)制不經(jīng)常更改的數(shù)據(jù),或不要求保持?jǐn)?shù)據(jù)最新值的情況,快照復(fù)制是一種最好的數(shù)

53、據(jù)復(fù)制方法。發(fā)布服務(wù)器是提供數(shù)據(jù)以便復(fù)制到其它服務(wù)器的服務(wù)器。分發(fā)服務(wù)器是包含分發(fā)數(shù)據(jù)庫(kù)并存儲(chǔ)元數(shù)據(jù)、歷史數(shù)據(jù)和/或事務(wù)的服務(wù)器訂閱服務(wù)器是接收復(fù)制數(shù)據(jù)的服務(wù)器。當(dāng)快照文件太大以致于可移動(dòng)媒體無法裝下,或者需要通過較慢的網(wǎng)絡(luò)進(jìn)行傳輸時(shí),可以選擇對(duì)快照文件進(jìn)行壓縮。在分發(fā)服務(wù)器上,不能壓縮已寫入默認(rèn)快照文件夾的快照文件。26你是某公司SQL Server 2000 數(shù)據(jù)庫(kù)的開發(fā)人員,這個(gè)數(shù)據(jù)庫(kù)包括一個(gè)Sales 表,此表有2 百萬行。Sales 表包括公司所有部門的銷售信息。每個(gè)部門通過表中的DepartmentID列進(jìn)行識(shí)別。大多數(shù)對(duì)表的查詢都是為了查找某個(gè)單獨(dú)部門的銷售信息,你想提高這些查詢

54、的I/O 性能。然而,你不想影響訪問表的應(yīng)用程序,你該怎么做?A. 創(chuàng)建一個(gè)新表,把經(jīng)常查找的列移到此表中,將DepartmentID列保留在兩個(gè)表中,創(chuàng)建一個(gè)原始表和新表的視圖,在新表的連接(join)列添加外鍵(FOREIGN KEY)約束B. 創(chuàng)建一個(gè)新的表,把經(jīng)常查找的列移到此表中,將DepartmentID列保留在兩個(gè)表中,創(chuàng)建一個(gè)原始表和新表的視圖,在兩個(gè)表的DepartmentID列添加CHECK約束C. 為每個(gè)部門創(chuàng)建一個(gè)新的表,把每個(gè)部門的銷售信息移到部門表中,為新表的DepartmentID 列添加一個(gè)CHECK 約束,為新的表創(chuàng)建一個(gè)視圖D. 為每個(gè)部門創(chuàng)建一個(gè)新的表,并

55、把每個(gè)部門的銷售信息移到部門表中,創(chuàng)建一個(gè)新表的視圖,給視圖的DepartmentID 列添加一個(gè)CHECK約束E. 創(chuàng)建一個(gè)存儲(chǔ)過程來接收一個(gè)部門輸入的參數(shù),使用存儲(chǔ)過程返回Sales表的結(jié)果答案:C將表的數(shù)據(jù)按部門號(hào)進(jìn)行分隔,可以提高查詢性能27你是你公司SQL SERVER 2000數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)開發(fā)者。你正在刪除數(shù)據(jù)庫(kù)不會(huì)再使用的對(duì)象。你無法刪除視圖1997Sales。經(jīng)過調(diào)查你發(fā)現(xiàn)該視圖有如下特性:(1) 該視圖有一聚集索引(2) sales數(shù)據(jù)庫(kù)角色有該視圖的權(quán)限(3)該視圖有WITH SCHEMABINDING 選項(xiàng)(4)該視圖有一個(gè)在線參考模式(5)該視圖上定義了一個(gè)INSTE

56、AD OF觸發(fā)器在刪除該視圖前你該做什么?A.刪除該視圖上的聚集索引B.除去該視圖上所有權(quán)限C.除去該視圖上的WITH SCHEMABINDING 選項(xiàng)D.除去參考該視圖的函數(shù)上的WITH SCHEMABINDING 選項(xiàng)E.禁用該視圖上的INSTEAD OF 觸發(fā)器答案:D課本426頁(yè),創(chuàng)建函數(shù)支持架構(gòu)綁定,可以把函數(shù)綁定到它所引用的對(duì)象上,如表、視圖等,一旦綁定,則被綁定的對(duì)象不能被刪除。28你是一家公司的數(shù)據(jù)庫(kù)開發(fā)人員,你正在為公司創(chuàng)建一個(gè)名為HumanResources的數(shù)據(jù)庫(kù)。這個(gè)數(shù)據(jù)庫(kù)包含了員工的檔案和人口統(tǒng)計(jì)的信息。公司有2000個(gè)員工,每年的人員流動(dòng)率為2,當(dāng)員工離開公司后,所

57、有關(guān)于他的記錄都被保留做審核用,員工的人口統(tǒng)計(jì)信息年變化率為9,你不需要保留人口統(tǒng)計(jì)變化的歷史記錄。人力資源數(shù)據(jù)庫(kù)架構(gòu)如下的HumanResources Schema所示,下面的腳本將被使用來創(chuàng)建索引。用于創(chuàng)建索引的腳本顯示如下:ALTER TABLE dbo.Employee WITH NOCHECK ADDCONSTRAINT pk_Employee PRIMARY KEY CLUSTERED(EmployeeID)WITH FILLFACTOR = 90GOALTER TABLE dbo.EmployeeDemographics WITH NOCHECK ADDCONSTRAINT db

58、o.EmployeeDemographics PRIMARY KEY CLUSTERED(EmployeeID)WITH FILLFACTOR = 90GO你想保存磁盤空間并最小化擴(kuò)展數(shù)據(jù)庫(kù)文件的次數(shù)。所有的varchar列都是50的占用狀況。你該為CREATE DATABASE語(yǔ)句指定哪兩個(gè)參數(shù)?(選擇兩個(gè)正確的答案)A. SIZE = 1GBB. SIZE = 1MBC. SIZE= 2048KBD. FILEGROWTH = 20E. FILEGROWTH = 5%F.FILEGROWTH = 0答案:C ,E對(duì)于數(shù)據(jù)庫(kù)初始容量的判斷:基于model數(shù)據(jù)庫(kù)的數(shù)據(jù)大約有1M,預(yù)估用戶數(shù)據(jù)大

59、約也有1MEmployeeDemographics一行大約有110字節(jié),Employee表一行大約有105字節(jié),所有的數(shù)據(jù)總量應(yīng)該是(110105)2000 =450,000byte,占用空間450,000/0.90.5M29你是公司sql server 2000數(shù)據(jù)庫(kù)的開發(fā)者。這個(gè)數(shù)據(jù)庫(kù)包含一個(gè)名為products表格和一個(gè)名為companies的表格。你需要從一個(gè)連接服務(wù)器插入新的產(chǎn)品信息到products表格中。這個(gè)產(chǎn)品表格有個(gè)外鍵是參照companies表格的主鍵的約束。在products表格上定義了一個(gè)更新觸發(fā)器。你需要盡可能快的裝載數(shù)據(jù)。你該怎么做?A使用 alter table

60、語(yǔ)句和 on update 項(xiàng)目來修改 products 表格。B使用 alter table 語(yǔ)句和禁用觸發(fā)器的所有選項(xiàng)來修改 products 表格 。C使用 alter table 語(yǔ)句和禁用觸發(fā)器的所有選項(xiàng)來修改 companies 表格 。D使用 alter table 語(yǔ)句和 nocheck constraint 選項(xiàng)來修改 companies 表格 。E使用 alter table 語(yǔ)句和 nocheck constraint 選項(xiàng)來修改 products 表格。 答案:E從連接服務(wù)器上盡可能快的添加記錄,但由于產(chǎn)品表參照公司表中的值,所以每個(gè)插入的行都要進(jìn)行外鍵檢查,會(huì)影響插入

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論