Сертификат RetraTech Программирование в MS SQL Server 2000
  • Сертификат RetraTech Программирование в MS SQL Server 2000
  • Сертификат RetraTech Программирование в MS SQL Server 2000
Сертификат RetraTech Программирование в MS SQL Server 2000
  • Сертификат RetraTech Программирование в MS SQL Server 2000
  • Сертификат RetraTech Программирование в MS SQL Server 2000

Программирование в MS SQL Server 2000

850,00 руб.
В течение часа!
Экзамен Программирование в MS SQL Server 2000 для программистов и системных администраторов.
 
Профессиональная сертификация по программе «Программирование в MS SQL Server 2000» является стандартом, подтверждающим наличие навыков программирования на специализированном языке Transact - SQL - процедурном расширении языка SQL. Сертификация специалистов по данной программе демонстрирует владение знаниями об основных синтаксических конструкциях языка, эффективном манипулировании данными, индексировании структур данных, работе с представлениями, принципах создания эффективных конфигураций отказоустойчивых хранилищ данных.
Количество
Есть в наличии!

Вопросы: экзамен состоит из 40 вопросов.
Время: на его прохождение отводится 100 минут.
Проходной балл: 70% и выше.

Бумажная версия сданного сертификата заказывается на сайте RetraTech.
9999 шт.
Rated 5.00/5 based on 1 customer reviews

Радует скорость и качество обработки заказа.

Наполненность сайта, ассортимент на любой вкус. Оповещение при выполнении заказа работает отлично!

Был ли этот комментарий полезным для вас? Да Нет
Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Вы разработали хранимую процедуру, предназначенную для расчета главной книги в бухгалтерской базе данных. В хранимой процедуре объявлен курсор:
DECLARE Acc CURSOR FOR SELECT cod,flaganalit FROM schet ORDER BY cod
Какова область видимости этого курсора?

Весь SQL Server

Текущее соединение

Текущая хранимая процедура

Все серверы из группы SQL Server

Все соединения


Вы работаете с базой данных XTRANS крупной транспортной компании. Группа разработчиков установила на рабочих местах операторов новое приложение для ввода заявок, но пользователи жалуются на длительные задержки при вводе данных.
Какой из перечисленных способов позволит оперативно получить информацию об активных блокировках в наиболее удобной форме?

Запустить QueryAnalizer и выполнить команду: EXEC sp_lock

Запустить Profiler и просмотреть информацию об активных блокировках

Запустить утилиту Isql и выполнить команду SELECT a.spid,b.objectname,a.type,a.mode FROM syslocks a, sysobjects b WHERE a.id = b.id

Запустить утилиту Qsql и выполнить команду: SELECT * FROM syslocks

Запустить EnterprizeManager и просмотреть информацию о блокированных объектах в дереве консоли: SQL Server_name|Management-Losks|Object

 

Каков максимальный размер файла базы данных SQL Server?

4 ТБ

32 ТБ

1 ТБ

16 ТБ

8 ТБ


 

Вы разрабатываете приложение для массовой загрузки данных о регистрации юридических лиц в таблицу UL_REG базы налоговой инспекции. Данные для загрузки поступают от районных управлений в виде текстовых файлов *.CSV. Загрузив очередную порцию данных, Вы обнаружили, что информация в полях ul_name и ul_adres выровнена произвольным образом.
Какой из приведенных фрагментов кода позволит исправить ошибку и обеспечить однозначное выравнивание данных по левой границе поля?

UPDATE ul_reg SET ul_name = LTRIM(ul_name), ul_adres = LTRIM(ul_adres)

UPDATE ul_reg SET ul_name = RTRIM(ul_name), ul_adres = RTRIM(ul_adres)

UPDATE ul_reg SET ul_name = SUBSTRING(ul_name,1,LEN(LTRIM(ul_name))), ul_adres = SUBSTRING(ul_adres,1,LEN(LTRIM(ul_adres)))

UPDATE ul_reg SET ul_name = RTRIM(LTRIM(ul_name)), ul_adres = RTRIM(LTRIM(ul_adres))

UPDATE ul_reg SET ul_name = SUBSTRING(ul_name,1,LEN(RTRIM(ul_name))), ul_adres = SUBSTRING(ul_adres,1,LEN(RTRIM(ul_adres)))



Какое выражение в триггере на обновление таблицы DOC позволит определить, что значение колонки NUM изменено?

exists(Select Num From Inserted)

exists(Select NUM From Deleted Where NUM not in (select NUM From DOC))

NUM in Columns_Updated()

UPDATE(NUM)

@@ROWCOUNT > 0


В базе данных сотовой компании XMOBILE имеется таблица PHONES, которая определена следующим образом:
CREATE TABLE Phones (
MobileID uniqueidentifier PRIMARY KEY NOT NULL,
Nomer char(11) NOT NULL,
Ostatok money NOT NULL )
Правление компании решило ввести с нового года бонусы для своих абонентов. Чтобы обеспечить выполнение этого решения, Вы решили ввести в таблицу новое поле Bonus и инициализировать его значением 0. Начисление бонусных сумм планируется провести по завершении текущего года. Таблица уже содержит записи.

Какой из приведенных фрагментов кода позволит добавить в таблицу требуемое поле и обеспечить его начальную инициализацию без потери данных?

USE Xmobile
ALTER TABLE Phones ADD Bonus money NULL
GO
UPDATE Phones SET Bonus = 0

 

USE Xmobile
ALTER TABLE Phones ADD Bonus money NULL
UPDATE Phones SET Bonus = 0
GO

 

ALTER TABLE Phones ADD Bonus money NULL
GO
UPDATE Phones SET Bonus = 0

 

USE Xmobile
ALTER TABLE Phones ADD Bonus money NOT NULL
GO
UPDATE Phones SET Bonus = 0

 

USE Xmobile
DRОP TABLE Phones
GO
CREATE TABLE Phones (
MobileID uniqueidentifier PRIMARY KEY NOT NULL,
Nomer char(11) NOT NULL,
Ostatok money NOT NULL )
GO
UPDATE Phones SET Bonus = 0


 

Вы разрабатываете подсистему массовой загрузки данных в таблицы из внешнего источника для созданной Вами же базы, но не имеете достаточного опыта в программировании на T-SQL и не работали ранее с утилитами командной строки.
Какой из перечисленных клиентских инструментов позволит решить поставленную задачу с минимальными затратами?

Profiler

EnterpriseManager

QueryAnalyzer

Утилиты сторонних разработчиков

OSQL

 


В базе данных используется таблица для регистрации документов:

Какой из перечисленных способов позволит изменить правило "null" на "not null" для поля "Comment" без ошибок и без потери существующих данных?

Использовать команды:
Alter table DOC Alter column [Comment] varchar(1000) not null Where [Comment] is null

Использовать команду:
Alter table DOC Alter column [Comment] varchar(1000) not null

Использовать команды:
Update table DOC Set [Comment] = ’’ Where [Comment] is null
Alter table DOC Alter column [Comment] varchar(1000) not null

Использовать команды:
Truncate Table DOC
Alter table DOC Alter column [Comment] varchar(1000) not null

Использовать команды:
Alter table DOC Drоp column [Comment]
Alter table DOC Add column [Comment] varchar(1000) not null


 

Вы разрабатываете приложение для базы данных торговой компании. Менеджеры по продажам хотят получать с его помощью ежемесячный отчет по 5 наиболее продуктивным продавцам. Данные о продажах продавцов хранятся в таблице Sales которая определена следующим образом:
CREATE TABLE Sales (
ProdFIO char(30) NOT NULL,
SummaSale money NOT NULL,
DataSale datetime NOT NULL )
Даты начала и конца анализируемого периода помещены в переменные @date1 и @date2

Какой из приведенных фрагментов кода следует выполнить для формирования корректного отчета?

SELECT TOP 5 ProdFIO, SUM(SummaSale) AS Vsego FROM Sales WHERE DataSale BETWEEN @date1 AND @date2 GROUP BY ProdFIO ORDER BY Vsego DESC

SELECT ProdFIO, SUM(SummaSale) AS Vsego FROM Sales WHERE DataSale BETWEEN @date1 AND @date2 GROUP BY ProdFIO HAVING COUNT(*)<=5 ORDER BY Vsego DESC

SELECT TOP 5 ProdFIO, SUM(SummaSale) AS Vsego FROM Sales WHERE DataSale BETWEEN @date1 AND @date2 GROUP BY ProdFIO ORDER BY Vsego

SELECT ProdFIO, SUM(SummaSale) AS Vsego FROM Sales WHERE DataSale BETWEEN @date1 AND @date2 GROUP BY ProdFIO ORDER BY Vsego DESC

SELECT ProdFIO, SUM(SummaSale) AS Vsego FROM Sales WHERE DataSale BETWEEN @date1 AND @date2 GROUP BY ProdFIO HAVING COUNT(*)<=5 ORDER BY Vsego


 

Сведения о студентах хранятся в таблице Student.
Для каждого студента необходимо хранить Фамилию, имя и номера мобильного и домашнего телефонов.
Какой тип столбцов следует выбрать для гарантии существования данных во всех строках таблицы?

Столбцы UNIQUE

Обязательные столбцы

Столбцы идентификации

Системные столбцы

Столбцы NOT NULL

 

По 2 каким из перечисленных типов полей невозможно построить индексы?

TEXT

UNIQEIDENTIFIER

BINARY

IMAGE

SMALLDATE


 

Вы являетесь владельцем базы данных SALES, хранящей информацию о продажах торговой компании. В базе данных имеется 2 представления, которые определены следующим образом:
CREATE VIEW Trade1 AS
SELECT towarID, towarName FROM sprTowar WHERE towarName LIKE “%Продукты питания%”
CREATE VIEW Trade2 AS
SELECT A.towarID, A.managerID, B.towarName FROM Rasxod A, Trade1 B WHERE A.towarID=B.towarID

Какой из приведенных фрагментов кода позволит обеспечить корректное удаление представлений Trade1 и Trade2?

 

DRОP VIEW Trade1
GO
DRОP VIEW Trade2
GO

 

