2017微軟認證考試備考複習題及答案

第1題

2017微軟認證考試備考複習題及答案

你有一個名爲John的用戶。他對Sales架構有SELECT訪問權。 你需要從sOrder表消除John的SELECT訪問權, 但又不能影響他的其他權限。應使用哪一條Transact-SQL語句? A. DROP USER John;

B. DENY SELECT ON sOrder TO John;

C. GRANT DELETE ON sOrder TO John;

D. REVOKE SELECT ON sOrder FROM John;

答案:B

第2題

你的數據庫有5GB,幷包含名爲SalesHistory的表。表中頻繁插入和更新銷售信息。你發現發生了過度頁拆分。你需 要確保減少SalesHistory表的頁拆分。應使用哪個代碼片段?

A. ALTER DATABASE Sales MODIFY FILE (NAME = Salesdat3, SIZE = 10GB);

B. ALTER INDEX ALL ON sHistory REBUILD WITH (FILLFACTOR = 60);

C. EXEC _configure ’fill factor (%)’, ’60’;

D. UPDATE STATISTICS sHistory(Products) WITH FULLSCAN, NORECOMPUTE;

答案:B

第3題

你有一個名爲omers的表。該表是使用下面的Transact-SQL語句創建的: CREATE TABLE omers (CustomerID int IDENTITY(1,1) PRIMARY KEY CLUSTERED,AccountNumber nvarchar(25) NOT NULL,FirstName nvarchar(50) NOT NULL,LastName nvarchar(50) NOT NULL,AddressLine1 nvarchar(255) NOT NULL,AddressLine2 nvarchar(255) NOT NULL,City nvarchar(50) NOT NULL,StateProvince nvarchar(50) NOT NULL,Country nvarchar(50) NOT NULL,PostalCode nvarchar(50) NOT NULL,CreateDate datetime NOT NULL DEFAULT(GETDATE()),ModifiedDate datetime NOT NULL DEFAULT(GETDATE())) 你創建了一個存儲過程,其中包含omers表的AccountNumber、Country和StateProvince列。該存儲過程接受一 個參數來根據AccountNumber列篩選輸出。你需要優化該存儲過程的性能。你不得更改現有表結構。應使用哪一條 Transact-SQL語句?

A. CREATE STATISTICS ST_Customer_AccountNumber ON omer (AccountNumber) WITH FULLSCAN;

B. CREATE CLUSTERED INDEX IX_Customer_AccountNumber ON omer (AccountNumber);

C. CREATE NONCLUSTERED INDEX IX_Customer_AccountNumber ON omer (AccountNumber) WHERE AccountNumber = ’’;

D. CREATE NONCLUSTERED INDEX IX_Customer_AccountNumber ON omer (AccountNumber) INCLUDE (Country, StateProvince);

答案:D

第4題

你要創建一個表來存儲客戶的GPS位置。你需要確保該表允許你找出指定銷售地區的客戶,並計算客戶與最近店鋪 之間的距離。應使用哪種數據類型?

A. geometry

B. geography

C. nvarchar(max)

D. varbinary(max) FILESTREAM

答案:B

第5題

你計劃將名爲SmallKey的新列添加到uct表,該列將在唯一約束中使用。你需要確保在添加新列時,下面的 信息適用: ’a1’和’A1’被視作不同的值 ORDER BY子句中’a’和’A’排在’b’和’B’之前 你需要選擇符合新列的要求的排序規則。你選擇哪種排序規則?

A. Latin1_General_BIN

B. SQL_Latin1_General_CP1_CI_AI

C. SQL_Latin1_General_CP1_CI_AS

D. SQL_Latin1_General_CP1_CS_AS

答案:D

第6題

你有多個表, 它們表示同類實體的各種屬性。 屬性值的類型有text、 geometry、 varchar(max)以及指定爲 “bit NOT NULL” 數據類型的用戶類型。你計劃將多個表的數據整合爲一個表。該表將利用SPARSE選項來使用半結構化存儲。你的 任務是確定與SPARSE選項兼容的數據類型。哪個數據類型與SPARSE選項兼容?

A. text

B. geometry

C. varchar(max)

D. 定義爲’bit NOT NULL’的用戶定義類型

