Добавил:
Меня зовут Катунин Виктор, на данный момент являюсь абитуриентом в СГЭУ, пытаюсь рассортировать все файлы СГЭУ, преобразовать, улучшить и добавить что-то от себя Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный_практикум_по_АБД_sqlserver.docx
Скачиваний:
6
Добавлен:
03.08.2023
Размер:
496.52 Кб
Скачать

Обновление исходной таблицы на издателе

Перейдите на сервер дистрибьютор и издатель, откройте на нем окно запроса.

Введите и выполните следующие команды:

Use Northwind

SELECT * from Customers

Просмотрите результат, запишите, какое значение находится в первой строке в столбце ContactName.

Введите и выполните следующие команды:

Use Northwind

Update Customers

Set ContactName==’Maria Anders-Smith’ Where CustomerID=’ALFKI’

SELECT * from Customers

Сколько времени займет репликация этого обновления данных?

На сервере-подписчике переключитесь в SQL Server, после чего откройте новое соединение со своим сервером.

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

На сервере-издателе и дистрибьторе переключитесь в Enterprise Manager, раскройте Replication Monitor, затем Agents, после чего щелкните по Merge Agent (Возможно Вам придется обновить его), в окне детализации щелкните правой кнопкой мыши по Northwund и выберите Agent History. Щелкните по кнопке Session Details.

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

Можете ли вы запустить задание Merge Agent с сервера дистрибьютора и издателя?

Одновременное обновление на издателе и подписчике

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

Use Northwind

Update Customers

Set ContactName=’Maria Anders-Smyth’ where CustomerID=’ALFKI’

Select * from customers

На сервере –подписчике откройте окно запроса и введите следующие команды:

Use NorthwindMergeDB

Update Customers

Set ContactName=’Maria Anders-Smythe’ where CustomerID=’ALFKI’

Select * from customers

На сервере дистрибьютора и издателя переключитесь в Enterprise Manager, в окне детализации Agent details убедитесь, что изменения были раплицированы, и что конфликт был разрешен. Это займет несколько минут.

Какое обновление было применено?

11. Лабораторная работа по теме «Индексирование таблиц в SQL Server»

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

1. Установка базы данных CREDIT

В главном меню системы выберите пункт «Выполнить» и запустите командный файл, который находится по адресу: "C:\MOC\2073A\Labfiles\Credit Database\Install.bat". После этого обновите данные Вашей рубрики Databases и проверьте, что в списке баз данных появилась база данных Credit.

2.Создание индексов в таблице Corporation

Создайте кластерный индекс в таблице Corporation по полю Corp_no c именем Corporation_ident,

Создайте некластерный индекс по полю region_no, назовите индекс corporation_region_link

Общий вид команды индексирования (без дополнительных параметров):

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX имя_индекса     ON { имя_таблицы| имя_представления } ( имя_поля [ ASC | DESC ] [ ,...n ] )

3. Использование системной хранимой процедуры Sp_help для идентификации индексов

Подключитесь к Query Analyzer и напишите скрипт, в котором откройте базу данных credit и запустите процедуру sp_help для таблицы corporation (sp_help имя_таблицы). Выполните скрипт. Просмотрите в результате 6-ю таблицу. Какие сведения об индексах дает процедура sp_help ?

Ответы зафиксируйте в отчете.

4. Использование информации из таблицы sysindexes

В Qwery Analyzer наберите следующие команды, а затем выполните скрипт.

USE credit

GO

SELECT t.name AS [имя_таблицы], i.name AS [имя_индекса], i.*

FROM sysobjects AS t JOIN sysindexes AS i ON t.id = i.id

WHERE t.id > 100

ORDER BY t.name

Просмотрите внимательно скрипт, скопируйте его в отчет. Проанализируйте результат.

Какие таблицы имеют индексы? Какого типа?

5. Создание индексов таблиц базы данных Northwind

Наберите следующие команды, проанализируйте их и выполните скрипт.

USE Northwind

GO

IF EXISTS (SELECT name FROM sysindexes WHERE name = 'Orders_Customers_link')

DROP INDEX Orders.Orders_Customers_link

GO

CREATE NONCLUSTERED INDEX Orders_Customers_link ON Orders(CustomerID)

WITH FILLFACTOR = 75

GO

Сохраните текст скрипта в отчете.

Что должно стать результатом его выполнения?

Выполните процедуру sp_help имя_таблицы, sp_helpindex имя_таблицы, чтобы проверить создание индекса.

5.2. Создайте два индекса для таблицы Products базы данных Northwind в соответствии с данными табл.1.

Таблица 1

Index Type

Name

Table

Column

Fillfactor

value

Clustered

Products_categoryID_link

Products

CategoryID

0

Nonclastered

Products_SupplierID_link

Products

SupplierID

0

Сделайте запрос к таблице sysindexes, чтобы проверить, какие индексы были созданы.

5.3. Проверьте наличие индексов с помощью системной хранимой процедуры sp_helpindex для таблиц Orders и Products.

Зафиксируйте результаты. Проанализируйте их.