DRОP VIEW Trade2
DRОP VIEW Trade1
GO

 

USE Sales
DRОP VIEW Trade2
DRОP VIEW Trade1
GO

 

DRОP VIEW Trade1
DRОP VIEW Trade2
GO

 

USE Sales
DRОP VIEW Trade1
DRОP VIEW Trade2
GO

 



Необходимо скрыть исходный код представления, созданного для коммерческого распространения в составе базы данных.
Какой из перечисленных способов приведет к решению поставленной задачи с наименьшими затратами?

Отказаться от хранения кода представления в базе, создавая его заново при каждом новом сеансе

Использовать ключ электронной защиты (HASP)

Прибегнуть к средствам защиты от сторонних разработчиков

Ограничить права доступа к представлению, сделав его доступным через хранимую процедуру

Изменить представление командой ALTER VIEW с опцией WITH ENCRYPTION




Какая из перечисленных ниже функций НЕ является агрегатной?

MIN

VAR

AVG

SUM

ABS

 

С какого префикса принято начинать имена расширенных хранимых процедур?

ep_

xp_

pr_

sp_

rp_



Возможно ли использование MS SQL-2000 Developer для эксплуатации корпоративных приложений «клиент-сервер»?

Нет, поскольку редакция Developer не имеет в комплекте поставки соответствующего инструментария

Да, при условии, что и разработка, и эксплуатация, выполняются на одной и той же инсталляции MS SQL

Нет, поскольку это противоречит условиям лицензионного соглашения на редакцию Developer

Да, при условии, что разработка приложений также выполнена с использованием этой же редакции MS SQL

Да, поскольку данная редакция позволяет использовать весь функционал MS SQL-2000



Вы сконфигурировали удаленный MS SQL сервер для участия в распределенных транзакциях и завели на нем учетные записи пользователей. Необходимо связать между собой учетные записи пользователей на локальном и удаленном серверах. Локальный MS SQL сервер имеет имя SQL_L, удаленный - SQL_R. Все необходимые права на обоих серверах, включая администраторские, у Вас имеются.
Какой из приведенных фрагментов кода следует выполнить на локальном сервере, чтобы обеспечить сопоставление учетных записей?

EXEC sp_addlogin ’loc_user1’, ’rem_user1’, ’rem_password’

EXEC sp_grantlogin ’rem_user1’

EXEC sp_adduser ’loc_user1’, ’rem_user1’

EXEC sp_addlinkedsrvlogin ’SQL_L’, TRUE, ’loc_user1’, ’rem_user1’, ’rem_password’

EXEC sp_addremotelogin ’SQL_L’, ’loc_user1’, ’rem_user1’


Какое из перечисленных средств копирования и переноса данных возможно использовать в составе клиентского приложения в качестве сервера автоматизации (AutoMate)?

QueryAnalyzer

BSQL

DTS

OSQL

EnterpriseManager



Вы разрабатываете клиентское приложение для массовой загрузки данных из текстовых файлов. Файлы для загрузки имеют имена, начинающимися с префикса “LD_”, и расширение *.txt, сохраняются в каталоге сервера C:\LOAD, который недоступен для Вашего приложения, а по окончании загрузки - автоматически удаляются. Перед тем как загружать данные, необходимо убедиться, что в каталоге загрузки имеется хотя бы 1 файл.
Какой из приведенных фрагментов кода позволит обеспечить корректное формирование списка загружаемых файлов и передачу этого списка на клиент?

EXEC master..xp_cmdshell ’dir "c:\load\ld_*.*"’

EXEC master..xp_cmdshell ’dir /B "c:\load\*.txt"’

EXEC master..xp_cmdshell ’dir /B "c:\load\ld_*.txt"’

EXEC master..xp_cmdshell ’dir "c:\load\ld_*.txt"’

EXEC master..xp_cmdshell ’dir /B "c:\load\ld_*.*"’



Какой из приведенных фрагментов кода позволит вывести всех авторов, предпоследним символом фамилии которых является буква a, а zip-код превышает 50000?

SELECT * FROM authors WHERE au_lname LIKE ’_a%’ AND zip > 50 000

SELECT * FROM authors WHERE au_lname LIKE ’%a%’ AND zip > 50 000

SELECT * FROM authors WHERE au_lname LIKE ’%a_ ’ ESCAPE ’a’ AND zip > 50 000

SELECT * FROM authors WHERE au_lname LIKE ’%a_’ AND zip !< 50 001

SELECT * FROM authors WHERE au_lname LIKE ’%a_’ AND zip > 50 000


Вы работаете с базой данных WebShops системы онлайновых продаж, используется, в основном, для ввода новых заказов. Пользователь Anakin жалуется, что не может получить данные из представления ViewCurr_0.
Какие действия следует предпринять, чтобы оперативно получить информацию о представлении ViewCurr_0 и указать пользователю на ошибку?

Запустить утилиту OSQL и выполнить команду:
EXEC sp_help ’ViewCurr_0’
Имена полей представления будут возвращены в результатах запроса

Открыть Enterprise Manager, найти по дереву консоли узел Views базы данных WebShops и раскрыть его. Затем в панели Details выбрать нужное Вам представление и просмотреть его свойства. Имена полей содержатся в определении представления

Запустить файловый менеджер Far, найти на сервере нужный Вам файл базы данных, открыть его в режиме просмотра. Затем дать команду поиска строки «CREATE VIEW ViewCurr_0»

Открыть Enterprise Manager и найти по дереву консоли базу данных WebShops. Затем выполнить команды контекстного меню All tasks -> Generate SQL Script. Имена полей представления будут содержаться в сгенерированном скрипте

Открыть Query Analyzer, ввести и выполнить команды:
USE WebShops
EXEC sp_help ’ViewCurr_0’
Имена полей представления будут возвращены в результатах запроса

 

Какое максимальное число таблиц можно создать в базе данных SQL Server?

Ограничено общим числом объектов, хранящихся в базе данных

65534

32767

4.000.000.000

1024

 

Вы разработали приложение учета, в котором пользователи вводят данные в таблицу STAGING. По завершении ввода данных, приложение запускает пакет обновления, использующий строки таблицы STAGING для обновления данных в таблице PRODUCTION. Строки каждого пользователя идентифицируются по ID номеру пользовательского процесса SQL Server в столбце spid
Пакет обновления определен следующим образом:
DECLARE @count int
BEGIN TRAN
SELECT @count = COUNT(*) FROM Production p JOIN Staging s
ON p.account=s.account WHERE s.spid=@@spid
UPDATE p SET amount = s.amount FROM Production p JOIN Staging s
ON p.account=s.account WHERE s.spid=@@spid
IF @@rowcount != @count ROLLBACK TRAN ELSE COMMIT TRAN
Вы обнаружили, что в системе возникают мертвые блокировки, когда двое (или больше) пользователей одновременно пытаются выполнить пакет обновления.

Какие действия следует предпринять для разрешения проблемы мертвых блокировок?

Установить низкий приоритет мертвой блокировки перед запуском пакета обновления

Установить нормальный приоритет мертвой блокировки перед запуском пакета обновления

Установить уровень изоляции транзакций SERIALIZABLE перед запуском пакета обновления

Использовать табличный хинт WITH (TABLOCKX), когда подсчитывается число строк в таблице Production

Использовать табличные хинты WITH (ROWLOCK, UPLOCK) когда подсчитывается число строк в таблице Production

 

Пользователь "Иван" входит в роль "Менеджеры", которой разрешен полный доступ к таблице "dbo.Games", а также установлены другие разрешения. Необходимо, чтобы пользователь "Иван" не имел доступа к таблице "dbo.Games", но при этом обладал всеми прочими полномочиями роли "Менеджеры".
Какая из перечисленных команд позволит решить поставленную задачу без изменения полномочий других пользователей базы данных?

Deny ALL On dbo.Games To [Иван]

Execute sp_droprolemember ’ Менеджеры’, ’Иван’

Deny ALL On dbo.Games To [Менеджеры]

Revoke ALL On dbo.Games To [Менеджеры]

Revoke ALL On dbo.Games To [Иван]


 

Что является минимальным уровнем блокирования для MS SQL-2000?

Страница

Таблица

Экстент

Группа строк

Строка

 

Может ли таблица ссылаться сама на себя?

Нет, явно создать правило внешнего ключа (Foreign key) не удастся

Да, без каких-либо ограничений

Да, однако такая таблица в базе данных может быть единственной

Да, но в этом случае для внешнего ключа следует указать правило "not null"

Да, однако для внешнего ключа следует разрешить значения "null"

 


Владельцем какого из перечисленных объектов не может являться пользователь базы данных?

Представление

Функция, определяемая пользователем

Таблица

Хранимая процедура

Триггер

 

В базе данных торговой компании имеется таблица Orders, для которой определен индекс old_Articul ранее использовавшийся для тестирования запросов. В настоящее время индекс old_Articul больше не используется, и необходимо его удалить. С таблицей интенсивно работают менеджеры торгового отдела, и нагрузка сервера сопоставима с критической.

Какие 2 из перечисленных клиентских инструментов позволят решить поставленную задачу?

Profiler

QueryAnalyzer

EnterpriseManager

Утилиты сторонних разработчиков

BCP



Какие 2 из перечисленных ключевых слов возможно использовать для объединения нескольких конструкций HAVING?

IN

OR

NOT IN

AND NOT

AND

 

 

Запросы к таблице Polises в базе данных фонда медицинского страхования содержат предложение WHERE, в котором в качестве аргументов используются столбцы Seria_polis, Nomer_polis, Gorod_obl
В результате проведенного анализа выяснилось, что процент одинаковых значений в этих столбцах следующий:
Gorod_obl 95%
Seria_polis 50%
Nomer_polis 5%

Какие индексы следует создать для этой таблицы, чтобы обеспечить повышение скорости выполнения запросов?

Кластерный индекс для Gorod_obl, для прочих столбцов создать некластерные индексы

Некластерные индексы для Gorod_obl, Seria_polis, Nomer_polis

Составной кластерный индекс для Nomer_polis, Seria_polis, Gorod_obl