答案:C

第7題

你需要創建一個存儲過程,該過程接受名爲@Customers的表值參數。應使用哪個代碼片段?

A. CREATE PROCEDURE AddCustomers (@Customers varchar(max))

B. CREATE PROCEDURE AddCustomers (@Customers Customer READONLY)

C. CREATE PROCEDURE AddCustomers (@Customers CustomerType OUTPUT)

D. CREATE PROCEDURE ADDCUSTOMERS (@Customers varchar (max)) AS EXTERNAL NAME ustomer

答案:B

第8題

你有一個用用戶定義函數實現的計算列。該用戶定義函數返回一個格式化的帳號。必須爲該列建索引,以提供足夠 的搜索性能。你計劃對該計算列創建索引。你需要確定該用戶定義函數的ObjectPropertyEX值的有效組合。應使用哪 種組合?

A. IsDeterministic = True IsSystemVerified = True UserDataAccess = False SystemDataAccess = False

B. IsDeterministic = True IsSystemVerified = True IsPrecise = True IsTableFunction = True

C. IsDeterministic = False IsSystemVerified = True UserDataAccess = False SystemDataAccess = False

D. IsDeterministic = False IsSystemVerified = True IsPrecise = True SystemDataAccess = False

答案:A

第9題

你要使用Microsoft SQL Server 2008開發一個數據庫。該數據庫包含圖中所示的表。你需要實現,如果零件屬於套件, 那麼應防止刪除這些零件。 如果零件屬於套件, 那麼不應發生刪除操作, 並且該行的IsDeleted列不應更改爲 “True” 。 如果零件不屬於套件,那麼可以刪除零件。下面的Transact-SQL語句將在觸發器中使用: UPDATE p SET IsDeleted = 1 FROM KitPart kpJOIN deleted d ON ID = IDJOIN Part p ON ID = ID; DELETE FROM p FROM Part pJOIN deleted d ON ID = IDLEFT OUTER JOIN KitPart kp ON ID = ID WHERE D IS NULL; 你需要在觸發器中實現該Transact-SQL語句。應使用哪個觸發器語法?

A. CREATE TRIGGER tr_Part_d ON Part AFTER DELETE AS BEGIN END

B. CREATE TRIGGER tr_Part_d ON Part INSTEAD OF DELETE AS BEGIN END

C. CREATE TRIGGER tr_KitPart_d ON KitPart AFTER DELETE AS BEGIN END

D. CREATE TRIGGER tr_KitPart_d ON KitPart INSTEAD OF DELETE AS BEGIN END

答案:B

第10題

你有名爲Products和OrderDetails的表。Products表與OrderDetails表有基於ProductID列的外鍵關係。你有下面的 Transact-SQL批處理: BEGIN TRY BEGIN TRANSACTION DELETE FROM Products WHERE ProductID = 5;BEGIN TRANSACTION INSERT INTO OrderDetails ( OrderID, ProductID, Quantity )VALUES ( 1234, 5, 12 );COMMIT TRANSACTION COMMIT TRANSACTION END TRY BEGIN CATCH ROLLBACK TRANSACTION PRINT ERROR_MESSAGE();END CATCH 你需要分析執行此批處理的結果。預期的結果應該是什麼?

A. –將從Products表刪除產品。 --訂單詳細信息將插入OrderDetails表。

B. –將從Products表刪除產品。 --訂單詳細信息不會插入OrderDetails表。

C. –不會從Products表刪除產品。 --訂單詳細信息將插入OrderDetails表。

D. –不會從Products表刪除產品。 --訂單詳細信息不會插入OrderDetails表。

答案:D

第11題

你有一個名爲Orders的表。你的任務是修改公司主數據庫,以刪除所有無效的訂單行。你正要開發一個存儲過程用 來刪除這些行。你編寫了下面的代碼片段來完成此任務。(包含的行號僅供參考。) 01 02 03 04 05 06 07 08 09 10 11 12 BEGIN TRY DECLARE @RowCount INT = 1000WHILE @RowCount = 1000BEGIN

DELETE TOP (1000) FROM Orders WHERE Status = ’Inactive’;SET @RowCount = @@ROWCOUNT ... END END TRY BEGIN CATCH PRINT ERROR_MESSAGE() END CATCH

