Lab6_SQL (Лабораторная №6), страница 3
Описание файла
Файл "Lab6_SQL" внутри архива находится в папке "Лабораторная №6". Документ из архива "Лабораторная №6", который расположен в категории "". Всё это находится в предмете "банки данных" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "банки данных" в общих файлах.
Онлайн просмотр документа "Lab6_SQL"
Текст 3 страницы из документа "Lab6_SQL"
VALUES ('Test Name 1', 1)
-
Засеките время.
-
Подождите две минуты, очистите окно запроса, а затем создайте еще одну запись, используя следующий код:
USE Sales
INSERT Products(Description,InStock)
VALUES ('Test Name 2', 1)
-
Чтобы увидеть обе записи, очистите окно запросов и выполните следующий код:
USE Sales
SELECT * FROM Products
-
Чтобы выполнить восстановление на определенный момент времени, вы должны создать резервную копию журнала транзакций. Откройте окно SQL Server Management Studio и разверните группу Databases.
-
На панели Object Explorer щелкните правой кнопкой на базе данных Sales и выберите в контекстном меню пункт Tasks=> Back Up.
-
В диалоговом окне Backup убедитесь, что для резервного копирования журнала транзакций выбрана база данных Sales.
-
В поле Name оставьте имя по умолчанию; в поле Description введите описание
Point-in-time Backup of Sales. -
.В разделе Destination убедитесь, что выбрано устройство SalesFull (рис. 17).
Рис. 17. Резервирование базы данных на текущий момент времени
-
Во вкладке Options проверьте, установлен ли переключатель в положение Append To The Existing Backup Set, чтобы не переписать существующую полную резервную копию.
-
Во вкладке Options выберите опцию Verify Backup When Finished.
-
Чтобы начать процесс создания резервной копии, щелкните на кнопке ОК.
Итак, на данный момент у вас имеются две новые записи, а также выполнено резервное копирование журнала транзакций. Теперь вы готовы выполнить откат базы данных к моменту времени перед созданием второй из новых записей.
-
Откройте SQL Server Management Studio и разверните группу Databases.
-
Щелкните правой кнопкой на базе данных Sales, и выберите в контекстном меню пункт Tasks=> Restored Database.
-
Щелкните на кнопке возле текстового блока То A Point In Time.
-
В диалоговом окне Point In Time Restore введите время, зафиксированное в п.3 предыдущего упражнения, и щелкните на кнопке ОК (рис. 18).
Рис. 18. Выбор времени и даты, к которым будет выполняться восстановление
5. Убедитесь, что вы выполняете восстановление из устройства SalesFull, выберите в устройстве все доступные резервные копии и щелкните на кнопке ОК для запуска процесса восстановления
6. Чтобы протестировать результаты восстановления, в окне запросов утилиты SQL Server Management Studio введите и выполните следующий код:
USE Sales
SELECT * FROM Products
-
Обратите внимание на то, что значение Test Name 1 осталось, а значения Test Name 2 уже нет.
Выбор стратегии резервного копирования
Выполнение лишь полного резервного копирования
Если ваша база данных сравнительно небольшая, вы можете выполнять лишь полное резервное копирование.
Недостаток стратегии полного резервного копирования состоит в том, что по сравнению с другими стратегиями она реализуется довольно медленно. Например, если вы каждую ночь выполняете полное резервное копирование базы данных объемом 100 Мбайт, то вы архивируете 100 Мбайт каждую ночь. Если же, наряду с пол-ным, вы используете дифференцированное резервное копирование, вам не придется еженощно резервировать все 100 Мбайт.
Основное преимущество стратегии лишь полного резервного копирования заключается в том, что процесс восстановления выполняется быстрее, чем в других стратегиях, поскольку в нем используется только одна копия. Например, если вы каждую ночь выполняете полное резервное копирование, и в четверг база данных выдает сбой вам нужно лишь восстановить полную резервную копию, сделанную в ночь на четверг.
Выполнение полного и дифференцированного восстановления
Если ваша база данных чересчур велика, чтобы каждую ночь выполнять полное резервное копирование, вы можете добавить в стратегию и дифференцированное резервное копирование. Стратегия полного/дифференцированного резервного копирования работает быстрее, чем исключительно полного копирования. Используя стратегию одного полного резервного копирования, вы каждый раз копируете всю базу данных. Как показано на рис. 20, при использовании стратегии полного/дифференцированого резервного копирования вы резервируете только изменения, сделанные в базе данных после полного резервного копирования, что выполняется быстрее, чем создание резервной копии всей базы данных.
Рис. 20. Дифференцированное резервное копирование выполняется быстрее, чем полное, поскольку записываются лишь те изменения базы данных, которые были сделаны после последнего создания полной резервной копии
Основной недостаток стратегии полного/дифференцированого резервного копирования заключается в том, что процесс восстановления выполняется медленнее, чем в стратегии лишь полного резервного копирования, поскольку полное/дифференцированное копирование требует создания нескольких резервных копий. Предположим, вы выполняете полное резервное копирование в ночь на понедельник и дифференцированное в остальные дни недели, а ваша база данных была повреждена в среду. Чтобы вернуть базу данных в устойчивое состояние, вам понадобится восстанавливать полную резервную копию, сделанную в понедельник, и дифференцированную копию, сделанную во вторник. Если база данных перестанет работать в четверг, вам придется восстанавливать резервную копию, сделанную в четверг, которая содержит изменения, сделанные во вторник и среду.
Еще один недостаток, о котором следует знать, заключается в том, что дифференцированное резервное копирование, также как и полное, не очищает журнал транзакций. Если вы хотите использовать эту стратегию, вам придется очищать журнал транзакций вручную путем создания его резервной копии с использованием предложения TRUNCATEONLY.
Полное резервное копирование и копирование журнала транзакций
Еще одна стратегия, которую следует рассмотреть независимо от размеров базы данных, это стратегия комбинации полного резервного копирования и копирования журнала транзакций. Этот подход имеет несколько преимуществ. Во-первых, это самый лучший метод хранения журналов транзакций в чистоте, поскольку это единственный тип резервного копирования, который автоматически очищает старые транзакции из журналов.
Этот метод также обеспечивает большую скорость создания резервных копий. Например, вы можете выполнить полное резервное копирование в понедельник и выполнять резервное копирование журнала транзакций три-четыре раза в день в течение недели. Это возможно, поскольку SQL Server выполняет оперативное резервное копирование, а журнал транзакций копируется быстро (пользователи этого практически не заметят).
Резервное копирование журнала транзакций является также единственным типом резервного копирования, позволяющим выполнять восстановление к состоянию на определенный момент времени. Вы можете спросить: "Как часто мне этим пользоваться?". Если в компании есть ненадежный человек, то имеет смысл время от времени использовать эту возможность, чтобы в случае необходимости она оказалась под рукой.
Недостаток этой стратегии состоит в том, что процесс восстановления выполняется немного медленнее, чем при использовании полного/дифференцированного резервного копирования. Причина в том, что нужно восстановить больше резервных копий, и каждый раз при добавлении новой работы в процесс он становится медленнее. Предположим, к примеру, что вы выполняете полное резервное копирование в понедельник и копирование журналов транзакций три раза в день (в 10:00, 14:00 и 18:00) на протяжении недели. Если ваша база данных перестанет функционировать во вторник в 15:00, то вам потребуется восстановить полную резервную копию, сделанную в понедельник, а также резервные копии журнала транзакций, сделанные во вторник в 10:00 и 14:00. Однако если база данных откажет в четверг в 15:00, вам придется восстановить полную резервную копию, сделанную в понедельник, а также все резервные копии журнала транзакций, сделанные во вторник, среду и четверг перед сбоем. Таким образом, хотя этот тип резервного копирования, на первый взгляд, должен работать быстрее, процесс восстановления может замедляться. В принципе, вы можете комбинировать все три типа резервного копирования.
Полное, дифференцированное резервное копирование и копирование журнала транзакций
Если вы комбинируете все три типа резервного копирования, то получите самые лучшие результаты. Процессы резервного копирования и восстановления все еще будут выполняться относительно быстро, и у вас появится преимущество восстановления базы данных к конкретному моменту времени. Предположим, что вы осуществляете полное резервное копирование в понедельник, копирование журнала транзакций каждые четыре часа (10:00, 14:00 и 18:00) на протяжении дня и дифференцированное резервное копирование каждую ночь. Если база данных выходит из строя, вам потребуется лишь восстановить полную резервную копию, сделанную в понедельник, дифференцированную резервную копию, сделанную в ночь перед сбоем, и последние копии журнала транзакций, сделанные до момента сбоя. Такой метод довольно простой и быстрый. Однако ни одна из вышеуказанных стратегий не годится для гигантских баз данных, для которых следует использовать резервное копирование группы файлов.
Создание учетной записи
Если вы администратор базы данных, одной из ваших основных задач является обеспечение безопасности сервера. Учетная запись SQL Server служит для доступа пользователей компьютерной сети к хранящейся в нем информации.
Существует несколько способов создания учетной записи. Простейший из них заключается в использовании подпапки Logins общей папки Security интерфейса Management Studio. Откройте панель Object Explorer, разверните объекты сервера, а затем раскройте папку Security. Щелкните правой кнопкой на папке Logins и выберите в контекстном меню пункт New Login. Откроется диалоговое окно, показанное на рис. 2.
В верхней части правой панели нужно выбрать метод аутентификации. SQL Server может использовать два различных метода определения того, является ли пользователь тем, за кого себя выдает.
-
Аутентификация Windows сравнивает пользователя с его учетными данными в базе пользователей Windows.
-
Аутентификация SQL Server предлагает пользователю ввести пароль, который хранится в самой базе данных SQL Server. Вы вошли в SQL Server под именем sa c паролем 1. Этот пользователь устанавливается при инсталляции сервера и имеет права администратора.
Рис. 2. Страница General диалогового окна создания новой учетной записи
В большинстве случаев используют аутентификацию Windows. При этом конечным пользователям не нужно запоминать еще один пароль, а администратору не нужно обслуживать и координировать два разных множества паролей. В то же время вы можете использовать учетные записи SQL Server для обеспечения доступа к базе данных из Интернет (или с компьютеров ЛВС).
В текстовом поле Login Name введите имя имеющейся учетной записи Windows, для которой создается учетная запись в базе данных SQL Server (предполагается, что выбран метод аутентификации Windows). Имя и домен вы можете ввести вручную или выполнить поиск, щелкнув на кнопке Search.
Переключатель Server Access позволяет предоставить выбранному пользователю доступ к серверу или запретить его. Принято явно определять все учетные записи пользователей, которым не нужен доступ к серверу баз данных. Нет смысла давать возможность посторонним ради любопытства обозревать свою базу данных.
Теперь выделите на левой панели элемент Server Roles, как показано на рис. 3. Здесь вы можете выбрать, какие привилегии безопасности серверной стороны должен иметь данный пользователь.
Теперь на левой панели выберите элемент Database Access. Устанавливая флажки, выберите, какие базы данных будут доступны владельцу данной учетной записи. Если не выбрать ни одну базу данных, пользователь сможет подключиться к серверу баз данных, но не сможет на нем ничего сделать. Если вы хотите назначить конкретные разрешения, щелкните на элементе Permissions левой панели и установите их.
Рис. 3. Страница Server Roles диалогового окна создания новой учетной записи
Если все задуманное вы сделали, щелкните на кнопке ОК, чтобы создать новую учетную запись.