Отдельные некластерные индексы для каждого из столбцов

Составной кластерный индекс для Gorod_obl, Seria_polis, Nomer_polis


 

Каково принципиальное отличие некластерного индекса на основе кучи от некластерного индекса на основе кластерной таблицы?

Некластерные индексы на основе кластерных таблиц в общем случае позволяют быстрее выполнить поиск, чем некластерные индексы на основе кучи

Некластерные индексы на основе кластерных таблиц должны быть уникальными, а некластерные индексы на основе кучи - необязательно

Некластерные индексы на основе кластерных таблиц содержат на листовом уровне кластерные ключи, а некластерные индексы на основе кучи - RID (уникальный идентификатор строки)

Некластерные индексы на основе кластерных таблиц сортируют строки таблицы физически, а некластерные индексы на основе кучи - только логически

Некластерный индекс на основе кластерной таблицы должен быть единственным в таблице, а некластерных индексов на основе кучи может быть и несколько

 

 

Какие утверждения относительно временных таблиц НЕ являются верными?

Все временные таблицы создаются в базе tempdb

К временным таблицам можно строить индексы

Временные таблицы нельзя использовать для создания других таблиц и представлений

К временным таблицам, созданным в хранимой процедуре, можно обращаться вне этой процедуры

Имена временных таблиц начинаются с символов # или ##

 

 

Какая из компонент MS SQL Server позволяет выполнять запуск пользовательских заданий по расписанию?

DTS

MS DTC

MS SQL Server Agent

MS SQL Server Engine

Olap Services

 

 

В чём состоит принципиальное отличие таблицы базы данных от представления?

Таблица содержит данные, а представление - только схему извлечения этих данных

Для таблицы возможно определить триггеры, а для представления - нет

Выборку из таблицы возможно упорядочить с помощью предложения ORDER BY, а представление - нет

Таблица содержит полный набор полей, а представление - как правило, усеченный

Доступ к таблице, при прочих равных условиях, производится быстрее, чем к представлению


 

Какие 2 утверждения относительно глобальных временных таблиц НЕ являются верными?

Глобальные временные таблицы, созданные в хранимой процедуре, сохраняются после ее завершения

Глобальную временную таблицу, созданную в одном соединении, нельзя обновлять и удалять в другом соединении с этой же базой

Глобальные временные таблицы видны во всех соединениях с базой данных, вплоть до момента уничтожения

На глобальную временную таблицу можно ссылаться в запросах и представлениях

Имена глобальных временных таблиц начинаются с символов ##




Какое ключевое слово следует использовать для исключения повторяющихся значений из результирующего набора данных?

NOT NULL

GROUP BY

NULL

UNIQUE

DISTINCT



Какие 2 из перечисленных ключевых слов возможно использовать для объединения нескольких конструкций HAVING?

IN

OR

NOT IN

AND NOT

AND

 

Запросы к таблице Polises в базе данных фонда медицинского страхования содержат предложение WHERE, в котором в качестве аргументов используются столбцы Seria_polis, Nomer_polis, Gorod_obl
В результате проведенного анализа выяснилось, что процент одинаковых значений в этих столбцах следующий:
Gorod_obl 95%
Seria_polis 50%
Nomer_polis 5%

Какие индексы следует создать для этой таблицы, чтобы обеспечить повышение скорости выполнения запросов?

Кластерный индекс для Gorod_obl, для прочих столбцов создать некластерные индексы

Некластерные индексы для Gorod_obl, Seria_polis, Nomer_polis

Составной кластерный индекс для Nomer_polis, Seria_polis, Gorod_obl

Отдельные некластерные индексы для каждого из столбцов

Составной кластерный индекс для Gorod_obl, Seria_polis, Nomer_polis

 

 

Каково принципиальное отличие некластерного индекса на основе кучи от некластерного индекса на основе кластерной таблицы?

Некластерные индексы на основе кластерных таблиц в общем случае позволяют быстрее выполнить поиск, чем некластерные индексы на основе кучи

Некластерные индексы на основе кластерных таблиц должны быть уникальными, а некластерные индексы на основе кучи - необязательно

Некластерные индексы на основе кластерных таблиц содержат на листовом уровне кластерные ключи, а некластерные индексы на основе кучи - RID (уникальный идентификатор строки)

Некластерные индексы на основе кластерных таблиц сортируют строки таблицы физически, а некластерные индексы на основе кучи - только логически

Некластерный индекс на основе кластерной таблицы должен быть единственным в таблице, а некластерных индексов на основе кучи может быть и несколько

 

 

Какие утверждения относительно временных таблиц НЕ являются верными?

Все временные таблицы создаются в базе tempdb

К временным таблицам можно строить индексы

Временные таблицы нельзя использовать для создания других таблиц и представлений

К временным таблицам, созданным в хранимой процедуре, можно обращаться вне этой процедуры

Имена временных таблиц начинаются с символов # или ##

 

 

Имеется таблица:
CREATE TABLE MyTable (a int , b text)

Каким будет результат выполнения следующего фрагмента кода:
DECLARE @TP BINARY(15)
SELECT @TP =TEXTPTR(b) FROM MyTable ORDER BY a DESC
READTEXT MyTable.b @TP 10 20

Из строки с наименьшим значением a читаются символы с 10 по 30

Произойдет ошибка

Из строки с наименьшим значением a читаются символы с 10 по 20

Из каждой строки читаются символы с 10 по 30

Из строки с наибольшим значением a читаются символы с 10 по 30

 

 

Какой из перечисленных типов данных является оптимальным для хранения различных физических констант?

float

numeric

int

datetime

money

 

 

В какой из баз данных MS SQL Server создаются временные таблицы?

master

model

tempdb

msdb

В текущей

 

 

По 2 полям каких типов создание индекса НЕ является целесообразным?

DECIMAL

TIMESTAMP

INT

VARCHAR

BIT



База данных Leasing лизинговой компании содержит таблицу lease, которая определена следующим образом:
CREATE
TABLE lease (
ID
int IDENTITY NOT NULL CONSTRAINT
Pk_lees_id
PRIMARY KEY NONCLUSTERED
Family
varchar(30) NOT NULL,
Name
varchar(30) NOT NULL,
Otch
varchar(30) NULL,
PassNO
char(6) NOT NULL,
BankRating
money NULL,
BankLimit
money NULL )
Каждый номер паспорта оборудования (поле PassNO) должен быть уникален, данные в таблице должны быть физически упорядочены по номеру паспорта.

Какие характеристики и ограничения необходимо обеспечить для индекса по полю PassNO?

UNIQUE CLUSTERED

PRIMARY KEY CLUSTERED

PRIMARY KEY NONCLUSTERED

UNIQUE NONCLUSTERED

UNIQUE NONCLUSTERED IGNORE_DUP_KEY

 

 

Какой из приведенных фрагментов кода следует выполнить для выборки всех должностей, даже если должность не занимает ни один сотрудник?

В запрос должны быть включены поля: код (job_id), описание должности (job_desc), имя (fname) и фамилия (lname) из таблиц jobs и employee.

SELECT j.job_id, job_desc, fname, lname FROM jobs j LEFT OUTER JOIN employee e

ON j.job_id *= e.job_id

SELECT j.job_id, job_desc, fname, lname FROM jobs j LEFT OUTER JOIN employee e
WHERE j.job_id = e.job_id

SELECT j.job_id, job_desc, fname, lname FROM jobs j LEFT OUTER JOIN employee e
ON j.job_id = e.job_id

SELECT job_id, job_desc, fname, lname FROM jobs j, employee e WHERE j.job_id *= e.job_id

SELECT j.job_id, job_desc, fname, lname FROM jobs j RIGHT OUTER JOIN employee e
ON j.job_id = e.job_id



Вы работаете с базой данных в режиме неявного определения транзакций. Разработчик Floppy пытается выполнить в этом же режиме хранимую процедуру, которая определена следующим образом:
CREATE PROCEDURE ChangeSmk AS
BEGIN
CREATE TABLE Polises1 (
PolisID int IDENTITY(1000,1) NOT NULL,
Sernum char(25) NOT NULL,
Skdog1 int NOT NULL,
BegData datetime NOT NULL,
EndData datetime NULL )
INSERT INTO polises1 SELECT * FROM polises WHERE skdog1 = 45
IF @@ERROR = 0 COMMIT TRAN ELSE ROLLBACK TRAN
UPDATE polises1 SET enddata = CAST(’01.01.2999’ AS datetime) WHERE enddata IS NULL
IF @@ERROR = 0 COMMIT TRAN ELSE ROLLBACK TRAN
SELECT * FROM Polises1 WHERE skdog1=45
IF @@ERROR = 0 COMMIT TRAN ELSE ROLLBACK TRAN END
При выполнении оператора INSERT INTO произошел сбой в работе сервера баз данных. Транзакция отменена, но при повторных запусках процедуры, выдается сообщение:



Какие действия следует предпринять этому разработчику, чтобы обеспечить выполнение своего пакета без переключения режима обработки транзакций?

Выполнить команду BEGIN TRAN tr0 перед созданием таблицы Polises1

Выполнить команду DRОP TABLE Polises1 перед выходом из процедуры

Вставить строку IF @@ERROR = 0 COMMIT TRAN ELSE ROLLBACK TRAN сразу после команды CREATE TABLE Polises1

Удалить таблицу Polises1 в интерактивном режиме, используя Enterprise Manager

Заменить во всей процедуре имя таблицы Polises1 на #Polises

 

 

Какую встроенную функцию следует использовать для получения набора данных за текущий день?

TIMESTAMP()

NOW()

GETDATE()

DATE()

CURRENTDATE()

 

 

Какое действие следует предпринять, чтобы минимизировать вероятность конфликта блокировок?

Использовать команду BEGIN DISTRIBUTED TRANSACTION всякий раз, когда Вам потребуется изменять данные в таблицах

Установить низкий приоритет мертвых блокировок

Гарантировать, что все таблицы имеют индексы для первичного и внешнего ключа

Гарантировать, что во всех транзакций выполняется только модификация данных

