

Радует скорость и качество обработки заказа.
Наполненность сайта, ассортимент на любой вкус. Оповещение при выполнении заказа работает отлично!
Весь 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
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
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_*.*"’
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
Затем вывести графический план выполнения этого запроса