你需要插入一條Transact-SQL語句,該語句在每批行刪除之後立即通知你。應在第07行插入哪句Transact-SQL語句?

A. RAISERROR (’Deleted %i rows’, 6, 1, @RowCount)

B. RAISERROR (’Deleted %i rows’, 16, 1, @RowCount)

C. RAISERROR (’Deleted %i rows’, 10, 1, @RowCount) WITH NOWAIT

D. RAISERROR (’Deleted %i rows’, 11, 1, @RowCount) WITH NOWAIT

答案:C

第12題

你在編寫一個批處理,其中包含修改現有產品的多條UPDATE語句。你將這些更新放在一個顯式事務中。你需要在 事務開始時設置一個選項,如果事務中的'任何更新失敗,該選項將回滾所有更改。應啓用哪個選項?

A. ARITHABORT

B. XACT_ABORT

C. IMPLICIT_TRANSACTIONS

D. REMOTE_PROC_TRANSACTIONS

答案:B

第13題

你有名爲sOrderHeader和on的表。你的任務是編寫一個查詢來返回OrderDate大於20040101的 SalesOrderID和SalesPersonName。SalesPersonName應是將on表中的FirstName列和LastName列合併而成。 你需要編寫查詢來按字母表順序返回FirstName和LastName合併的數據。應使用哪一條Transact-SQL語句?

A. SELECT SalesOrderID, FirstName + ’ ’ + LastName as SalesPersonName FROM Sales. SalesOrderHeader H JOIN on P on BusinessEntityID = sPersonID WHERE OrderDate > ’20040101’ ORDER BY FirstName ASC, LastName ASC

B. SELECT SalesOrderID, FirstName + ’ ’ + LastName as SalesPersonName FROM Sales. SalesOrderHeader H JOIN on P on BusinessEntityID = sPersonID WHERE OrderDate > ’20040101’ ORDER BY FirstName DESC, LastName DESC

C. SELECT SalesOrderID, FirstName +’ ’ + LastName as SalesPersonName FROM Sales. SalesOrderHeader H JOIN on P on BusinessEntityID = sPersonID WHERE OrderDate > ’20040101’ ORDER BY SalesPersonName ASC

D. SELECT SalesOrderID, FirstName + ’ ’ + LastName as SalesPersonName FROM Sales. SalesOrderHeader H JOIN on P on BusinessEntityID = sPersonID WHERE OrderDate > ’20040101’ ORDER BY SalesPersonName DESC

答案:C

第14題

你有一個名爲Sales.PotentialClients的表。此表有名爲EmailAddress的列。你的任務是開發一個報表,報表從 Sales.PotentialClients中返回有效的“”電子郵件地址。有效電子郵件地址在@符號前面至少有一個字符,在@符 號後面和“”之前至少有一個字符。你需要編寫一條Transact-SQL語句來返回符合該業務要求的數據。應使用 哪一條Transact-SQL語句?

A. select * from Sales.PotentialClients where EmailAddress like ’_%@_%’

B. select * from Sales.PotentialClients where EmailAddress like ’%@%’

C. select * from Sales.PotentialClients where EmailAddress like ’_%@_’

D. select * from Sales.PotentialClients where EmailAddress like ’%@%[.]com’

答案:A

第15題

你有一個名爲Orders的表。OrderID定義爲IDENTITY(1,1)。OrderDate默認值爲1。 你需要編寫查詢將新訂單插入Orders表,該訂單的CustomerID爲45,日期是今天,成本爲89.00。應使用哪條語句?

A. INSERT INTO Orders (CustomerId, OrderDate, Cost) VALUES (45, DEFAULT, 89.00);

B. INSERT INTO Orders (OrderID, CustomerId, OrderDate, Cost) VALUES (1, 45, DEFAULT, 89.00);

C. INSERT INTO Orders (CustomerId, OrderDate, Cost) VALUES (45, CURRENT_TIMESTAMP, 89.00);

D. INSERT INTO Orders (OrderID, CustomerId, OrderDate, Cost) VALUES (1, 45, CURRENT_TIMESTAMP, 89.00);

答案:C