Убедиться, что все транзакции изменяют данные в одной и той же последовательности

 


С помощью какого оператора возможно получить записи обо всех авторах из таблицы authors, фамилии которых начинаются с “С”?

SELECT authors WHERE au_lname LIKE ’%C’

SELECT * FROM authors WHERE au_lname LIKE ’&C’

SELECT * FROM authors WHERE au_lname LIKE ’C%’

SELECT * FROM authors WHERE au_lname LIKE ’C*’

SELECT * FROM authors WHERE au_lname LIKE ’C’



Какой из перечисленных вариантов расположения уровней изоляции транзакций в порядке повышения степени изоляции является верным?

READ COMMITED
READ UNCOMMITED
REPEATABLE READ
SERIALIZABLE

READ UNCOMMITED
READ COMMITED
REPEATABLE READ
SERIALIZABLE

READ UNCOMMITED
REPEATABLE READ
SERIALIZABLE
READ COMMITED

READ UNCOMMITED
REPEATABLE READ
READ COMMITED
SERIALIZABLE

SERIALIZABLE
REPEATABLE READ
READ UNCOMMITED
READ COMMITED

 

 

Вы работаете с базой данных полисов страховой компании. Каждый полис имеет серию и номер, которые хранятся как целые числа в полях seria и number таблицы polises. Необходимо выбрать и отформатировать серию и номер полиса для печати отчета по следующему шаблону:

S/N: 999999/999999

Какой из приведенных фрагментов кода позволит выбрать требуемые поля и обеспечить правильное форматирование данных?

SELECT (’S/N: ’+ CAST(seria AS char(6))+’/’+CAST(number AS char(6))) AS snum FROM polises

SELECT (’S/N: ’+seria+’/’+number) AS snum FROM polises

SELECT (’S/N: ’+RTRIM(STR(seria,6))+’/’+RTRIM(STR(number,6))) AS snum FROM polises

SELECT (’S/N: ’+CAST(seria AS varchar(6))+’/’+CAST(number AS varchar(6))) AS snum FROM polises

SELECT ’S/N: ’, seria, ’/’, number FROM polises

 

Вы работаете с базой данных консалтинговой компании, которая используется, в основном, для запросов типа: SELECT <список полей> FROM <список таблиц> WHERE <условия выборки>. Каждая таблица имеет все необходимые индексы, оптимизированные для работы в системе OLAP. Ваши пользователи жалуются, что запросы стали выполняться слишком медленно, хотя нагрузка на сервер невелика. Вы предполагаете, что причина - в устаревшей статистике индексов.

Какой из приведенных фрагментов кода позволит обеспечить обновление статистики?

EXEC sp_autostats

EXEC sp_db_upgrade

EXEC sp_statistics_rowset

EXEC sp_updatestats

EXEC sp_statistics

 

 

Какое из перечисленных выражений позволит выявить ошибку при проверке Check Constraint?

Alter table Delo check Constraint All

Exists (select Id From Delo Where Id = 1)

@@trancount = 0

@@rowcount = 0

@@error <> 0



Необходимо разработать хранимую процедуру для формирования отчета по таблице PROVODKI. Главный бухгалтер требует, чтобы в отчет вошли все изменения, включая произошедшие во время формирования отчета.
Какой из приведенных фрагментов кода позволит объявить курсор с характеристиками, необходимыми для решения поставленной задачи?

DECLARE Prv CURSOR FAST_FORWARD FOR SELECT cod_1,cod_2,summa FROM provodki ORDER BY cod_1

DECLARE Prv CURSOR FOR SELECT cod_1,cod_2,summa FROM provodki ORDER BY cod_1

DECLARE Prv CURSOR STATIC FOR SELECT cod_1,cod_2,summa FROM provodki ORDER BY cod_1

DECLARE Prv CURSOR KEYSET FOR SELECT cod_1,cod_2,summa FROM provodki ORDER BY cod_1

DECLARE Prv CURSOR DYNAMIC FOR SELECT cod_1,cod_2,summa FROM provodki ORDER BY cod_1

 

 

В базе данных торговой компании определены 2 таблицы: Orders и OrderDetails, хранящие информацию о заказах, товарах и суммах, входящих в заказ, соответственно:
Таблицы связаны между собой по полю OrderID. Требуется выполнить удаление тех заказов, которые не были оплачены клиентами (IsOpl=0). Поддержка каскадных операций для указанных таблиц не включена.
Какой из приведенных фрагментов кода позволит выполнить корректное удаление неоплаченных заказов с сохранением данных?

DELETE OrderDetails WHERE (OrderDetails.OrderID=Order.OrderID) OR (Orders.IsOpl=0)
DELETE Orders WHERE IsOpl=0

DELETE Orders WHERE IsOpl=0
DELETE OrderDetails WHERE OrderDetails.OrderID IN (SELECT OrderID FROM Orders
WHERE Orders.IsOpl=0)

DELETE OrderDetails FROM Orders WHERE (OrderDetails.OrderID=Order.OrderID) AND (Orders.IsOpl=0)
DELETE Orders WHERE IsOpl=0

DELETE Orders WHERE IsOpl=0
DELETE OrderDetails WHERE (OrderDetails.OrderID=Order.OrderID) AND (Orders.IsOpl=0)

DELETE OrderDetails FROM Orders WHERE OrderDetails.OrderID IN (SELECT OrderID
FROM Orders WHERE Orders.IsOpl=0)
DELETE Orders WHERE IsOpl=0

 

 

В базе данных имеется таблица DOC, которая определена следующим образом:
Возможно ли создание первичного ключа в приведенной таблице?

Нет, так как для всех колонок разрешены значения "null", а первичный ключ должен однозначно определять строку таблицы

Да, при условии, что данная таблица пустая

Да, при условии, что первичный ключ является составным

Да, но только по полю NUM или по полю DELO

Да, но при условии, что в полях, входящих в состав первичного ключа, нет значений "null"

 

Возможно ли создать новый индекс для таблицы по колонкам DOC и DELO, если для таблицы уже существует кластерный индекс по колонкам DOC, DELO и COMMENT?

Да, но это не целесообразно - уже существующий индекс может использоваться для поиска по колонкам DOC и DELO

Да, однако этот индекс должен быть также уникальным и кластерным

Нельзя, некластерный индекс можно создавать только по одной колонке

Нельзя, это запрещено

Да, однако этот индекс должен быть также кластерным

 

 

Какой из перечисленных операторов позволит удалить базу данных MyBase?

DELETE MyBase

REMOVE DATABASE MyBase

DRОP MyBase

DELETE DATABASE MyBase

DRОP DATABASE MyBase

 

 

Необходимо удалить из списка баз MS SQL базу данных Docum1995 при помощи утилиты Query Analyzer, выполнив команду:
DRОP DATABASE Docum1995
Было получено сообщение об успешном выполнении команды, однако удаленная база продолжает отображаться в списке баз данных в Enterprise Manager.
Какие действия следует предпринять, чтобы убедиться, что база данных действительно удалена?

Попытаться выполнить запрос к одной из таблиц удаленной базы

Попытаться установить соединение с базой Docum1995

Перезапустить Enterprise Manager и вновь просмотреть список баз данных сервера

Выполнить команду Refresh из контекстного меню списка баз данных в Enterprise Manager

Запустить файловый менеджер (Far) и дать команду поиска файла docum1995.mdf по всем дискам сервера

 

 

Какие 3 из перечисленных секций SELECT могут использоваться для ограничения количества записей, возвращаемых командой?

ALL

HAVING

ORDER BY

WHERE

DISTINCT



Какое выражение в теле триггера позволит отменить команду удаления данных из таблицы любой структуры?

Return 0

Команды переноса удаленных строк из таблицы Deleted в исходную таблицу

Return -1

Rollback

Commit Tran


Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Какая из компонент MS SQL Server позволяет выполнять запуск пользовательских заданий по расписанию?

DTS

MS DTC

MS SQL Server Agent

MS SQL Server Engine

Olap Services




Вы разработали хранимую процедуру, предназначенную для расчета главной книги в бухгалтерской базе данных. В хранимой процедуре объявлен курсор:
DECLARE Acc CURSOR FOR SELECT cod,flaganalit FROM schet ORDER BY cod
Какова область видимости этого курсора?

Весь SQL Server

Текущее соединение

Текущая хранимая процедура

Все серверы из группы SQL Server

Все соединения


Вы работаете с базой данных XTRANS крупной транспортной компании. Группа разработчиков установила на рабочих местах операторов новое приложение для ввода заявок, но пользователи жалуются на длительные задержки при вводе данных.
Какой из перечисленных способов позволит оперативно получить информацию об активных блокировках в наиболее удобной форме?

Запустить QueryAnalizer и выполнить команду: EXEC sp_lock

Запустить Profiler и просмотреть информацию об активных блокировках

Запустить утилиту Isql и выполнить команду SELECT a.spid,b.objectname,a.type,a.mode FROM syslocks a, sysobjects b WHERE a.id = b.id

Запустить утилиту Qsql и выполнить команду: SELECT * FROM syslocks

Запустить EnterprizeManager и просмотреть информацию о блокированных объектах в дереве консоли: SQL Server_name|Management-Losks|Object


 

Каков максимальный размер файла базы данных SQL Server?

4 ТБ

32 ТБ

1 ТБ

16 ТБ

8 ТБ


 

Вы разрабатываете приложение для массовой загрузки данных о регистрации юридических лиц в таблицу UL_REG базы налоговой инспекции. Данные для загрузки поступают от районных управлений в виде текстовых файлов *.CSV. Загрузив очередную порцию данных, Вы обнаружили, что информация в полях ul_name и ul_adres выровнена произвольным образом.
Какой из приведенных фрагментов кода позволит исправить ошибку и обеспечить однозначное выравнивание данных по левой границе поля?

UPDATE ul_reg SET ul_name = LTRIM(ul_name), ul_adres = LTRIM(ul_adres)

UPDATE ul_reg SET ul_name = RTRIM(ul_name), ul_adres = RTRIM(ul_adres)

UPDATE ul_reg SET ul_name = SUBSTRING(ul_name,1,LEN(LTRIM(ul_name))), ul_adres = SUBSTRING(ul_adres,1,LEN(LTRIM(ul_adres)))

UPDATE ul_reg SET ul_name = RTRIM(LTRIM(ul_name)), ul_adres = RTRIM(LTRIM(ul_adres))

UPDATE ul_reg SET ul_name = SUBSTRING(ul_name,1,LEN(RTRIM(ul_name))), ul_adres = SUBSTRING(ul_adres,1,LEN(RTRIM(ul_adres)))


 

Какое выражение в триггере на обновление таблицы DOC позволит определить, что значение колонки NUM изменено?

exists(Select Num From Inserted)

exists(Select NUM From Deleted Where NUM not in (select NUM From DOC))

NUM in Columns_Updated()

UPDATE(NUM)

@@ROWCOUNT > 0



В базе данных сотовой компании XMOBILE имеется таблица PHONES, которая определена следующим образом:
CREATE TABLE Phones (
MobileID uniqueidentifier PRIMARY KEY NOT NULL,
Nomer char(11) NOT NULL,
Ostatok money NOT NULL )
Правление компании решило ввести с нового года бонусы для своих абонентов. Чтобы обеспечить выполнение этого решения, Вы решили ввести в таблицу новое поле Bonus и инициализировать его значением 0. Начисление бонусных сумм планируется провести по завершении текущего года. Таблица уже содержит записи.

Какой из приведенных фрагментов кода позволит добавить в таблицу требуемое поле и обеспечить его начальную инициализацию без потери данных?

USE Xmobile
ALTER TABLE Phones ADD Bonus money NULL
GO
UPDATE Phones SET Bonus = 0

USE Xmobile
ALTER TABLE Phones ADD Bonus money NULL
UPDATE Phones SET Bonus = 0
GO

ALTER TABLE Phones ADD Bonus money NULL
GO
UPDATE Phones SET Bonus = 0

USE Xmobile
ALTER TABLE Phones ADD Bonus money NOT NULL
GO
UPDATE Phones SET Bonus = 0

USE Xmobile
DRОP TABLE Phones
GO
CREATE TABLE Phones (
MobileID uniqueidentifier PRIMARY KEY NOT NULL,
Nomer char(11) NOT NULL,
Ostatok money NOT NULL )
GO
UPDATE Phones SET Bonus = 0


 

Вы разрабатываете подсистему массовой загрузки данных в таблицы из внешнего источника для созданной Вами же базы, но не имеете достаточного опыта в программировании на T-SQL и не работали ранее с утилитами командной строки.
Какой из перечисленных клиентских инструментов позволит решить поставленную задачу с минимальными затратами?

Profiler

EnterpriseManager

QueryAnalyzer

Утилиты сторонних разработчиков

OSQL

 

 

В базе данных используется таблица для регистрации документов:

Какой из перечисленных способов позволит изменить правило "null" на "not null" для поля "Comment" без ошибок и без потери существующих данных?

Использовать команды:
Alter table DOC Alter column [Comment] varchar(1000) not null Where [Comment] is null

Использовать команду:
Alter table DOC Alter column [Comment] varchar(1000) not null

Использовать команды:
Update table DOC Set [Comment] = ’’ Where [Comment] is null
Alter table DOC Alter column [Comment] varchar(1000) not null

Использовать команды:
Truncate Table DOC
Alter table DOC Alter column [Comment] varchar(1000) not null

Использовать команды:
Alter table DOC Drоp column [Comment]
Alter table DOC Add column [Comment] varchar(1000) not null


 

Вы разрабатываете приложение для базы данных торговой компании. Менеджеры по продажам хотят получать с его помощью ежемесячный отчет по 5 наиболее продуктивным продавцам. Данные о продажах продавцов хранятся в таблице Sales которая определена следующим образом:
CREATE TABLE Sales (
ProdFIO char(30) NOT NULL,
SummaSale money NOT NULL,
DataSale datetime NOT NULL )
Даты начала и конца анализируемого периода помещены в переменные @date1 и @date2
Какой из приведенных фрагментов кода следует выполнить для формирования корректного отчета?

SELECT TOP 5 ProdFIO, SUM(SummaSale) AS Vsego FROM Sales WHERE DataSale BETWEEN @date1 AND @date2 GROUP BY ProdFIO ORDER BY Vsego DESC

SELECT ProdFIO, SUM(SummaSale) AS Vsego FROM Sales WHERE DataSale BETWEEN @date1 AND @date2 GROUP BY ProdFIO HAVING COUNT(*)<=5 ORDER BY Vsego DESC

SELECT TOP 5 ProdFIO, SUM(SummaSale) AS Vsego FROM Sales WHERE DataSale BETWEEN @date1 AND @date2 GROUP BY ProdFIO ORDER BY Vsego

SELECT ProdFIO, SUM(SummaSale) AS Vsego FROM Sales WHERE DataSale BETWEEN @date1 AND @date2 GROUP BY ProdFIO ORDER BY Vsego DESC

SELECT ProdFIO, SUM(SummaSale) AS Vsego FROM Sales WHERE DataSale BETWEEN @date1 AND @date2 GROUP BY ProdFIO HAVING COUNT(*)<=5 ORDER BY Vsego


 

Сведения о студентах хранятся в таблице Student.

Для каждого студента необходимо хранить Фамилию, имя и номера мобильного и домашнего телефонов.

Какой тип столбцов следует выбрать для гарантии существования данных во всех строках таблицы?

Столбцы UNIQUE

Обязательные столбцы

Столбцы идентификации

Системные столбцы

Столбцы NOT NULL

 


По 2 каким из перечисленных типов полей невозможно построить индексы?

TEXT

UNIQEIDENTIFIER

BINARY

IMAGE

SMALLDATE


 

Вы являетесь владельцем базы данных SALES, хранящей информацию о продажах торговой компании. В базе данных имеется 2 представления, которые определены следующим образом:
CREATE VIEW Trade1 AS
SELECT towarID, towarName FROM sprTowar WHERE towarName LIKE “%Продукты питания%”
CREATE VIEW Trade2 AS
SELECT A.towarID, A.managerID, B.towarName FROM Rasxod A, Trade1 B WHERE A.towarID=B.towarID
Какой из приведенных фрагментов кода позволит обеспечить корректное удаление представлений Trade1 и Trade2?

DRОP VIEW Trade1
GO
DRОP VIEW Trade2
GO

DRОP VIEW Trade2
DRОP VIEW Trade1
GO

USE Sales
DRОP VIEW Trade2
DRОP VIEW Trade1
GO

DRОP VIEW Trade1
DRОP VIEW Trade2
GO

USE Sales
DRОP VIEW Trade1
DRОP VIEW Trade2
GO


 

Необходимо скрыть исходный код представления, созданного для коммерческого распространения в составе базы данных.
Какой из перечисленных способов приведет к решению поставленной задачи с наименьшими затратами?

Отказаться от хранения кода представления в базе, создавая его заново при каждом новом сеансе

Использовать ключ электронной защиты (HASP)

Прибегнуть к средствам защиты от сторонних разработчиков

Ограничить права доступа к представлению, сделав его доступным через хранимую процедуру

Изменить представление командой ALTER VIEW с опцией WITH ENCRYPTION




Какая из перечисленных ниже функций НЕ является агрегатной?

MIN

VAR

AVG

SUM

ABS



С какого префикса принято начинать имена расширенных хранимых процедур?

ep_

xp_

pr_

sp_

rp_


 

Возможно ли использование MS SQL-2000 Developer для эксплуатации корпоративных приложений «клиент-сервер»?

Нет, поскольку редакция Developer не имеет в комплекте поставки соответствующего инструментария

Да, при условии, что и разработка, и эксплуатация, выполняются на одной и той же инсталляции MS SQL

Нет, поскольку это противоречит условиям лицензионного соглашения на редакцию Developer

Да, при условии, что разработка приложений также выполнена с использованием этой же редакции MS SQL

Да, поскольку данная редакция позволяет использовать весь функционал MS SQL-2000

 

Вы сконфигурировали удаленный MS SQL сервер для участия в распределенных транзакциях и завели на нем учетные записи пользователей. Необходимо связать между собой учетные записи пользователей на локальном и удаленном серверах. Локальный MS SQL сервер имеет имя SQL_L, удаленный - SQL_R. Все необходимые права на обоих серверах, включая администраторские, у Вас имеются.

Какой из приведенных фрагментов кода следует выполнить на локальном сервере, чтобы обеспечить сопоставление учетных записей?

EXEC sp_addlogin ’loc_user1’, ’rem_user1’, ’rem_password’

EXEC sp_grantlogin ’rem_user1’

EXEC sp_adduser ’loc_user1’, ’rem_user1’

EXEC sp_addlinkedsrvlogin ’SQL_L’, TRUE, ’loc_user1’, ’rem_user1’, ’rem_password’

EXEC sp_addremotelogin ’SQL_L’, ’loc_user1’, ’rem_user1’


 

Какое из перечисленных средств копирования и переноса данных возможно использовать в составе клиентского приложения в качестве сервера автоматизации (AutoMate)?

QueryAnalyzer

BSQL

DTS

OSQL

EnterpriseManager


Вы разрабатываете клиентское приложение для массовой загрузки данных из текстовых файлов. Файлы для загрузки имеют имена, начинающимися с префикса “LD_”, и расширение *.txt, сохраняются в каталоге сервера C:\LOAD, который недоступен для Вашего приложения, а по окончании загрузки - автоматически удаляются. Перед тем как загружать данные, необходимо убедиться, что в каталоге загрузки имеется хотя бы 1 файл.

Какой из приведенных фрагментов кода позволит обеспечить корректное формирование списка загружаемых файлов и передачу этого списка на клиент?

EXEC master..xp_cmdshell ’dir "c:\load\ld_*.*"’

EXEC master..xp_cmdshell ’dir /B "c:\load\*.txt"’

EXEC master..xp_cmdshell ’dir /B "c:\load\ld_*.txt"’

EXEC master..xp_cmdshell ’dir "c:\load\ld_*.txt"’

EXEC master..xp_cmdshell ’dir /B "c:\load\ld_*.*"’



Какой из приведенных фрагментов кода позволит вывести всех авторов, предпоследним символом фамилии которых является буква a, а zip-код превышает 50000?

SELECT * FROM authors WHERE au_lname LIKE ’_a%’ AND zip > 50 000

SELECT * FROM authors WHERE au_lname LIKE ’%a%’ AND zip > 50 000

SELECT * FROM authors WHERE au_lname LIKE ’%a_ ’ ESCAPE ’a’ AND zip > 50 000

SELECT * FROM authors WHERE au_lname LIKE ’%a_’ AND zip !< 50 001

SELECT * FROM authors WHERE au_lname LIKE ’%a_’ AND zip > 50 000


 

Вы работаете с базой данных WebShops системы онлайновых продаж, используется, в основном, для ввода новых заказов. Пользователь Anakin жалуется, что не может получить данные из представления ViewCurr_0.
Какие действия следует предпринять, чтобы оперативно получить информацию о представлении ViewCurr_0 и указать пользователю на ошибку?

Запустить утилиту OSQL и выполнить команду:
EXEC sp_help ’ViewCurr_0’
Имена полей представления будут возвращены в результатах запроса

Открыть Enterprise Manager, найти по дереву консоли узел Views базы данных WebShops и раскрыть его. Затем в панели Details выбрать нужное Вам представление и просмотреть его свойства. Имена полей содержатся в определении представления

Запустить файловый менеджер Far, найти на сервере нужный Вам файл базы данных, открыть его в режиме просмотра. Затем дать команду поиска строки «CREATE VIEW ViewCurr_0»

Открыть Enterprise Manager и найти по дереву консоли базу данных WebShops. Затем выполнить команды контекстного меню All tasks -> Generate SQL Script. Имена полей представления будут содержаться в сгенерированном скрипте

Открыть Query Analyzer, ввести и выполнить команды:
USE WebShops
EXEC sp_help ’ViewCurr_0’
Имена полей представления будут возвращены в результатах запроса

 

Какое максимальное число таблиц можно создать в базе данных SQL Server?

Ограничено общим числом объектов, хранящихся в базе данных

65534

32767

4.000.000.000

1024



Вы разработали приложение учета, в котором пользователи вводят данные в таблицу STAGING. По завершении ввода данных, приложение запускает пакет обновления, использующий строки таблицы STAGING для обновления данных в таблице PRODUCTION. Строки каждого пользователя идентифицируются по ID номеру пользовательского процесса SQL Server в столбце spid
Пакет обновления определен следующим образом:
DECLARE @count int
BEGIN TRAN
SELECT @count = COUNT(*) FROM Production p JOIN Staging s
ON p.account=s.account WHERE s.spid=@@spid
UPDATE p SET amount = s.amount FROM Production p JOIN Staging s
ON p.account=s.account WHERE s.spid=@@spid
IF @@rowcount != @count ROLLBACK TRAN ELSE COMMIT TRAN
Вы обнаружили, что в системе возникают мертвые блокировки, когда двое (или больше) пользователей одновременно пытаются выполнить пакет обновления.

Какие действия следует предпринять для разрешения проблемы мертвых блокировок?

Установить низкий приоритет мертвой блокировки перед запуском пакета обновления

Установить нормальный приоритет мертвой блокировки перед запуском пакета обновления

Установить уровень изоляции транзакций SERIALIZABLE перед запуском пакета обновления

Использовать табличный хинт WITH (TABLOCKX), когда подсчитывается число строк в таблице Production

Использовать табличные хинты WITH (ROWLOCK, UPLOCK) когда подсчитывается число строк в таблице Production


 

Пользователь "Иван" входит в роль "Менеджеры", которой разрешен полный доступ к таблице "dbo.Games", а также установлены другие разрешения. Необходимо, чтобы пользователь "Иван" не имел доступа к таблице "dbo.Games", но при этом обладал всеми прочими полномочиями роли "Менеджеры".

Какая из перечисленных команд позволит решить поставленную задачу без изменения полномочий других пользователей базы данных?

Deny ALL On dbo.Games To [Иван]

Execute sp_droprolemember ’ Менеджеры’, ’Иван’

Deny ALL On dbo.Games To [Менеджеры]

Revoke ALL On dbo.Games To [Менеджеры]

Revoke ALL On dbo.Games To [Иван]


 

Что является минимальным уровнем блокирования для MS SQL-2000?

Страница

Таблица

Экстент

Группа строк

Строка


 

Может ли таблица ссылаться сама на себя?

Нет, явно создать правило внешнего ключа (Foreign key) не удастся

Да, без каких-либо ограничений

Да, однако такая таблица в базе данных может быть единственной

Да, но в этом случае для внешнего ключа следует указать правило "not null"

Да, однако для внешнего ключа следует разрешить значения "null"

 


Владельцем какого из перечисленных объектов не может являться пользователь базы данных?

Представление

Функция, определяемая пользователем

Таблица

Хранимая процедура

Триггер

 


В базе данных торговой компании имеется таблица Orders, для которой определен индекс old_Articul ранее использовавшийся для тестирования запросов. В настоящее время индекс old_Articul больше не используется, и необходимо его удалить. С таблицей интенсивно работают менеджеры торгового отдела, и нагрузка сервера сопоставима с критической.
Какие 2 из перечисленных клиентских инструментов позволят решить поставленную задачу?

Profiler

QueryAnalyzer

EnterpriseManager

Утилиты сторонних разработчиков

BCP



В базе данных имеется хранимая процедура xCounter, использующая курсор, который объявлен следующим образом:
DECLARE xCnt CURSOR FOR SELECT acc,summa FROM Saldo ORDER BY acc
Разработчик Striker хочет использовать курсор, порождаемый в этой процедуре для формирования своего отчета, но получает сообщение об ошибке:

при попытке выполнить код:
EXEC dbo.xCounter
FETCH FIRST FROM xCnt INTO @tacc,@tsum
WHILE @@FETCH_STATUS=0 BEGIN
SET @tsum1 = @tsum1+@tsum
FETCH NEXT FROM xCnt INTO @tacc,@tsum
END

Какой из приведенных фрагментов кода позволит объявить курсор в процедуре xCounter, чтобы решить поставленную задачу?

DECLARE xCnt CURSOR STATIC FOR SELECT acc,summa FROM Saldo ORDER BY acc

DECLARE xCnt CURSOR LOCAL SCROLL FOR SELECT acc,summa FROM Saldo ORDER BY acc

DECLARE xCnt CURSOR SCROLL FOR SELECT acc,summa FROM Saldo ORDER BY acc

DECLARE xCnt CURSOR GLOBAL FOR SELECT acc,summa FROM Saldo ORDER BY acc

DECLARE xCnt CURSOR DYNAMIC FOR SELECT acc,summa FROM Saldo ORDER BY acc

 

Каким требованиям должны удовлетворять имена временных глобальных хранимых процедур в T-SQL?

Имена таких процедур должны содержать префикс sp_

Имена таких процедур должны начинаться с символа #

Имена таких процедур должны начинаться с символов ##

Имена таких процедур должны начинаться с символа @

Имена таких процедур должны начинаться с символов @@


 

Какой из перечисленных операторов позволит расширить базу данных?

DATABASE RESIZE

RESIZE DATABASE

RESIZE DATABASE SIZE

ALTER DATABASE SIZE

ALTER DATABASE



Что произойдет с настройки безопасности (пользователи, роли, права), если резервная копия базы данных будет восстановлена на другом сервере?

Будут потеряны все пользователи и все права, роли сохранятся без прав

База данных будет вообще непригодна к использованию

Будут потеряны все пользователи, роли и права сохранятся

Все настройки сохраняться, но для пользователей может потребоваться восстановить логины

Будут потеряны все настройки безопасности



Корпоративное приложение, предназначенное для обслуживания системы офисных продаж в транснациональной компании, использует удаленные представления, обработку кубов данных и экспорт в формат XML. Помимо сервера в главном офисе, на котором предполагается вести разработку, данное приложение будет эксплуатироваться также в 20 удаленных офисах.
Какую редакцию MS SQL следует использовать в главном офисе, чтобы обеспечить оптимальные условия для разработки и эксплуатации приложения?

Personal

Developer

Enterprise

Standard

MSDE


 

Пользователь "Иван" входит в роль "Менеджеры". Роль "Менеджеры" входит в роль "Продавцы". Роли "Менеджеры" командой "Grant All" разрешен полный доступ ко всем таблицам базы данных. Роли "Продавцы" командой "Deny" запрещено удаление из таблицы "Склад", другие права на таблицу не установлены.
Какими правами на таблицу "Склад" будет обладать пользователь "Иван"?

"Select", "Reference" и "Insert"

Всеми ("All")

Правами владельца таблицы

"Select", "Update", "Reference" и "Insert"

Только правом чтения "Select"

 

Вы отлаживаете сложную хранимую процедуру с помощью отладчика. Учитывая потенциальный риск порчи или искажения данных в таблицах, Вы решили предусмотреть возможность аварийного отката транзакций.
Какие действия следует предпринять, чтобы обеспечить восстановление данных в таблицах базы при аварийном завершении транзакции?

При необходимости восстановления, переключиться в QueryAnalyzer, ввести и выполнить команду ROLLBACK IMMEDIATE

Предусмотреть в тексте хранимой процедуры команду (команды) ROLLBACK TRAN <имя транзакции>

 необходимости восстановления, переключиться в QueryAnalyzer, ввести и выполнить команду ROLLBACK TRAN <имя транзакции>

Установить в окне Debug для задания параметров ХП флажок Auto Roll Back

В случае порчи данных - восстановить базу из резервной копии


 

Вы проводите тестирование только что разработанной Вами хранимой процедуры, предназначенной для перестройки индексов. Тестовая база данных содержит таблицу Customers для которой существует 3 индекса с именами: PK_custID, IX_custName, IX_custAdr. Необходимо переименовать индекс PK_custID в PK_IDcust Параллельно с Вами с этой же базой данных работает группа разработчиков, выполняющая интенсивное нагрузочное тестирование своих приложений. Таблица Customers в запросах этой группы не используется.
Какие действия следует предпринять, чтобы обеспечить переименование индекса с минимальными затратами?

 

Запустить утилиту QueryAnalyzer и выполнить код:
EXEC sp_rename ’PK_custID’, ’PK_IDcust’, ’INDEX’

Запустить утилиту QueryAnalyzer и выполнить код:
CREATE CLUSTERED INDEX PK_IDcust ON Customer (pole1) DRОP EXISTING

Запустить утилиту QueryAnalyzer и выполнить код:
DRОP INDEX ’IX_custID’
CREATE CLUSTERED INDEX PK_IDcust ON Customer (pole1)

Запустить утилиту EnterpriseManager, выполнить удаление индекса со старым именем, затем создать вновь, с новым именем

Запустить утилиту EnterpriseManager и выполнить переименование индекса в окне Properties (вкладка Indexes/Keys окна свойств таблицы)


База данных крупного Интернет-магазина содержит таблицу ORDERS, имеющую кластерный индекс по полю OrderID и некластерный по полю RegionID. В результате анализа операций ввода-вывода для таблицы ORDERS было обнаружено, что индексы таблицы фрагментированы.
Какой из приведенных фрагментов кода позволит обеспечить перестройку индексов с минимальными затратами ресурсов?

CREATE CLUSTERED INDEX Ord_1 ON Orders (OrderID) WITH DRОP EXISTING
CREATE NONCLUSTERED INDEX Ord_2 ON Orders (RegionID) WITH DRОP EXISTING

DRОP INDEX Ord_2
DRОP INDEX Ord_1
CREATE CLUSTERED INDEX Ord_1 ON Orders (OrderID)
CREATE NONCLUSTERED INDEX Ord_2 ON Orders (RegionID)

DRОP INDEX Ord_1
DRОP INDEX Ord_2
CREATE CLUSTERED INDEX Ord_1 ON Orders (OrderID)
CREATE NONCLUSTERED INDEX Ord_2 ON Orders (RegionID)

DBCC DBREINDEX( Orders )

CREATE NONCLUSTERED INDEX Ord_2 ON Orders (RegionID) WITH DRОP EXISTING
CREATE CLUSTERED INDEX Ord_1 ON Orders (OrderID) WITH DRОP EXISTING


 

В базе данных следующими командами созданы две пустые таблицы:
Необходимо создать связь между этими таблицами так, чтобы поле DELO таблицы DOC ссылалось на поле ID таблицы DELO.
Какой из перечисленных способов приведет к решению поставленной задачи?

Очистить обе таблицы командой Truncate

Задать для обеих таблиц правила первичного ключа или уникальный индекс: для таблицы DOC по полю DELO, для таблицы DELO по полю ID

Задать для поля DELO таблицы DOC правило "not null"

Создать для поля ID таблицы DELO правило первичного ключа или уникальный индекс

Создать для поля DELO таблицы DOC правило первичного ключа или уникальный индекс


 

Вы установили СУБД SQL Server на отдельный компьютер, предназначенный для оценки производительности пользовательских приложений «клиент-сервер». Необходимо проверить, что с MS SQL можно установить соединение, выполнить настройку объектов MS SQL и восстановить из резервной копии тестовую базу данных, предназначенную для тестирования приложений.
Какой из перечисленных инструментов позволит обеспечить наиболее эффективное решение поставленной задачи?

Query Analyzer

Enterprise Manager

Bcp

Connection Wizard в составе пакета Visual Studio

Osql

 

 

Какое из перечисленных требований является необходимым и достаточным для первого индекса индексированного представления?

Индекс должен быть уникальным

Индекс должен быть уникальным и кластерным

Индекс может быть построен только по одному полю

Индекс должен иметь опцию FILLFACTOR=100

Индекс должен быть кластерным



Необходимо увеличить скорость выполнения запроса:
Для таблицы Doc еще не создано ни одного индекса.
Какой из перечисленных способов приведет к решению поставленной задачи при минимальных затратах на хранение индексов?

Создание кластерного индекса по одной из колонок: NUM или DELO

Создание кластерного индекса по колонкам NUM и DELO

Создание уникального индекса по колонке Comment

Создание кластерного или некластерного индекса по колонкам DELO и NUM

Создание индекса по колонкам Comment и NUM


 

В базе данных фонда обязательного медицинского страхования имеется таблица DOCUMS, содержащая тексты приказов, которая определена следующим образом:
CREATE TABLE Docums (
DocumID nvarchar(30) PRIMARY KEY NOT NULL,
DataDoc datetime NOT NULL,
AuthorID nvarchar(30) NOT NULL,
TxtDoc text )
Полнотекстовый индекс определен для всех столбцов таблицы Docums. Требуется найти и выбрать в хронологическом порядке авторов всех документы, содержащих в своем тексте гриф «ДЛО» (Дополнительное лекарственное обеспечение), а также даты их принятия.

Какой из приведенных фрагментов кода следует выполнить, чтобы выбрать требуемые данные и обеспечить необходимую сортировку?

SELECT AuthorID, DataDoc FROM Docums WHERE FREETEXT(DocumID, ’ДЛО’)

SELECT AuthorID, DataDoc FROM Docums WHERE text = ’ДЛО’ ORDER BY DataDoc

SELECT AuthorID, DataDoc FROM Docums WHERE documID LIKE ’%ДЛО%’

SELECT AuthorID, DataDoc FROM Docums WHERE FREETEXT(TxtDoc, ’ДЛО’) ORDER BY DataDoc

SELECT AuthorID, DataDoc FROM Docums WHERE TxtDoc LIKE ’%ДЛО%’ ORDER BY DataDoc DESC


 

Каково принципиальное отличие динамических таблицы от обычных таблиц базы данных?

Динамические таблицы не существуют физически в базе данных и не имеют постоянного имени

Для динамических таблиц необходимо обязательно указывать псевдоним

В динамических таблицах нельзя выполнять вставку/удаление/обновление

Динамические таблицы создаются только в результате выполнения подзапросов

Для динамической таблицы нельзя создать индексы



Необходимо, чтобы пользователь "Alina" не имела прямого доступа к таблице "dbo.Games". Для решения поставленной задачи была создана следующая хранимая процедура:
Однако "Alina" получает сообщение о недостатке прав доступа.
Какие изменения необходимо внести в текст процедуры для успешного решения поставленной задачи?

Необходимо предоставить пользователю "Alina" право ссылаться на таблицу командой Grant References on dbo.Games to Alina

Следует явно перечислить список выбираемых полей из таблицы "dbo.Games" вместо использования звездочки ("*")

Необходимо, чтобы владельцем процедуры был "dbo", а "Alina" обладала правами запуска этой процедуры

Строку "dbo.Games" следует заменить на "[Alina].Games"

Необходимо предоставить пользователю "Alina" право на запуск процедуры


Какой из хинтов MS SQL Server 2000 позволяет установить наиболее длительную блокировку?

ROWLOCK

UPLOCK

TABLOCKX

TABLOCK

HOLDLOCK


 

Какой из перечисленных фрагментов кода возвращает пять символов, следующих после первого экземпляра слова the в строке (если слово the не найдено, команда должна возвращать строку N/A)?

SELECT CASE WHEN charindex (’the’,lower(title)) = 0 THEN ’N/A’ ELSE substring (title, charindex(’the’,lower(title))+3,5) END FROM titles

SELECT CASE WHEN title LIKE ’ %the%’ THEN NEXT(’the’,5) ELSE ’N/A’ END FROM titles

SELECT ISNULL(substring (title,charindex (’the’,lower(title))+3, charindex (’the’,lower(title))+5) ,’N/A’)
FROM titles

SELECT NULL(substring (title,charindex (’the’,lower(title))+3 , charindex (’the’,lower(title))+5) , ’N/A’)
FROM titles

SELECT ISNULL( substring(title,CHARINDEX (’the’, LOWER(title)),3),’N/A’) FROM titles



При использовании MS SQL-2000 Personal на компьютере, функционирующем под управлением Windows 98 SE, сложные запросы выполняются слишком долго. Компьютер имеет следующую конфигурацию:
CPU: Celeron-333 MHz
RAM: 64 Мb
HDD: 10 Gb
Какой из перечисленных способов позволит ускорить выполнение сложных запросов?

Установить жесткий диск большего объема

Заменить процессор Celeron на Intel Pentium

Разогнать процессор до частоты 500 MHz

Установить программный кэш жесткого диска

Расширить объем оперативной памяти до 128 Мб


 

Какую из перечисленных конструкций невозможно использовать в правилах Check Constraints для таблиц?

Логический оператор "Between"

Логические выражения

Арифметические операторы

Подзапрос с предикатом "exists"

Вызовы пользовательских функций


 

Вы разрабатываете единую информационную систему регионального уровня для министерства здравоохранения области. Вам необходимо добавить в Вашу систему MS SQL, имеющую имя ’MZOO’ удаленный SQL сервер ’MZOO_1’и обеспечить возможность выполнения удаленных информационных запросов к базе данных этого сервера.
Какой из приведенных фрагментов кода позволит обеспечить добавление и правильное конфигурирование удаленного сервера?

EXEC sp_linkedserver ’MZOO_1’, ’SQLServer OLEDB Provider’, ’SQLOLEDB’, ’MZOO_1’

EXEC sp_addserver ’MZOO_1’

EXEC sp_serveroption ’MZOO_1’, ’sa’, ’remote_sa’, ’useself’, FALSE

EXEC sp_linkedservers

EXEC sp_remoteoption ’MZOO_1’, ’sa’, ’remote_sa’, ’useself’, FALSE

 


Вы работаете с базой данных торговой компании. Правление компании решило, что будет торговать только продуктами, имеющими сертификат качества. Чтобы обеспечить выполнение этого решения, Вы разработали и добавили в базу таблицу-справочник сертификатов. Исходные данные для начальной загрузки этой таблицы находятся в таблицах формата dBase III.
Какой метод загрузки данных следует применить, чтобы обеспечить быстрое и эффективное заполнение нового справочника?

Загрузить данные из таблиц dBase III с помощью пакета DTS

Загрузить данные из таблиц dBase III с помощью хранимой процедуры, использующей команду BULK INSERT

Загрузить данные с помощью одной из программ для dBase III

Преобразовать таблицы dBase III в текстовые файлы с табуляторами в качестве разделителей полей. Затем загрузить данные с помощью программы массового копирования (bcp)

Преобразовать таблицы dBase III в текстовые файлы с табуляторами в качестве разделителей полей. Затем загрузить данные с помощью пакета DTS


 

Возможно ли ускорить процесс построения индексов к таблицам существующей базы данных путем задания в команде CREATE INDEX опции SORT_IN_TEMPDB?

Нет, поскольку все дисковые операции выполняются на одном и том же сервере

Да, при условии, что пользовательская база данных и база tempdb находятся на разных логических дисках

Да, при условии, что пользовательская база данных и база tempdb находятся на разных физических дисках

Да, при условии что, на сервере установлен дисковый массив RAID-5

Да, поскольку сортировка данных выполняется в базе данных, отличной от пользовательской

 

Корпоративное приложение, предназначенное для обслуживания системы принятия решений руководителями высшего звена на малых и средних предприятиях, помимо формирования простых табличных отчетов, использует массовую загрузку данных, экспорт результатов в формате XML и полнотекстовый поиск.

Какую редакцию MS SQL следует использовать, чтобы обеспечить оптимальные условия для установки и эксплуатации приложения?

MSDE

Developer

Personal

Enterprise

Standard

 

 

При выполнении каких(ой) команд(ы) осуществляется проверка правил Check Constraints?

Update

Select, Insert и Update

Insert и Update

Delete, Select, Insert и Update

Insert


 

В базе данных создана таблица для регистрации входов пользователей. Необходимо, чтобы вставка в таблицу значений с датой, ранее сегодняшней, игнорировалась, а прочие значения - сохранялись.
Какой
из приведенных фрагментов кода позволит решить поставленную задачу?

Create Trigger TR_DELO_INS ON DELO
INSTEAD OF INSERT
AS
Delete From Inserted Where Date < getdate()

Create Trigger TR_DELO_INS ON DELO
INSTEAD OF INSERT
AS
Insert Into DELO (Date, Text)
Select Date, Text From inserted Where Date >= getdate()

Create Trigger TR_DELO_INS ON DELO
INSTEAD OF INSERT
AS
If exists(Select * From inserted Where Date < getdate())
Rollback

Create Trigger TR_DELO_INS ON DELO
AFTER OF INSERT
AS
Delete From Inserted Where Date < getdate()

Create Trigger TR_DELO_INS ON DELO
FOR INSERT
AS
If exists(Select * From inserted Where Date < getdate())
Rollback

 


Вы разработали хранимую процедуру, предназначенную для выполнения сложной выборки из нескольких связанных таблиц. При выполнении нагрузочного тестирования выясняется, что время отработки запроса слишком велико, и Вы решаете проанализировать план выполнения запроса.
Какой из перечисленных клиентских инструментов позволит решить поставленную задачу?

Query Analyzer

Profiler

Qsql

Bcp

Enterprise Manager


 

Необходимо создать пользовательскую базу данных, состоящую из нескольких отдельных файлов, размещенных на разных физических дисках.
Какой из перечисленных способов позволит решить поставленную задачу наиболее оперативно?

Использовать Profiler

Использовать Enterprise Manager

Использовать Osql

Использовать Query Analyzer

Использовать Create Database Wizard

 

Вы разработали представление xView_1, хранящееся в базе данных Transp, и являющееся более продвинутой версией Вашего же представления xView_0. Старое представление больше не используется в запросах, но прежде чем выполнять удаление, Вы решили убедиться, что не пострадают интересы пользователей базы данных.

Какой из приведенных фрагментов кода позволит получить наиболее полную и удобочитаемую информацию о зависимостях представления xView_0?

USE Transp
EXEC SP_DEPENDS ’xView_0’

USE Transp
SELECT * FROM sysdepends

USE Transp
SELECT * FROM sysreferences

USE Transp
SELECT * FROM sysobjects

USE Transp
SELECT * FROM sysproperties


 

Вы разрабатываете хранимую процедуру, предназначенную для использования совместно с клиентским приложением. Согласно техническому заданию, процедура должна принимать от клиента 2 входных параметра @d1 и @d2 типа varchar(20), содержащие даты начала и конца периода в формате:
ДД.ММ.ГГГГ
Необходимо преобразовать оба входных параметра в значения типа datetime. Переменные @dd1 и @dd2 типа datetime Вы уже объявили.

Какой из приведенных фрагментов кода позволит выполнить корректное преобразование данных?

SET @dd1 = CONVERT(datetime,@d1)
SET @dd2 = CONVERT(datetime,@d2)

SET @dd1 = CONVERT(datetime,@d1,120)
SET @dd2 = CONVERT(datetime,@d2,120)

SET @dd1 = CAST(@d1 AS datetime)
SET @dd2 = CAST(@d2 AS datetime)

SET @dd1 = CAST(SUBSTRING(@d1,7,4)+’-’+SUBSTRING(@d1,1,2)+’-’+
SUBSTRING(@d1,4,2) AS datetime)
SET @dd2 = CAST(SUBSTRING(@d2,7,4)+’-’+SUBSTRING(@d2,1,2)+’-’+
SUBSTRING(@d2,4,2) AS datetime)

SET @dd1 = CAST(SUBSTRING(@d1,4,2)+’-’+SUBSTRING(@d1,1,2)+’-’+
SUBSTRING(@d1,7,4) AS datetime)
SET @dd2 = CAST(SUBSTRING(@d2,4,2)+’-’+SUBSTRING(@d2,1,2)+’-’+
SUBSTRING(@d2,7,4) AS datetime)

 

DECLARE @dd1 datetime, @dd2 datetime

SET @dd1 = GETDATE()
SET @dd2 = GETDATE()+30
SELECT * FROM Orders WHERE dataOrd BETWEEN @dd1 AND @dd2
GO
DECLARE @artikul varchar(20)
SET @artikul = ’1000100125’
EXEC dbo.GetListZakaz @artikul

Какую область видимости имеют переменные @dd1 и @dd2, объявленные командой DECLARE?

Текущая хранимая процедура

Текущий сценарий

Текущий пакет

Текущее соединение с базой данных

Все соединения с базой данных


 

Какое максимальное количество триггеров с типом "Instead Of" может быть создано на одной таблице?

6

1

2

12

3

 



 

База данных областной больницы содержит таблицу Pacients, хранящую учетные данные пациентов. Разработчик Foolish написал сценарий, предназначенный для однократного получения выборки по пациентам за текущую дату:
DECLARE @dd1 datetime
SET @dd1 = GETDATE()
GO
SELECT * FROM Pacients WHERE data_pr = @dd1 ORDER BY fam,nam,otc
Попытка выполнить сценарий в окне утилиты QueryAnalyzer завершается выдачей сообщения об ошибке:

Какой из приведенных фрагментов кода следует выполнить, чтобы устранить возникающую ошибку и обеспечить формирование выборки в соответствии с заданными условиями?

DECLARE @dd1 datetime
SELECT * FROM Pacients WHERE data_pr = @dd1 ORDER BY fam,nam,otc
GO

DECLARE @dd1 datetime
GO
SELECT * FROM Pacients WHERE data_pr = GETDATE() ORDER BY fam,nam,otc

DECLARE @dd1 datetime
SET @dd1 = GETDATE()
SELECT * FROM Pacients WHERE data_pr = @dd1 ORDER BY fam,nam,otc
GO

DECLARE @dd1 datetime
GO
SET @dd1 = GETDATE()
SELECT * FROM Pacients WHERE data_pr = @dd1 ORDER BY fam,nam,otc

DECLARE @dd1 datetime
SET @dd1 = GETDATE()
GO
DECLARE @dd1 datetime
SELECT * FROM Pacients WHERE data_pr = @dd1 ORDER BY fam,nam,otc




Какое максимальное число рекурсивных вызовов хранимой процедуры разрешено в MS SQL?

128

32

64

16

256

 

По какой причине не рекомендуется создавать сценарии, содержащие прямые обращения к системным таблицам, содержащимся в базе данных master?

Такой код может быть запущен только членами ролей sysadmin или db_owner

Формат системных таблиц может измениться в последующих версиях MS SQL Server

Системные таблицы недоступны для кода, созданного пользователем

Есть риск повреждения метаданных в системных таблицах и краха всей системы в целом

Блокировка системных ресурсов при интенсивной работе пользователей будет создавать частые задержки


 

Вы создали индексированное представление IndOrd0, использующее данные из таблицы OrderDetails базы данных Sales. По предварительной оценке, и таблица OrderDetails, и представление IndOrd0 содержат достаточно большое количество строк.
Какие действия следует предпринять, чтобы убедиться, что представление создано корректно и построенные индексы используются представлением?

Запустить Query Analyzer, ввести команду:
SELECT * FROM IndOrd0
Выполнить запрос и оценить время его выполнения по данным из статус-строки окна запроса

Запустить Enterprise Manager, открыть в базе данных раздел Views и выполнить команду OpenView ->
Return all rows из контекстного меню. Оценить время выполнения запроса

Запустить Query Analyzer, ввести команду:
SELECT * FROM IndOrd0
Выполнить запрос и оценить время его выполнения с помощью трассировки, сделанной в Profiler

Запустить Query Analyzer, ввести команду:
SELECT * FROM IndOrd0
Выполнить запрос и оценить время его выполнения с помощью Perfomance Monitor

Запустить Query Analyzer, ввести команду:
SELECT * FROM IndOrd0
Затем вывести графический план выполнения этого запроса


Вы можете обратится к нам напрямую, через:

skype По Skype: molodoyberkut
telegram По Telegram: @MolodoyBerkut
icq По ICQ: 657089516

Или через форму обратной связи на нашем сайте
Пока сочиняется...
4.png