MCSA/MCSE, MCDBA Training Kit Exam 70-228 Microsoft SQL Server 2000 System Administration Microsoft-Press курс SA/MCSE, MCDBA ...
-- [ Страница 3 ] -->Х Для работы с консолью SQL Server Enterprise Manager MMC 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью Administrator.
2. Раскройте меню Start\Programs\Microsoft SQL Server и выберите Enterprise Manager Откроется окно SQL Server Enterprise Manager, в левой части которого в корневом каталоге отображается только дерево Microsoft SQL Servers.
3. В панели MMC выберите пункт Console Обратите внимание, что данное меню содержит только один пункт Exit. Другие пункты недоступны, так как SQL Server Enterprise Manager был открыт в пользова тельском режиме.
4. Щелкните Exit, чтобы закрыть SQL Server Enterprise Manager.
5. Раскройте меню Start\Search и выберите For Files Or Folders.
Откроется окно Search Results.
6. В поле Search For File Or Folders Named введите *.msc, а затем щелкните кнопку Search Now.
Обратите внимание, что результат поиска содержит множество консолей ММС с заданной конфигурацией. Большинство из найденных файлов являются отдель ными консолями ММС, каждая из которых используется для отдельной задачи администрирования в Windows 2000.
7. Правой кнопкой щелкните SQL Server Enterprise Manager.msc и выберите Author.
Откроется консоль SQL Server Enterprise Manager MMC в режиме Author.
8. В панели инструментов ММС выберите пункт Console, затем Ч Add/Remove Snap-in.
Откроется окно Add/Remove Snap-in.
9. Щелкните кнопку Add.
Откроется окно Add Standalone Snap-in, где отображается список изолированных оснасток, которые можно добавлять в панель инструментов.
10. В списке встраиваемых элементов выберите Event Viewer и щелкните кнопку Add.
Откроется окно Select Computer.
11. Щелкните кнопку Finish, чтобы использовать конфигурацию, заданную по умол чанию, которая создана для администрирования локального компьютера.
12. Щелкните кнопку Close, чтобы закрыть окно Add Standalone Snap-in, затем Ч OK, чтобы закрыть окно Add/Remove Snap-in.
Теперь консоль ММС в SQL Server Enterprise Manager отображает два отдельных дерева в левой части окна: Microsoft SQL Servers и Event Viewer (Local).
13. В меню Console щелкните Exit.
Откроется окно сообщения Microsoft Management Console.
H. Щелкните Yes, чтобы сохранить новые параметры консоли ММС SQL Server Enterprise Manager, выбранной по умолчанию.
15. Закройте окно Search Results.
16. Раскройте меню Start\Programs\Microsoft SQL Server и выберите Enterprise Manager.
Занятие 3 Утилиты Osql, Query Analyzer и Enterprise Manager Откроется окно SQL Server Enterprise Manager. В контейнере, расположенном на самом верхнем уровне дерева в левой части окна, отображаются два дерева: Micro soft SQL Servers и Event Viewer (Local).
17. Щелкните контейнер дерева Event Viewer (Local), расположенного в левой части окна SQL Server Enterprise Manager.
В правой части окна будут отображаться все журналы событий, имеющиеся в Event Viewer. Обратите внимание, что при перемещении по уровням деревьев в левой части окна в панели корневого каталога консоли в левой части окна отображают ся разные элементы меню и инструментальные средства. В строке заголовка для контейнера, расположенного на самом верхнем уровне дерева в левой части окна, указывается название выбранного в нем элемента.
18. Щелкните контейнер дерева Microsoft SQL Servers, расположенного в левой части окна SQL Server Enterprise Manager.
При этом вид панели инструментов изменится. Элементы, относящиеся к Event Viewer, расположенные на панели контейнера в самом верхнем уровне дерева в левой части окна, замещаются элементами меню и инструментальными средства ми SQL Server Enterprise Manager.
19. Раскройте структуру контейнера Microsoft SQL Servers, а затем Ч SQL Server Group.
В дереве, расположенном в левой части окна Microsoft SQL Servers, содержатся два экземпляра SQL Server: установленный по умолчанию (SelfPacedCPU) и име нованный (MyNamedlnstance). Для каждого экземпляра имеется отдельный кон тейнер;
значок рядом с именем экземпляра отображает состояние службы SQL Server для данного экземпляра. Для каждого экземпляра SQL Server в скобках так же указывается способ проверки подлинности, используемый для соединения с ним (например, Windows означает проверку подлинности средствами Windows).
Примечание Если именованный экземпляр еще не зарегистрирован в SQL Server Enterprise Manager, щелкните правой кнопкой SQL Server Group, затем выберите New SQL Server Registration. Чтобы зарегистрировать сервер, следуйте указаниям программы-мастера.
Обратите внимание, что при выборе контейнера Microsoft SQL Servers и раскры тии его структуры в дереве, расположенном в левой части окна, вид контейнера Microsoft SQL Servers и его содержимое в правой области окна не изменяется.
Содержимое правой области окна изменяется только в том случае, если вы выбе рете другой элемент в дереве.
20. Щелкните контейнер экземпляра SQL Server, установленного по умолчанию.
При этом в правой области окна отображается содержимое данного контейнера.
Обратите внимание, что вид значка, означающего состояние службы SQL Server, изменился: вместо зеленого треугольника в белом круге теперь отображается бе лый треугольник в зеленом круге. Это говорит о том, что с данным экземпляром SQL Server установлено соединение.
21. В панели инструментов SQL Server Enterprise Manager раскройте меню View.
Обратите внимание на элементы, которые содержит это меню. Среди них есть Taskpad. В правой области окна отображается структура выбранного вами объекта контейнера.
22. Выберите меню Taskpad.
Подготовка к работе с SQL Server 2000 Глава Вид правой области окна изменился, и теперь в нем отображаются элементы па нели задач (Taskpad) для данного объекта контейнера. Панель задач содержит две вкладки: General и Wizards. На вкладке General содержится информация о конфи гурации вашего компьютера и сервера. На вкладке Wizards перечислены програм мы-мастеры, которыми вы можете пользоваться. Список мастеров имеется также в меню Tools. Работа с этими мастерами рассматривается в следующих главах.
23. В дереве, расположенном в левой части окна Microsoft SQL Servers, правой кноп кой щелкните контейнер экземпляра SQL Server, установленного по умолчанию, и выберите Edit SQL Server Registration Properties.
В открывшемся окне просмотрите свойства зарегистрированного экземпляра SQL Server.
24. Щелкните Cancel.
25. Закройте окно SQL Server Enterprise Manager.
Резюме В SQL Server 2000 имеется набор инструментальных средств клиента и утилит для администрирования. Osql Ч это утилита командной строки. Она используется для составления и отправки SQL Server 2000 пакетов операторов Transact-SQL. SQL Query Analyzer Ч графическая утилита, используемая для интерактивной отладки операто ров и пакетов Transact-SQL. SQL Query Analyzer используется для создания и адми нистрирования объектов SQL Server 2000. Приложение SQL Server Enterprise Manager используется для администрирования объектов SQL Server 2000. SQL Server Enterprise Manager представляет собой предварительно сконфигурированную консоль ММС, настройки которой можно изменять. Администратору БД необходимо ознакомиться с каждым из этих инструментальных средств, так как эти утилиты часто используют ся в повседневной работе администратора.
Х Закрепление материала Закрепление материала _? J Приведенные ниже вопросы помогут вам лучше усвоить основные темы дан ной главы. Если вы не сумеете ответить на вопрос, повторите материал соот ветствующего занятия. Правильные ответы приведены в приложении Воп росы и ответы в конце книги.
1. Вы установили SQL Server 2000 на отдельный компьютер, предназначенный для оценки возможностей новой версии. Пользователь Gloria, администратор БД ва шей компании, зарегистрировалась на SQL Server 2000 и попыталась просмотреть добавленные файлы. Она сообщила, что не может просмотреть все файлы, добав ленные в процессе установки. Что могло привести к такой ситуации? Свидетель ствует ли это о возникших ошибках и нужно ли предпринимать какие-либо дей ствия в этом случае?
2. Вы установили SQL Server 2000 на отдельный компьютер, предназначенный для оценки возможностей новой версии. В процессе установки в качестве учетной за писи, используемой службами SQL Server и SQL Server Agent, использовалась учет ная запись пользователя локальной системы. Вы решили изменить конфигурацию и использовать специальную учетную запись пользователя домена для этих служб.
Как в этом случае нужно изменить учетную запись, используемую данными служ бами?
3. Вы установили SQL Server 2000 на отдельный компьютер, предназначенный для оценки возможностей новой версии. Вам необходимо проверить, что с SQL Server 2000 можно установить соединение и выполнить настройку свойств объектов SQL Server 2000. С какой утилитой вы должны работать в этом случае и почему?
ГЛАВА Переход на SQL Server Занятие 1, Подготовка к переходу на SQL Server 2000 Занятие 2. Обновление SQL Server 7.0 Занятие 3. Оперативное обновление баз данных SQL Server 7. Занятие 4. Обновление SQL Server 6.5 В этой главе В этой главе рассказывается о подготовке к переходу с текущей версии на SQL Server 2000. Вы узнаете о том, что для этого нужно сделать, например, как сохранить суще ствующую версию SQL Server, чтобы работать с ней впоследствии. Кроме того, здесь рассказывается о требованиях к аппаратному и программному обеспечению и рас сматриваются два способа обновления SQL Server 7.0. Вы обновите SQL Server 7.0 и его БД без остановки служб. Также вы узнаете, как осуществить переход с SQL Server 6.5 на 2000.
Прежде всего Для выполнения упражнений этой главы не требуется дополнительная подготовка.
Переход на SQL Server 2000 Глава gg Занятие 1. Подготовка к переходу на SQL Server Если вы используете SQL Server 6.5 или 7.0, необходимо составить план подготовки к переходу на SQL Server 2000. Но сначала нужно уяснить некоторые особенности ус тановки новой версии, в частности, определить, будете ли вы в дальнейшем исполь зовать SQL Server 6.5 или 7.0. Следует также подумать о том, как сократить время установки. Также для перехода на новую версию необходимо знать требования, предъявляемые к системе и программному обеспечению. Наконец, нужно подгото вить имеющийся у вас экземпляр SQL Server непосредственно к обновлению версии.
Изучив материал этого занятия, вы сможете:
работать с различными версиями SQL Server;
ХS выбирать подходящий способ и порядок установки новой версии;
S решить, требуется ли обновление аппаратного и программного обеспечения;
Х/ подготовить текущую версию SQL Server к обновлению.
s Продолжительность занятия Ч около 30 минут Работа с различными версиями SQL Server SQL Server 2000 позволяет работать с несколькими версиями SQL Server, установлен ными на одном компьютере. Это достигается двумя способами: с помощью так назы ваемого механизма переключения версий (version switching) или с использованием раз ных экземпляров SQL Server. Эти способы предоставляют возможность одновремен ной установки версий SQL Server 6.5, 7.0 и 2000 на одном компьютере, но одновре менно работать можно будет только с двумя из них (одной обязательно должен быть SQL Server 2000).
Механизм переключения версий Механизм переключения версий позволяет устанавливать SQL Server 7.0 или 2000 как используемый по умолчанию экземпляр на компьютер, где уже установлен SQL Server 6.5. Затем с помощью утилиты Vswitch.exe вы можете переключаться с SQL Server вер сии 6.5 либо на 7.0, либо на 2000 (но не на обе) и наоборот. Использование переклю чателя версий позволяет переходить на другую версию;
при этом он определяет, ка кая из них (включая весь ее инструментарий) является активной и выбрана по умол чанию в данное время. Механизм переключения версий не позволяет нескольким версиям работать одновременно. Утилита Vswitch добавлена в главное меню Windows, в группу программ Microsoft SQL Server. Файл этой утилиты находится в каталоге \Program Files\Microsoft SQL Server\Mssql\Binn.
Примечание Утилиту переключения версий нельзя использовать для переключения между SQL Server 7.0 и 2000. Переключение возможно только с SQL Server 6.5 на или 7.0.
Именованные экземпляры Использование этого варианта позволяет устанавливать и запускать именованный экземпляр SQL Server 2000 на компьютере, где уже установлен SQL Server 6.5 или 7. Подготовка к переходу на SQL Server Занятие 1 QQ и где еще не выполнялся переход к новой версии. Выбрав этот вариант, вы сможете сохранить текущую версию SQL Server и в то же время работать с SQL Server 2000.
Установка SQL Server 2000 как именованного экземпляра на компьютер, где уже на ходится SQL Server 7.0, Ч это единственный способ сохранить SQL Server 7.0 как вер сию, не используемую по умолчанию. После установки SQL Server 2000 как имено ванного экземпляра на компьютер, где уже установлен SQL Server 7.0, весь инстру ментарий пользователя для SQL Server 7.0 для всех экземпляров будет обновлен до версии SQL Server 2000.
Примечание SQL Server 6.5 или 7.0 можно устанавливать только как версию, исполь зуемую по умолчанию. Только SQL Server 2000 может быть установлен как именован ный экземпляр.
Выбор подходящего способа и порядка установки При переходе с SQL Server 6.5 на 2000 имеется только один возможный вариант об новления, но есть несколько различных способов. При выборе способа обновления нужно учитывать необходимость одновременной работы с SQL Server 6.5 и с после установки SQL Server 2000.
При обновлении SQL Server 7.0 до 2000 вы можете выбрать один из двух методов обновления. При этом учитывайте необходимость сохранения параметров настройки сервера и параметров, относящихся к репликации данных, для текущей и новой вер сий, а также постарайтесь сократить время вынужденного простоя сервера во время обновления. Подумайте о том, какой экземпляр SQL Server 2000 вам лучше устано вить Ч экземпляр по умолчанию или именованный, и не забывайте о том, что вам может понадобиться работать с различными версиями SQL Server на одном компьютере.
SQL Server 6. При переходе с SQL Server 6.5 на 2000 необходимо использовать SQL Server Upgrade Wizard (перед тем как приступать к обновлению, необходимо установить пакет SQL Server 6.5 SP5). После завершения установки вам может потребоваться обновить име ющиеся пользовательские БД наряду с системными. SQL Server Upgrade Wizard по зволяет выполнить обновление, сохранив параметры репликации и SQL Executive, a также большинство параметров конфигурации сервера. Если в процессе перехода к новой версии возникают сбои и установку не удается завершить, система автомати чески восстанавливается, и процесс установки возобновляется. При переходе к SQL Server 2000, SQL Server 6.5 не может находиться в рабочем режиме, и должен быть недоступен для пользователей.
Примечание Если вы хотите обновить только имеющиеся у вас данные для работы с SQL Server 2000, не устанавливая саму версию, используйте графическую утилиту DTS или утилиту Ьср, запускаемую из командной строки. Также можно использовать запрос между связанными серверами. Подробнее об этом Ч в главе 7.
С помошью SQL Server Upgrade Wizard можно устанавливать SQL Server 2000 на компьютер, где установлен SQL Server 6.5, с локального диска или с ленты. Первый вариант выгоднее с точки зрения быстроты и надежности, поэтому ленту рекоменду ется использовать только при существенной нехватке свободного места на диске. С помощью SQL Server Upgrade Wizard также можно обновлять версии с компьютера, где установлен SQL Server 6.5, на другом компьютере, куда будет установлен SQL 5- 100 Переход на SQL Server 2000 Глава Server 2000. Следует особо отметить, что, какой бы способ обновления ни был выб ран, SQL Server Upgrade Wizard может установить только экземпляр SQL Server 2000, используемый по умолчанию, но никак не именованный.
После того как SQL Server Upgrade Wizard завершит установку, у вас будут две независимые версии SQL Server с двумя независимыми наборами идентичных дан ных (по крайней мере, сначала). Версия SQL Server 6.5 не удаляется во время уста новки, хотя все клиентские утилиты обновляются. Перед тем как удалить старую вер сию, проверьте, не возникли ли ошибки в процессе установки.
Примечание Если вы хотите, чтобы версия SQL Server 6.5 работала одновременно с SQL Server 2000 после обновления (для проверки правильности установки), выполните обновление версии SQL Server 6.5 с другого компьютера.
SQL Server 7. Если вы работаете с SQL Server 7.0 и хотите установить SQL Server 2000, у вас есть два пути. Первый Ч это обновление версии SQL Server 7.0 с использованием программы установки SQL Server 2000. В этом случае механизм переключения версий не будет работать, и вернуться к работе со старой версией невозможно. Программа установки SQL Server 2000 устанавливает SQL Server 2000, заменяя SQL Server 7.0. Все програм мные файлы (инструментарий и угилиты) обновляются, а все БД преобразуются для работы с SQL Server 2000. Все параметры репликации, параметры установки SQL Server Agent и большая часть параметров конфигурации сервера сохраняются. Одна ко трассировка SQL Server 7.0 Profiler и серверы, зарегистрированные в SQL Server Enterprise Manager, не сохранятся. Во время установки, а также после ее завершения SQL Server 7.0 не может находиться в рабочем режиме и должен быть недоступен для пользователей.
Второй путь Ч это использование утилиты Copy Database Wizard для оперативно го обновления БД и объединенных метаданных из выбранных пользовательских БД SQL Server 7.0. Метаданные включают в себя такие понятия, как информация о заре гистрированных пользователях и объекты пользовательских БД. При оперативной пе реустановке БД пользовательские БД частично или полностью обновляются, при этом SQL Server 7.0 не прекращает работать. Кроме того, при таком методе обновления ваша версия SQL Server 7.0 останется работоспособной после обновления. Если вы собираетесь использовать этот метод, необходимо установить SQL Server 2000 как именованный экземпляр на компьютер, где SQL Server 7.0 является экземпляром, используемым по умолчанию. Во время установки учитывайте, что Copy Database Wizard может устанавливать БД с удаленных серверов. Наконец, вы можете сделать так, чтобы оперативное обновление БД происходило в строго определенное время, потому что Copy Database Wizard создает пакет DTS, который планируется как от дельное задание (job). О пакетах DTS и задачах Ч в главе 7.
Примечание Оперативное обновление БД не затрагивает параметры SQL Server Agent и конфигурации системы. Кроме того, нельзя оперативно обновлять реплицируемые БД.
Обновление версии и репликация Если вы хотите обновить версии серверов, участвующих в процессе репликации, сна чала обновите сервер, работающий как промежуточный и передающий данные при Занятие 1 Подготовка к переходу на SQL Server репликации (Distributor). Затем обновляется сервер, публикующий данные (Publisher), и последним Ч сервер-подписчик (Subscriber). Если серверы обновляются в таком порядке, вы можете продолжать публиковать и копировать данные во время реплика ции, даже если на участвующих в ней серверах установлены разные версии SQL Server.
Если же в системе оперативно обновляется конфигурация или используется прото кол FTP (File Transfer Protocol), следует предпринять некоторые дополнительные дей ствия. Подробнее об этом Ч в электронном справочном руководстве SQL Server Books Online.
Примечание Для БД, участвующих в репликации, необходимо выбрать вариант об новления текущей версии;
если текущая версия Ч SQL Server 6.5, обновление должно выполняться на том же компьютере, где установлен сервер.
Требования к системе и программному обеспечению При переходе к новой версии ваша система должна удовлетворять всем требованиям, предъявляемым при установке SQL Server 2000. Кроме того, существуют также неко торые дополнительные требования к аппаратному и программному обеспечению, которым система должна удовлетворять при переходе с текущей версии на SQL Server 2000. Эти дополнительные требования различаются для разных версий SQL Server и способов обновления.
SQL Server 6. Обновляя версию SQL Server 6.5, работающую под управлением Windows NT 4.0 с того же компьютера, где он установлен, перед установкой SQL Server 2000 необходи мо установить Service Pack 5 для Windows NT 4.0 и Internet Explorer 5.0 (или более поздней версии). Также необходимо установить SQL Server 6.5 Service Pack 5 (или более поздней версии). Однако, если вы обновляете версии не на том компьютере, с которого будет выполняться установка, достаточно установить версию SQL Server 6. Service Pack 3 или более позднюю. Независимо от выбранного метода обновления SQL Server Upgrade Wizard будет использовать сетевую библиотеку Named Pipes (имено ванные каналы). Для этого необходимо настроить SQL Server 6.5 и 2000 для исполь зования канала по умолчанию (\\.\pipe\sql\query). Наконец, для перехода с SQL Ser ver 6.5 на 2000 требуется дополнительное свободное пространство на жестком диске (примерно в полтора раза больше, чем для пользовательских БД в SQL Server 6.5). но оно требуется только во время самой установки. Чтобы оценить требуемое количе ство памяти, можно использовать SQL Server Upgrade Wizard.
SQL Server 7. Для обновления версии SQL Server 7.0, работающей под управлением Windows NT 4.0, перед установкой SQL Server 2000 необходимо установить Service Pack 5 для Windows NT 4.0 и Internet Explorer 5.0 (или более поздней версии);
какие-либо допол нительные пакеты обновлений для SQL Server 7.0 устанавливать не нужно. При пере ходе с SQL Server 7.0 на 2000 используются именованные каналы, для чего необходи мо настроить SQL Server 7.0 и 2000 для использования канала, выбранного по умол чанию. Однако оперативное обновление БД (с помощью Copy Database Wizard) не осуществляется с помощью именованных каналов;
для этого будет использоваться любая имеющаяся сетевая библиотека. Наконец, переход с SQL Server 7.0 на 200(1 не 1Q2 Переход на SQL Server 2000 Глава требует наличия дополнительного свободного пространства на диске, хотя в процес се обновления с помошью Copy Database Wizard может понадобиться дополнитель ная память, если БД не переносится, а копируется.
Подготовка к переустановке Перед тем как приступать к обновлению, выполните следующие действия с рабочей версией SQL Server:
Х завершите все пользовательские сеансы и закройте доступ ко всем файлам в БД;
Х создайте резервные копии всех системных и пользовательских БД (включая mas ter);
Х проверьте целостность БД при помощи соответствующих команд Database Console Commands (DBCC), чтобы обеспечить согласованность БД (например DBCC CHECKDB);
Х если рабочая версия Ч SQL Server 6.5, установите объем системной БД tempdb не менее 10 Мб (рекомендуемое значение Ч 25 Мб);
Х если рабочая версия Ч SQL Server 6.5, проверьте, что в БД master есть как мини мум 3 Мб свободной памяти;
Х если рабочая версия Ч SQL Server 6.5, проверьте, что в БД master содержатся име на и пароли всех зарегистрированных пользователей;
Х если рабочая версия Ч SQL Server 6.5, остановите все хранимые процедуры, вы полняемые при запуске сервера;
в противном случае есть вероятность того, что установку не удастся завершить;
Х завершите все задачи;
Х закройте все приложения, особенно поддерживаемые SQL Server;
Х прекратите репликацию и очистите журнал репликации;
Х проверьте наличие свободного пространства на жестком диске, достаточного для переустановки;
Х проверьте, что все ссылающиеся и зависимые друг от друга фрагменты БД будут копироваться в одно и то же время;
например, создание объектов, у которых есть владельцы, возможно только после того, как в новую БД будет скопированы учет ные записи владельцев этих обьектов.
Резюме Вы можете выполнять обновление SQL Server 6,5 до 2000 на том же компьютере, где установлена рабочая версия, или на другом. При этом устанавливать новую версию можно только в качестве экземпляра по умолчанию. Когда обновление выполняется на том же компьютере, где установлена рабочая версия SQL Server 6.5, можно ис пользовать утилиту механизма переключения версий для перехода с одной версии на другую, чтобы проверить правильность установки. Вы можете либо обновлять SQL Server 7.0 на одном компьютере, либо осуществлять оперативную установку одной или нескольких БД с экземпляра на удаленном компьютере. Если вы осуществляете оперативное обновление БД, SQL Server 7.0 остается доступным. Однако такая пере установка не обновляет конфигурацию сервера и не может использоваться при реп ликации. Наконец, необходимо подготовить необходимые БД для обновления и сде лать копии, чтобы восстановить информацию в случае повреждения.
Занятие 2 Обновление SQL Server 7. 2. Обновление SQL Server 7. Во время установки SQL Server 2000 на компьютер, где установлен SQL Server 7.0, можно обновить текущую версию до 2000. После установки следует выполнить опре деленные действия, чтобы добиться наивысшей производительности обновленной версии. Но учитывайте, что некоторые объекты при этом не обновляются вообше, а некоторые должны обновляться отдельно от обшего процесса переустановки.
Изучив материал этого занятия, вы сможете:
/ обновить SQL Server 7.0 до 2000;
S перечислить действия, которые необходимо выполнить после установки;
S вручную обновить службы поддержки метаданных (meta data Services Information Models) и базу данных репозитория (repository database) Продолжительность занятия Ч около 15 минут Переход к версии SQL Server Чтобы начать процесс обновления версии, запустите программу установки SQL Server 2000. Если она обнаружит уже установленную версию SQL Server, то предложит вы брать дальнейший вариант обновления: обновить, удалить или добавить компоненты к существующему экземпляру SQL Server на вашем компьютере (рис. 4-1).
Рис. 4-1. Окно программы установки, позволяющее обновить версию, удалить или добавить компоненты Чтобы обновить SQL Server 7.0, выберите на своем компьютере экземпляр, уста новленный по умолчанию, а затем Ч вариант обновления текущей версии (рис 4-2).
Выбрав вариант обновления текущей версии SQL Server 7.0, вы определяете спо соб проверки подлинности для программы установки SQL Server, используемый для подключения к SQL Server 7.0. При этом программа установки проверяет возмож ность успешного соединения с SQL Server, автоматически запуская SQL Server 7.0, если это необходимо. После успешной проверки возможности установки соединения вам нужно выбрать вариант лицензирования (см. главу 2). После этого осуществляет ся переход с SQL Server 7.0 на 2000. Системные БД обновляются с помощью заранее 104 Переход на SQL Server 2000 Глава созданных сценариев;
происходит также обновление реестра. В этот же момент об новляются MDAC 2.6 и инструментарий пользователя, несмотря на то, что это об новление уже происходило при установке именованного экземпляра SQL Server 2000.
Salad or* af Ы Мои^ет dv, Рис. 4-2. Обновление версии Действия после установки После завершения установки системный администратор должен выполнить следую щие действия.
Х Проверить журналы ошибок SQL Server, а также файл Sqlstp.log, чтобы устранить возможные ошибки, возникшие при установке.
Х Обновить все полнотекстовые каталоги, если используется полнотекстовый по иск. В процессе установки параметры настройки всех полнотекстовых каталогов становятся недействительными, так как при обновлении версии SQL Server фор маты данных меняются. При планировании задач учитывайте, что обновление пол нотекстовых каталогов может занять много времени. Подробнее о поддержке пол нотекстовых каталогов Ч в главе 12.
Х Обновить данные статистики. При больших объемах БД это также может занять много времени, однако лучше выполнить это обновление, поскольку использова ние необновленных данных SQL Server 7.0 при работе с SQL Server 2000 может привести к существенному снижению производительности при выполнении за просов. Подробнее о процессе обновления статистических данных Ч в главе 7.
Х Зарегистрировать серверы. После обновления версии все серверы, зарегистриро ванные с помощью утилиты SQL Server Enterprise Manager для SQL Server 7.0, не регистрируются ее новой версией для SQL Server 2000 (за исключением обновлен ного локального экземпляра). Подробнее о регистрации серверов Ч в главе 12.
Обновление таблиц служб поддержки метаданных и базы данных репозитория вручную При переходе с текущей версии SQL Server на SQL Server 2000 службы Meta Data Services, необходимые для работы с DTS, не обновляются в ходе установки. Их та блицы придется обновить вручную, чтобы восстановить имеющуюся версию пакета DTS и использовать ее как входные и выходные данные служб поддержки метадан Занятие 2 Обновление SQL Server 7.0 1 nc _ Ч _. _ * vO ных. При таком обновлении структура таблиц служб поддержки метаданных позво ляет поддерживать новые функциональные возможности SQL Server 2000 и сохраня ет текущие данные БД репозитория в новой структуре таблиц. Описание и синтаксис команд, используемых для обновления таблиц служб поддержки метаданных вруч ную, можно найти в электронной документации SQL Server Books Online в разделе DTS Information model.
Кроме того, БД репозитория, используемую службами поддержки метаданных, также необходимо обновить вручную, чтобы можно было работать с новым механиз мом репозитория Repository Engine 3.0, устанавливаемым при переходе на SQL Server 2000. Описание и синтаксис команд, используемых для обновления БД репозитория вручную содержится в электронной документации SQL Server Books Online в разделе Upgrading and Migrating a Repository Database*. Подробнее о DTS, службах поддерж ки метаданных и репозитории служб поддержки метаданных (Meta Data Services repository) Ч в главе 7.
Резюме Программа установки SQL Server 2000 используется для перехода с текущей версии SQL Server на 2000. После окончания установки SQL Server 2000 полностью заменяет SQL Server 7.0, Для оптимизации работы обновленной версии системный админи стратор должен обновить данные статистики и полнотекстовые каталоги (если ис пользуется полнотекстовый поиск), Наконец, необходимо вручную обновить табли цы служб поддержки метаданных и репозитории, используемый службами поддерж ки метаданных, чтобы обеспечить возможность использования новых функциональ ных возможностей, имеющихся в SQL Server 2000.
Глава Переход на SOL Server Занятие 3. Оперативное обновление баз данных SQL Server 7. Во время оперативного обновления БД SQL Server 7.0 для работы с SQL Server используется мастер Copy Database Wizard. Вы можете обновлять БД на локальном компьютере, где установлен SQL Server 7.0, или на удаленном компьютере. Обновля емую БД можно копировать и перемещать. После установки необходимо выполнить некоторые действия для обеспечения наивысшей производительности обновленной версии.
Изучив материал этого занятия, вы сможете:
^ осуществлять оперативное обновление БД SQL Server 7.0 до 2000;
s определить, что нужно сделать после завершения обновления БД.
Продолжительность занятия - около 15 минут Оперативное обновление баз данных Для оперативного обновления БД испол ьзуется мастер копирования БД (Copy Database Wizard), который вызывается из SQL Server Enterprise Manager. Запустить его можно либо из меню Tools\Wizards, щелкнув правой кнопкой экземпляр SQL Server 2000 и затем выбрав All Tasks\Copy Database Wizard, либо щелкнув таблицу Wizards из экра на задач, если выбран соответствующий режим отображения (рис. 4-3).
Рис. 4-3. Запуск мастера Copy Database Wizard из меню All Tasks Занятие 3 Оперативное обновление баз данных SOt Server 7.0 Чтобы обновить БД с помощью Copy Database Wizard, сделайте следующее.
Запустите Copy Database Wizard, используя один из указанных выше методов. Ког да откроется окно Welcome To The Copy Database Wizard, щелкните кнопку Next.
В окне Select A Source Server выберите сервер, с которого вы хотите перенести или скопировать БД.
Примечание Поскольку процесс обновления БД выполняется сервером автомати чески, a Copy Database Wizard используется также для копирования и перемещения БД, все названия элементов интерфейса этого мастера отражают только процесс копирования и перемещения БД.
В окне Select A Source Server можно подключиться к любому экземпляру SQL Server (в том числе и к экземплярам, установленным на локальном компьютере).
Чтобы просмотреть список всех активных экземпляров SQL Server, щелкните кнопку рядом со списком. В окне Select Server выберите нужный сервер. Устанав ливать соединение можно, используя либо авторизацию Windows, либо учетную запись пользователя SQL Server, обладающую правами системного администрато ра на сервере, с которого копируется БД (рис. 4-4).
Рис. 4-4. Выбор сервера, с которого копируются данные 3. После того как выбран сервер, откуда будут скопированы данные, в окне Select A Destination Server нужно выбрать сервер, на который они будут копироваться. Для этого щелкните кнопку рядом со списком, чтобы просмотреть список активных экземпляров SQL Server. Выбираемый сервер не должен быть тем экземпляром, с которого вы запускаете Copy Database Wizard. При копировании или перемеще нии БД с сервера на сервер обратите внимание на один момент: учетная запись, используемая службой SQL Server на сервере, куда перемещаются данные, должна быть учетной записью пользователя домена, имеющей соответствующие права на копирование файлов в сети. Учетная запись пользователя локальной системы та ких прав не имеет, и поэтому она может использоваться только в том случае, если сервер, откуда копируются данные, и сервер, на который они копируются, уста новлены на одном компьютере. Устанавливать соединение с сервером при копи ровании данных можно, используя либо средства проверки подлинности Windows, Глава 108 Переход на SQL Server либо учетную запись пользователя SQL Server, обладающую правами системного администратора на сервере, куда копируются данные (рис. 4-5).
Х М.,.. г ч,.C'.Ul '-Х I Х' Х....,).Х. Х. г.
Рис. 4-5. Выбор сервера, на который колируются данные 4. Далее необходимо выбрать перемещаемую или копируемую пользовательскую БД.
В окне Select The Databases To Move Or Copy выберите ее название. Чтобы пере местить или скопировать несколько БД одновременно, установите флажки напро тив их имен в полях Move или Сору. При перемещении или копировании БД учи тывайте, что переместить или скопировать БД с именем, уже существующим на сервере, куда копируются данные, нельзя. Эти проблемы с именами БД необходи мо разрешить до запуска Copy Database Wizard, поскольку непосредственно во время перемещения или копирования имена БД изменять нельзя. Кроме того, нельзя перемещать системные БД Ч подобные операции возможны только с пользовательскими БД (рис. 4-6).
Рис. 4-6. Выбор пользовательской БД 5. Выбрав БД для перемещения или копирования, можно изменить установленное по умолчанию место размещения данных и файлов журнала в окне Database File Location. Щелкнув кнопку Modify, выберите новое место размещения. Для этого в диалоговом окне Database Files щелкните кнопку (...) напротив пути к файлам, ко Оперативное обновление баз данных SQL Server 7. торый требуется изменить. В диалоговом окне CDW выберите новый путь, кото рый будет использоваться по умолчанию. Указывая новый путь к файлам БД, вы можете в поле Destination Files изменять имена файлов, создаваемых на сервере, куда копируются данные (но не имя самой БД). На экземпляре SQL Server, на который копируется или перемешается БД, для хранения файлов БД по умолча нию используется папка Data. В диалоговом окне Database Files также содержится информация об объеме свободного места на диске, куда копируются данные (рис. 4-7).
Рис. 4-7. Изменение местоположения файлов данных и журнала по умолчанию 6. По умолчанию все учетные записи копируемых или перемещаемых БД, а также все учетные записи пользователей, которые применяются в хранимых процеду рах, задачах и пользовательских сообщениях об ошибках, копируются вместе с БД.
Но вы можете изменить этот режим и выбрать для копирования лишь несколько отдельных учетных записей в окне Select Related Objects (рис. 4-8).
Sdecl Related Objectt You cai copy :ogЩ *Щlhe databases. Sored piocediiei. jobs, and eno Г -".-'. i, '-Х'. UJ ill.:,'л].!.,1.lf'..~.l.-l|'-i'.:-.''.l'1.
Х" ' era Рис. 4-8. Выбор обновляемых объектов БД Переход на SQL Server 7. В окне Schedule The DTS Package вы можете установить время начала копирова ния или перемещения БД, чтобы оно происходило либо немедленно, либо в опре деленное время, либо как запланированный пакет DTS с отложенным исполне нием. При этом проверьте, что пакет DTS может перевести в режим монопольно го доступа БД, используемые в качестве источника, чтобы затем копировать их или перемешать. В противном случае работа пакета DTS будет прервана с соответ ствующим сообщением об ошибке. Если Server Enterprise Manager (или любой дру гой клиент) подключается к серверу, используемому как источник данных во вре мя работы пакета, такое соединение автоматически прерывает работу пакета (рис. 4-9).
Рис. 4-9. Планирование выполнения пакета DTS 8. В зависимости от того, какая операция выполняется (копирование или перемеще ние файлов), открывается либо окно Completing The Copy Database Wizard, либо Completing The Move Database Wizard. Проверьте правильность параметров копи рования затем щелкните кнопку Finish (рис. 4-10).
Completing the Copy Database Wizard Рис. 4-10. Завершение работы мастера Copy Database Wizard Занятие 3 Оперативное обновление баз данных SQL Server 7.0 9. В диалоговом окне Log Detail (рис. 4-11) указано фактическое время копирования или перемещения. Здесь же содержится информация о состоянии каждого файла, а также-указаны все сообщения об ошибках, произошедших во время работы, Рис. 4-11. Окно Log Detail с информацией об установке Примечание При перемещении с сервера на сервер или с диска на диск данные, от носящиеся к перемещаемой базе, и файлы журнала не удаляются из файловой системы Ч БД просто отделяется от сервера, с которого перемещаются данные, и присоединяется к конечному серверу.
Действия после установки После успешного завершения оперативной установки БД с помощью мастера Сору Database Wizard системному администратору необходимо выполнить следующие дей ствия.
Х Обновить все полнотекстовые каталоги, если используется полнотекстовьш по иск. После завершения установки использовать полнотекстовые каталоги невоз можно, так как при обновлении происходит смена форматов. При планировании выполняемых задач следует учитывать,что обновление может занять много вре мени. О поддержке полнотекстовых каталогов Ч в главе 12.
Х Обновить статистические данные. Это также занимает много времени, но исполь зование данных SQL Server 7.0 при работе с SQL Server 2000 может привести к снижению производительности при выполнении запросов. Об обновлении стати стических данных Ч в главе 7.
Х Удалить данные, относящиеся к перемещенной базе, и файлы журнала после про верки обновленной БД, Резюме Мастер Copy Database Wizard используется для обновления БД SQL Server 7.0 для ра боты с SQL Server 2000. После установки версия SQL Server 7.0 остается работоспо собной. Обновленные БД можно перемешать или копировать. В первом случае дан ные, относящиеся к перемещаемой базе, и файлы журнала обычно не удаляются с компьютера, откуда они были перемешены, и их нужно удалять вручную. Если ис пользуется полнотекстовый поиск, системному администратору нужно обновить все полнотекстовые каталоги, чтобы оптимизировать производительность обновленной версии.
Переход на SQL Server 2000 Глава Обновление SQL Server 6. Версия SQL Server 6.5 обновляется путем запуска SQL Server Upgrade Wizard на ком пьютере, где SQL Server 2000 используется в качестве экземпляра, установленного по умолчанию. Переход SQL Server 6.5 на 2000 сложнее, чем с 7.0, и в этом случае более вероятно, что некоторые объекты не будут обновлены корректно. При этом может потребоваться диагностика возникших ошибок. Имейте в виду, что в связи с некото рыми особенностями версии, возможно, понадобится указать уровень преемственной совместимости (backward compatibility level), чтобы установка SQL Server 2000 про шла без осложнений.
Изучив материал этого занятия, вы сможете:
s выполнить переход с SQL Server 6,5 на 2000;
s решить все вопросы по обновлению SQL Server 6.5;
s задать уровень преемственной совместимости для обновленных БД.
Продолжительность занятия Ч около 30 минут Обновление версии Для перехода с SQL Server 6.5 на 2000 запустите SQL Server Upgrade Wizard с компью тера, на котором SQL Server 2000 используется в качестве экземпляра, установленно го по умолчанию. Для этого в группе программ Microsoft SQL Server выберите Switch.
Этот мастер (утилита Upgrade.exe) имеется на любом компьютере, где SQL Server установлен в качестве экземпляра, используемого по умолчанию, в каталоге Upgrade Ч \Program Files\Microsoft SQL Server\Mssql\Upgrade (рис. 4-12).
*v, i.1 № J Рис. 4-12. Запуск мастера SQL Sener Upgrade Wizard Занятие 4 Обновление SOL Server 6.5 Для подключения к серверу SQL Server 2000 необходимо использовать проверку подлинности SQL Server. В связи с тем, что используемый по умолчанию режим проверки подлинности SQL Server 2000 допускает только проверку подлиннос ти средствами Windows, возможно, придется изменить параметры конфигурации SQL Server 2000, чтобы разрешить проверку подлинности средствами SQL Server. Для этого необходимо перезапустить службу SQL Server. О том, как изменить режим проверки подлинности, Ч в главе 10.
Запустив мастер SQL Server Upgrade Wizard, выполните следующее.
1. Перед запуском SQL Server Upgrade Wizard внимательно ознакомьтесь с раздела ми электронной справочной системы Upgrading в Books Online, несмотря на то, что основные вопросы обсуждаются в этом занятии. Различия между SQL Server 6.5 и 2000 весьма существенны (рис. 4-13).
Welcome to the SQL Server Upgrade Wizard This wizard is designed to transfer your server configuration and databases horn a single E 5 SQL Serve to the copy of SQL Server 2000 ч stalled on this machine.
During this process fas application wl reed to stop and Хestail both ).лir SQL Serveis ВвСогвуоисопгтв.рЬая make sjrs that you carefully read the Upgrading topics in Books Online.
Рис. 4-13. Мастер SQL Server Upgrade Wizard 2. В окне Data And Object Transfer мастер поможет вам выбрать метод установки.
Непосредственно обновление можно производить на одном компьютере, исполь зуя для передачи данных либо именованные каналы, либо внешнее устройство Ч ленту (соответствующий элемент управления будет доступен, только если на ло кальном компьютере имеется устройство для чтения и записи на ленту). Вы также можете включить дополнительную проверку, например выбрать режим, в котором мастер SQL Server Upgrade Wizard будет подтверждать успешное перемещение объектов данных. В этом случае мастер составляет список всех объектов в БД SQL Server 6.5 и количество записей в каждой таблице до обновления, и затем сравни вает этот список со списком, полученным после установки. Если в этих двух спис ках возникнут какие-либо несоответствия, мастер сообщает о них. Эта проверка выполняется в дополнение к сообщениям о различных проблемах при создании объектов БД. Сообщения об ошибках по умолчанию записываются в журналы ошибок. Мы настоятельно рекомендуем выбирать такой низкий уровень провер ки. Следующий уровень Ч это выполнение полного побайтового сравнения каж дого поля в каждой таблице и вычисления контрольной суммы с целью убедиться, что данные не изменились в результате обновления. Этот уровень проверки зна чительно увеличивает время установки. Ошибки обнаруживаются очень редко, Глава Переход на SQL Server однако при наличии достаточного количества времени этот дополнительный уро вень проверки также рекомендуется выполнять (рис. 4-14).
Рис. 4-14. Выбор способа и параметров установки 3. В окне Logon укажите имя компьютера с установленной на нем версией SQL Ser ver 6.5, которую вы хотите обновить. Этот сервер называется экспортирующим (export server). По умолчанию им является компьютер, на котором запускается мастер, но вы можете выбрать любой другой компьютер в домене. Сервер, на ко торый вы устанавливаете новую версию, должен быть сервером, на котором рабо тает мастер, Ч импортирующим (import server).
Примечание Если вы обновляете реплицируемую БД, необходимо осуществлять пе реустановку на одном компьютере. Во время обновления должен быть установлен уро вень совместимости БД 70.
Рис. 4-15. Ввод необходимых для проверки подлинности реквизитов экспортирующего и принимающего серверов Кроме того, для обоих серверов Ч экспортирующего и принимающего Ч необхо димо указать пароль учетной записи администратора SQL Server. В поле Optional Занятие Обновление SQL Server 6. startup arguments для обоих серверов можно ввести необязательные параметры за пуска (рис. 4-15).
4. После того как будет выбрано имя сервера, где обновляется версия, а также дан ные, необходимые для проверки подлинности, и необязательные параметры за пуска для обоих серверов, мастер выводит окно с предупреждением, что работа обоих экземпляров SQL Server должна быть приостановлена, а затем оба сервера должны быть вновь запушены. При этом будут использоваться уже новые данные для проверки подлинности и параметры запуска. Выполняя соответствующую про верку, мастер также получает из БД информацию о кодовой странице, используе мой SQL Server 6.5.
Далее открывается окно Code Page Selection. Мастер требует выбрать кодовую стра ницу, которая используется для создания сценариев обновления версии. Большин ство пользователей выбирают используемую по умолчанию. Кодовая страница, ис пользуемая в сценариях обновления, должна соответствовать кодовой странице обновляемой БД (рис. 4-16).
Code Page Selection ' Eomeuseis may need an atleinale code page Most users shcJd use the de'ault.
. -, (.
Рис. 4-16. Выбор кодовой страницы для сценариев обновления В окне Upgrade Databases To SQL Server 2000 выберите БД, которые нужно обно вить. БД master, msdb, publication, pubs и Northwind выбрать нельзя. Обновлять можно только БД model, а также все пользовательские БД. Рекомендуется обнов лять все БД одновременно (рис. 4-17).
После того как вы выбрали БД, которые необходимо обновить, мастер проверяет путь к устройствам БД SQL Server 6.5. Эта информация используется для создания файлов БД в SQL Server 2000.
6. Далее открывается окно Database Creation. Мастер создает файлы данных и жур нала для обновляемых БД. Размер файлов данных выбирается так, чтобы размес тить все перемещаемые объекты и данные, однако дополнительное свободное ме сто в БД не предусмотрено. Размер файлов журнала определяется, исходя из раз мера файлов журнала в SQL Server 6.5. Файлы данных и журнала размещаются на диске там же, где размешались первое устройство БД и журналы SQL Server 6.5.
Если в SQL Server 6.5 использовалось несколько устройств БД, то в SQL Server 2000 будет создано несколько файлов данных, но размер основного выбирается так, чтобы в нем содержались все объекты и данные. Дополнительные файлы име ют минимальный размер. В окне Database Creation вы можете определить нужную 116 Глава Переход на SQL Server конфигурацию файлов БД и журналов, изменив конфигурацию, установленную по умолчанию. Для этого можно использовать либо БД, предварительно создан ные в SQL Server 2000, либо сценарии Transact-SQL (рис. 4-18). Щелкнув кнопку Edit в окне Database Creation, откройте окно SQL Server Upgrade Wizard. Здесь вы можете изменить имя, место размещения файла и его первоначальный размер, а также величину приращения при автоматическом увеличении размера файла (рис. 4-19).
ade Databatet to SQL SKVW ou can chooл (tie dilaba: yea ran la leconmended thai you accept Ihe default Рис. 4-17. Выбор обновляемых БД Dalabaie Creation How do you tvanl to cieate your 'SQL S I Рис. 4-18. Задание параметров конфигурации БД при обновлении 7. Далее в окне System Configuration необходимо выбрать системные объекты, кото рые нужно сохранить при переходе на новую версию. К ним относятся данные о конфигурации сервера (информация о локальной системе и зарегистрированные учетные записи для удаленного входа в систему), параметры репликации (вклю чая все группы данных, публикуемые и принимаемые данные) и параметры на стройки SQL Executive (включая все задачи и установленные расписания). Кроме того, для БД необходимо установить режимы ANSI_NULLS и QUOTED_IDEN TIFIER. Мастер использует эти установки для всех создаваемых им объектов БД.
Дополнительная информация содержится в разделе System Configuration* cnpa Обновление SQL Server 6.5 вочной системы SQL Server Books Online. Значения параметров, которые необхо димо установить, сильно зависит от конфигурации БД SQL Server 6.5 и от того, каким образом в них создавались объекты (рис. 4-20).
в С Sef PstedSQUJpgrade Я- ^DeFauHFleGiDup Х Я d b'ogram FifesvnicHBoFt sql в d. \pfogram Filesl/tilcrosofl: sql serv b: E tempdb л Q Default File Group в d:\tempACлte.ndf - Oj Log Х в d:\teniBclbLog.idf Ш Рис. 4-19. Изменение конфигурации БД ilKm Configuration For your system corfiguaHnn.jiou cai ctwcse jystom octets to tr '-... г.
ь ' ;
, Рис. 4-20. Выбор сохраняемых системных объектов 8. Окно Completing The SQL Server Upgrade Wizard завершает работу с мастером.
Здесь содержится информация о выбранных вами параметрах. Вы можете просмо треть информацию о различных предупреждениях, сгенерированных системой.
Чтобы начать процесс установки новой версии, щелкните кнопку Finish (рис. 4-21).
Во время установки в диалоговом окне SQL Server Upgrade Script Interpreter ото бражается информация о каждом выполняемом действии. После завершения про цесса обновления система выдает соответствующее предупреждение (рис. 4-22).
Если в процессе обновления происходит ошибка, подробная информация о ней также отображается на экране, Глава Переход на SQL Server Completing the SCtL Server Uparade Wizard You have мСвюЬф cornpWed Ihe SOL Ssrvei Upgrade Weald Your choices fox uperade ас- shown below Рис. 4-21. Завершение работы мастера SQL Server Upgrade Wizard Рис. 4-22. Сообщение об окончании установки Устранение ошибок при обновлении SQL Server 6. Если SQL Server Upgrade Wizard обнаружил ошибки во время обновления, то во вре мя установки система выдаст вам соответствующее предупреждение. Информация об ошибках содержится также в журналах установки, которые создает мастер, отмечая в них все возникшие во время обнсвления проблемы. Типичная ошибка Ч невозмож ность создать некоторые объекты или таблицы (в этом случае вам придется создавать их вручную после обновления). Вот наиболее вероятные причины этого:
Х отсутствует текст в таблице syscomments;
Х объекты были переименован!.! с использованием sp_rename (соответствующая строка в таблице syscomments не обновлялась при переименовании объекта);
Х использовались вложенные хранимые процедуры (в таблице syscomments нет стро ки, относящейся к вложенной процедуре);
Х в таблицах и представлениях в качестве имен столбцов используются значения NULL (при этом мастер не может описать данные объекты);
-| -\ Q Занятие 4 Обновление SQL Server 6. Х таблицы создавались с использованием учетной записи пользователя, не имею шего на это прав;
Х хранимая процедура изменяет или ссылается на системную таблицу, не существу ющую в SQL Server 2000.
Еще одна проблема, которая может возникнуть, Ч это различные имена вашего компьютера и сервера. Имя сервера выдает функция @@SERVERNAME. Чтобы из менить имя сервера и согласовать его с именем компьютера, используйте системные хранимые процедуры sp_dropserver и sp_addserver.
Выбор уровня совместимости с прежней версией для обновленных баз данных Если вы обновляете БД SQL Server 6.5 для работы с SQL Server 2000, вполне вероят но, что в обновленных БД будут созданы новые объекты, которые будут использоиать измененные при обновлении параметры. На работу большинства приложений эти изменения не влияют, но иногда приложения приходится обновлять. В SQL Server 2000 вы можете установить уровень совместимости с прежней версией, который по зволяет сохранить прежний режим работы и в то же время поддерживает почти все присущие SQL Server 2000 возможности, Такой режим позволяет отложить обновле ние приложений. Выбор уровня совместимости с прежней версией затрагивает лишь небольшое количество операторов Transact-SQL. После обновления версии проверь те все приложения, имеющиеся в системе. Если необходимо установить соответству ющий уровень совместимости с прежней версией для обновленной БД, используйте системную хранимую процедуру sp_dbcmptlevel. Вы можете выбрать одно из следую щих значений уровней совместимости: 60, 65, 70, и 80. Уровень совместимости мож но также установить с помощью SQL Server Enterprise Manager. Для этого щелкните правой кнопкой БД, выберите пункт меню Properties, затем Ч вкладку Options и уста новите нужный уровень совместимости.
Примечание В следующих версиях SQL Server Microsoft уровни совместимости 60 и 65, вероятно, не будут поддерживаться.
Резюме SQL Server Upgrade Wizard позволяет перейти с текущей версии на SQL Server 2000, выбрав вариант экземпляра, устанавливаемого по умолчанию. Этот экземпляр может устанавливаться и на том же компьютере, где установлен SQL Server 6.5, и на любом другом. После завершения перехода версия SQL Server 6,5 обновляется до SQL Server 2000, но не удаляется, что позволяет проверять правильность установки. Просмотр журналов установки позволяет определить, какие объекты не были обновлены при переходе к новой версии. После завершения перехода к новой версии проверьте име ющиеся в системе приложения и при необходимости используйте уровни совмести мости с прежней версией, пока приложения не будут обновлены.
' 120 Переход на SOL Server 2000 Глава Закрепление материала 7J Приведенные ниже вопросы помогут вам лучше усвоить основные темы дан ной главы. Если вы не сумеете ответить на вопрос, повторите материал соот ветствующего занятия. Правильные ответы приведены в приложении Воп росы и ответы в конце книги.
1. Вы планируете перейти с SQL Server 7.0, работающего под управлением Windows NT 4.0, на SQL Server 2000. Вы хотите протестировать версию SQL Server 2000 на том же компьютере, где установлен SQL Server 7.0, и вам также необходимо сохра нить версию SQL Server 7.0 в рабочем состоянии. Как вы будете выполнять обнов ление в данном случае?
2. Вы недавно перешли с SQL Server 7.0 на 2000. Хотя общие характеристики сервера улучшились, полнотекстовый поиск не работает. В чем причина?
3. Вы решили, что у вас недостаточно времени для полного обновления текущей вер сии SQL Server 7.0 и также решили выполнить оперативное обновление для своих производственных БД. Какие параметры настройки и объекты вы будете обнов лять вручную?
4. Вы протестировали SQL Server 2000 на компьютере, где работает SQL Server 6.5, и решили обновить текущую версию. Однако вы не можете определить местонахож дение мастера SQL Server Upgrade Wizard. Его нет в меню Start, и вы не можете найти его на жестком диске. Почему?
ГЛАВА Системные и пользовательские базы данных Занятие 1. Архитектура базы данных Занятие 2. Структура журнала транзакций Занятие 3. Система запросов и каталоги баз данных В этой главе Прежде чем создавать и конфигурировать пользовательские БД, вам необходимо уз нать, как организованы БД SQL Server 2000 на физическом уровне. Кроме того, нуж но ознакомиться с тем, как устроен журнал транзакций и как он работает, какие наи более широко используемые системные таблицы существуют в системном каталоге и каталогах БД, как выполнить запрос к этим таблицам для получения данных, описы вающих системные и пользовательские БД, Ч метаданных.
Прежде всего Для изучения материалов этой главы вам потребуются:
Х компьютер, соответствующий минимальным аппаратным требованиям, перечи сленным в главе 2;
Х Microsoft Windows 2000 Server, установленная на разделе диска с файловой систе мой NTFS;
Х компьютер, сконфигурированный как сервер или контроллер домена SelfPaced SQL;
Х один установленный по умолчанию и по крайней мере один именованный экзем пляр SQL Server 2000.
122 Системные и пользовательские базы данных Глава Занятие 1. Архитектура базы данных Как уже упоминалось, любая БД SQL Server 2000 (и системная, и пользовательская) включает в себя как минимум один файл данных (data file) и один файл журнала тран закций (transaction log file). В этом занятии речь пойдет об архитектуре файлов дан ных, о том, как выделяется пространство и каким образом происходит управление им. Также здесь обсуждается организация страницы данных и страницы индексов внутри файлов данных.
Изучив материал этого занятия, вы сможете:
^ просмотреть свойства файлов данных;
s рассказать, как SQL Server 2000 выделяет и управляет свободным пространством в файле данных;
^ рассказать, как SQL Server 2000 организует страницы данных и индексов в файле данных.
Продолжительность занятия - около 15 минут Введение в файлы данных Каждая БД SQL Server 2000 имеет один основной файл данных и может иметь допол нительные файлы данных, каждый из которых используется только этой БД. Каждый файл данных представляет собой отдельный файл операционной системы. Основной файл обычно имеет расширение.mdf (это требование не является строго обязатель ным, но его соблюдение облегчав! идентификацию файлов данных). Основной файл содержит данные таблиц и индексов, а также служебную информацию, которую SQL Server 2000 использует при работе с БД. Он содержит системные таблицы, где хранят ся описания объектов БД. Также основной файл данных включает информацию о расположении всех дополнительных файлов БД (сюда относятся дополнительные файлы данных и файлы журнала транзакций). Дополнительные файлы данных име ют, как правило, расширение.ndf (что также не является обязательным требовани ем). Дополнительные файлы данных в основном используются, когда БД размещает ся на разных дисках, SQL Server 2000 хранит информацию о расположении всех файлов БД в двух мес тах: в БД master и в основном файле БД. Сервер в большинстве случаев использует информацию из БД master. К основному файлу он обращается тогда, когда выполня ются действия, в ходе которых информация в БД master должна быть изменена, при обновлении версии с SQL Server 7.0 до 2000, восстановлении БД master и добав лении БД к SQL Server 2000 при помощи системной хранимой процедуры sp_at tach_db.
Каждый файл данных (и основной, и дополнительный) имеет логическое_имя, ко торое используется в операторах Transact-SQL, и физическое_имя, используемое Win dows. Логическое имя должно быть уникально для отдельной БД и должно соответ ствовать правилам именования, принятым для идентификаторов SQL Server. Подроб нее о логических именах файлов Ч в разделе Using Identifiers справочной системы SQL Server Books Online. Физическое имя файла должно удовлетворять правилам име нования файлов, установленным для операционной системы, которую вы используете.
К дополнительным свойствам файлов данных относятся идентификатор (identifier, ID), начальный размер, величина приращения при увеличении размера (если она за Занятие 1 Архитектура базы данных дана) и максимальный размер. Эти данные хранятся на странице заголовка файла (File Header page), которая является первой страницей любого файла данных. SQL Server уникально идентифицирует страницы в файлах данных по номеру файла и номеру страницы. Для нумерации страниц используются последовательные номера, начиная с 0. Подробнее о задании и изменении свойств файлов данных Ч в главе 6.
Примечание Файлы данных и файлы журнала транзакций SQL Server не могут хра ниться в файловых системах, использующих сжатие данных.
Упражнение 1. Просмотр свойств файлов данных В этом упражнении вы просмотрите некоторые свойства файлов данных.
*Х Чтобы просмотреть свойства файла данных 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью Administrator.
2. Раскройте меню Start\Programs\Microsoft SQL Server и выберите Enterprise Mana ger. В корне консоли SQL Server Enterprise Manager отобразятся деревья Microsoft SQL Server и Event Viewer (Local).
3. В дереве консоли последовательно раскройте контейнеры Microsoft SQL Servers, Microsoft SQL Group, экземпляра SQL Server по умолчанию, и затем Ч контейнер Databases.
4. Щелкните контейнер Master правой кнопкой и выберите Properties. На вкладке General диалогового окна Master Properties перечислены различные свойства БД master: состояние БД, дата последнего резервного копирования и выбранная по следовательность сортировки (collation name).
5. На вкладке Data Files в поле File Name указано логическое имя БД master.
6. Увеличьте ширину поля Location, перемешая мышью правую границу заголовка этого поля вправо, и вы увидите имя файла операционной системы и полный путь к нему.
7. Уменьшите ширину Location, чтобы увидеть данные, которые содержит поле Space Allocated (MB). Здесь указано пространство, занимаемое текущей БД (в мегабай тах). Большинство систем покажут 12 Мб (это начальный размер БД master, округ ленный до ближайшего целого числа мегабайт).
8. Щелкните Cancel, чтобы закрыть окно Master Properties.
9. Закройте SQL Server Enterprise Manager.
Выделение пространства для таблиц и индексов Чтобы SQL Server 2000 смог разместить информацию, которую необходимо сохра нить, в таблице или индексе, необходимо выделить свободное место в файле данных и присвоить его соответствующему объекту. Свободное пространство, выделяемое для таблиц и индексов, измеряется в экстентах (extent). Экстент представляет собой блок размером 64 Кб и состоит из восьми последовательно расположенных страниц объе мом по 8 Кб каждая. Экстенты бывают однородными (uniform extents) и смешанными (mixed extents). SQL Server 2000 использует смешанный экстент для хранения неболь ших объемов данных не более чем восьми различных объектов, тогда как однород ный экстент используется для хранения данных одного объекта.
124 Системные и пользовательские базы данных Глава При создании новой таблицы или индекса SQL Server 2000 находит смешанный экстент, содержащий одну свободную страницу, и связывает ее с созданным объек том. Страница содержит данные, относящиеся только к одному объекту. Если объек ту требуется дополнительное пространство, SQL Server 2000 распределяет свободное пространство из смешанных экстентов, и так происходит до тех пор, пока не будут использованы 8 страниц. Затем SQL Server 2000 выделяет однородный экстент для этого объекта. Если в файлах данных нет свободного места и разрешено автоматичес кое увеличение их размера, SQL Server 2000 будет увеличивать их размер по алгорит му циклического обслуживания.
Когда SQL Server 2000 нуждается в смешанном экстенте, содержащем хотя бы одну свободную страницу, используется страница дополнительной глобальной карты разме щении (Secondary Global Allocation Map, SGAM). Каждая страница SGAM Ч это би товая карта 64 000 экстентов (примерно 4 Гб), которая используется, чтобы опреде лить расположение смешанных экстентов, имеющих свободные страницы. Каждому экстенту соответствует 1 бит в SGAM. Если экстент Ч смешанный со свободными страницами, то значение бита равно 1;
если же он не имеет свободных страниц или является однородным, то значение бита равно 0.
Если необходимо выделить экстент из свободного пространства, для поиска неис пользованного экстента используется страница глобальной карты размещений (Global Allocation Map, GAM). Страница GAM Ч это битовая карта 64 000 экстентов, каждо му из которых соответствует 1 бит. Если значение бита равно 1, то экстент свободен, в противном случае экстент уже используется каким-либо объектом.
Примечание SQL Server 2000 обеспечивает высокую скорость размещения карт SGAM и GAM, поскольку они являются третьей и четвертой страницей первого экстента в файле данных. Первая страница первого экстента Ч страница заголовка файла, вторая Ч страница свободного пространства страниц (Page Free Space, PFS).
При размещении страницы объекта в смешанном или однородном экстенте ис пользуется таблица Index Allocation Map (1AM), чтобы отследить все страницы, выде ленные таблице или индексу, Каждая страница IAM может указывать на 512 000 стра ниц. Страницы IAM расположены в файле данных случайным образом. Все страни цы IAM одного объекта связаны друг с другом: первая страница IAM указывает на вторую и т. д.
Если необходимо вставить данные в страницы объекта, SQL Server 2000 использу ет PFS, чтобы определить местонахождение страницы, где есть свободное простран ство. Страницы PFS файла данных ведут соответствующие записи посредством бито вой карты, где указывается, была ли выделена страница, и указывается количество имеющегося в ней свободного пространства (пустая, заполнена на 1Ч50%, на 51Ч80%.
на 81Ч95%, более чем на 95%). Каждая страница PFS включает в себя записи о 8 последовательных страницах. Первая страница PFS содержится во второй странице пер вого экстента файла данных, после;
гующие расположены на каждой 8 000-ой странице.
Хранение страниц индексов и страниц данных В отсутствие кластерного индекса SQL Server 2000 сохраняет новые данные на любой незаполненной странице в любом доступном экстенте, принадлежащем таблице, в которую эти данные добавляются. Этот неорганизованный набор страниц данных называется кучей (heap). Страницы данных в куче хранятся беспорядочно и никак не связаны друг с другом. Если на таблице не определены индексы (ни кластерный, ни Занятие Архитектура базы данных некластерный}, для поиска записи SQL Server 2000 вынужден просматривать всю та блицу (при этом для определения страниц, принадлежащих таблице, используются страницы JAM). Для больших таблиц это крайне неэффективно.
Чтобы ускорить поиск, разработчики БД создали индексы для быстрого нахожде ния страниц данных. Каждый индекс хранит значение индексированного столбца (или столбцов) таблицы в виде В-дерева (B-tree). В-дерево Ч это сбалансированная иерархическая структура, или дерево, состоящая из корня, промежуточных уровней (которые не являются строго обязательными элементами) и листьев, Все ветви дво ичного дерева имеют одинаковое количество уровней. В-дерево физически упорядо чивает записи индекса на основе значений ключа. Каждая страница индекса связана с соседними страницами.
Корневой узел 1 Предыдущая [Следующая | ^^ Ч ~-< ^ Записи.
индекса. ', Промежуток ый уровень -* 1 I Предыдущая Следующая Л Предыдущая j Следующая | ["предыдущая | Следующая [ -г_г' Я? Х R Записи ;
Х: Записи Записи...
индекса.
индексе;
" индекса ^ ^ ^^ ^^ ^ Узлы уровня листа/ Страницы данных Х 1 * Г редыдущая | Следующая И Предыдущая 1 Следующая | Предыдущая | Следующая f о "^ Я!
Записи Записи "Записи :
данных;
данныхф" данныН;
!!!!
k. ;
ffig.j!jj Рис. 5-1. Структура кластервого индекса В SQL Server 2000 существует два типа индексов: кластерный и некластерный. Для кластерного индекса сервер физически сортирует страницы в файле данных, исходя из значений ключа кластерного индекса (в качестве ключа могут использоваться, на пример, фамилия клиента или почтовый индекс). Самый нижний уровень (листовой) кластерного индекса представляет собой уровень данных. Когда нужно поместить новую строку данных в таблицу, для которой создан кластерный индекс, SQL Server 2000 просматривает двоичное дерево, определяя место размещения (и перемещая су ществующие строки данных и индексов, если это необходимо для сохранения их фи зически упорядоченного расположения).
Глава Системные и пользовательские базы данных Уровень листьев некластерного индекса содержит указатель, с помощью которого SQL Server 2000 определяет, где найти строку данных, соответствующую значению ключа некластерного индекса. При помещении новой строки данных в таблицу, на которой определен только некласт<фный индекс, новая строка индекса добавляется в В-дерево, а новая строка данных помещается в любую страницу кучи, размещенной для этой таблицы и имеющую достаточно свободного пространства (рис.5-2).
Корневой узел Узлы уровня листа ПредыдущаяI Следующая | [ПредыдущаяТСледующая] [Предыдущая| Следующая Рис. 5-2. Структура некластерного индекса Резюме SQL Server 2000 использует один или более файлов данных для хранения данных та блиц и индексов. Файлы данных являются файлами ОС. Пространство для таблиц и индексов выделяется из смешанных или однородных экстентов целыми страницами, исходя из того, сколько страниц используется таблицей или индексом. Некоторые страницы имеют специальное назначение и используются для определения свобод ного пространства в файле данных, страниц и экстентов, выделенных для объектов, а также на использованных страницах. Если не создан кластерный индекс, страницы данных хранятся в неорганизованной куче (disorganized heap). Некластерные индексы используются в качестве указателей на страницы данных, которые хранятся в куче или в структуре кластерного индекса. Если в таблице создан кластерный индекс, стра ницы данных физически упорядочиваются по значению ключа индекса и располага ются в структуре В-дерева. Страницы индекса всегда хранятся в виде В-дерева.
Занятие 2 Структура журнала транзакций <пу Занятие 2, Структура журнала транзакций Каждая БД содержит по крайней мере один файл журнала транзакций. Журнал тран закций хранит записи обо всех изменениях БД и содержит всю информацию, необхо димую для того, чтобы отменить изменения иди выполнить их повторно. На этом занятии вы познакомитесь с архитектурой журнала транзакций, а также с файлами, которые входят в его состав. Кроме того, вы узнаете, как работает журнал транзакций и как его работа связана с различными моделями восстановления.
Изучив материал этого занятия, вы сможете:
описать организацию файлов журнала транзакций;
s рассказать о том, как работает журнал транзакций;
s перечислить модели восстановления, поддерживаемые SQL Server 2000;
s просмотреть свойства файлов журнала транзакций.
Хs Продолжительность занятия Ч около 30 минут Файлы журнала транзакций Каждая БД SQL Server 2000 включает в себя по крайней мере один файл журнала тран закций или несколько файлов, расположенных на разных дисках. Каждый файл жур нала транзакций Ч это отдельный файл операционной системы, который использу ется только одной БД и имеет расширение.Idf (соблюдение этого правила не обяза тельно, но лучше его придерживаться).
Каждый журнал транзакций имеет логическое имя файла, которое используется в предложениях Transact-SQL, и физическое, используемое Windows. К дополнитель ным свойствам файла относятся: идентификатор (identifier, ID), начальный размер, приращение, используемое при увеличении размера (если оно задано) и максималь ный размер. В отличие от файлов данных, которые содержат страницы, файл журна ла транзакций содержит последовательность записей журнала транзакций. Каждая запись имеет свой порядковый номер в журнале (Log Sequence Number, LSN). Несмо тря на то, что физически может существовать несколько файлов журнала транзак ций, SQL Server 2000 воспринимает их как один журнал.
SQL Server 2000 логически делит каждый физический файл журнала транзакций на несколько виртуальных файлов журнала (Virtual Log Files, VLF). Количество и раз мер виртуальных файлов журнала определяются динамически в зависимости от раз мера файла журнала транзакций. Каждый физический файл журнала транзакций со держит по крайней мере два виртуальных. Если задана величина приращения, ис пользуемая при увеличении размера файла, то добавленное к файлу пространство будет восприниматься как отдельный физический файл со своими собственными вир туальными файлами. Администратор БД не может задавать число и размер виртуаль ных файлов журнала. Для более эффективной работы SQL Server 2000 старается под держивать небольшое количество виртуальных файлов журнала.
Примечание Лучше создать достаточно большой журнал транзакций, чтобы избежать частого увеличения размера. Если требуется автоматическое увеличение, лучше задать большее значение приращения размера файла. В противном случае будут создаваться небольшие виртуальные файлы, что замедлит процесс восстановления.
Системные и пользовательские базы данных 128 Глава При создании БД логический журнал транзакций создает первый физический файл журнала, который также совпадает с началом первого виртуального файла жур нала. Логический журнал транзакций представляет собой ту часть, которая требуется для восстановления и резервного копирования. Ее размер зависит от выбранной мо дели восстановления. Подробнее о механизмах резервного копирования и восстанов ления Ч в главе 8.
Как работает журнал транзакций SQL Server 2000 использует буферный кэш Ч хранящуюся в памяти структуру, куда помещаются страницы данных с диска, с которыми будут непосредственно работать приложения и пользователи системы. Любое изменение страницы данных вносится в копию этой страницы в буферном кэше. Измененная страница в кэше, которая еще не была записана на диск, называется затронутой страницей (dirty page). Так как из менения записываются сначала в журнал транзакций, а потом на диск, журнал тран закций SQL Server 2000 называют опережающим (write-ahead). Встроенные внутрен ние механизмы проверки SQL Server 2000 следят за тем, чтобы изменение было зане сено в журнал транзакций до того, как соответствующая затронутая страница будет записана на диск. Запись затронутой страницы из кэша на диск называется сбросом страницы (page flushing).
Запись журнала транзакций содержит всю информацию, необходимую для отме ны или повторения любого изменения БД, включая выделение экстентов и измене ние индексов. Благодаря этому любое изменение, записанное на диск, например из менение страницы данных или создание нового объекта БД, может быть отменено, если транзакция, вызвавшая изменение, была прервана (допустим, из-за сбоя в рабо те сервера или в результате команды отмены транзакции) и ее невозможно завершить, либо может быть подтверждено, если транзакция была завершена, но результат, ее выполнения не был записан на диск, например, из-за неисправности сервера.
Примечание Благодаря отмене выполненных изменений, резервное копирование жур нала транзакций позволяет воссоздать БД при повреждении диска с файлами данных, именно поэтому следует хранить журнал транзакций на другом диске, отдельно от файлов данных.
SQL Server 2000 периодически записывает затронутые страницы из кэша на диск.
Запись данных на диск производится либо в результате процесса, называемого кон трольной точкой (checkpoint process), либо когда поток ОС Ч рабочий или же поток отложенной записи (lazy writer) Ч просматривает затронутые страницы, записывает их на диск и освобождает пространство в буферном кэше для новых данных. Потоки ОС могут записать затронутые страницы на диск до того, как SQL Server 2000 опреде лит, завершена ли транзакция. Однако, если транзакция отменена или не была завер шена, журнал транзакций гарантирует, что все изменения, внесенные незавершен ными транзакциями, будут отменены либо с помощью команды отката транзакции (rollback), либо при следующем запуске сервера (в случае неисправности сервера).
Процесс контрольной точки Процесс контрольной точки позволяет уменьшить простой в случае сбоя в работе сер вера. Благодаря этому процессу количество страниц в буферном кэше, которые не были записаны на диск, минимально. Процесс контрольной точки выполняется в следующих случаях:
Структура журнала транзакций Занятое Х если используется оператор CHECKPOINT;
Х если используется оператор ALTER DATABASE;
Х при корректном завершении работы экземпляра SQL Server 2000;
Х при автоматическом запуске процесса контрольной точки (выполняется периоди чески в зависимости от количества записей в активной части журнала транзак ций, а не от времени, прошедшего с момента последнего выполнения контрольной точки).
Процесс контрольной точки записывает наименьший LSN, необходимый для ус пешной отмены невыполненной транзакции. Этот номер называется минимальным LSN (MinLSN). Он определяется либо наименьшим LSN самой ранней активной транзакции, либо началом самой ранней транзакции репликации, при которой дан ные не были получены всеми серверами-подписчиками, либо началом процесса кон трольной точки. Часть журнала транзакций от MinLSN до последней записи является активной. Она необходима для успешной отмены транзакций. При запуске SQL Server 2000 (в обычном режиме или после сбоя), в каждой БД начинается процесс восста новления. Он проверяет журнал транзакций на наличие завершенных транзакций, результаты которых не были записаны на диск, и записывает их. Он также ишет не подтвержденные транзакции и проверяет, что их результаты не были записаны на диск, в противном случае все изменения удаляются. MinLSN указывает наименьший LSN, который должен при этом просматривать SQL Server 2000.
Записи о транзакциях с номерами меньше MinLSN не являются активными (про цесс контрольной точки гарантирует, что они уже записаны на диск). Для повторного использования пространства, занимаемого этими записями, они должны быть удале ны из файла журнала транзакций (что достигается усечением журнала). Минималь ной единицей, которая удаляется при усечении журнала, является виртуальный файл журнала транзакций;
но если часть виртуального файла является частью активного журнала, его удалять нельзя. При использовании простой модели восстановления (Simple Recovery model) процесс контрольной точки просто удаляет неактивную часть журнала из всех виртуальных файлов, и они потом используются повторно. При ис пользовании модели восстановления отдельных операций (Full Recovery model) или мо дели восстановления результатов импорта (Bulk-Logged Recovery model) вам необхо димо предварительно создать копию журнала транзакций, чтобы затем удалить его неактивную часть. Подробнее о резервном копировании журнала транзакций Ч в гла вах 8 и 9.
Примечание Из журнала транзакций удаляются записи с номерами меньше MinLSN, записи же активной части остаются.
На рис. 5-3 показан журнал транзакций после процесса контрольной точки, неак тивная часть журнала уже удалена. Обратите внимание, что LSN процесса кон трольной точки меньше MinLSN.
Процесс контрольной точки освобождает пространство в физическом файле жур нала транзакций, и это пространство используется логическим файлом, после того как он достигнет конца последнего физического файла. Когда это происходит, он вновь возвращается в начало первого физического файла (при условии, что первый виртуальный файл удален). Если первый виртуальный файл не был удален и не уста новлено автоматическое увеличение размера журнала транзакций (или если весь диск заполнен), SQL Server 2000 не может продолжать работать. На рис. 5-4 показано воз Глава Системные и пользовательские базы данных вращение логического журнала в начало первого физического файла (такой способ называется циклическим обновлением при ведении журнала).
Виртуальный Виртуальный Виртуальный Виртуальный Виртуальный файл 1 файл 2 файл 3 файл 4 файл Не используется Усечены MinLSN ;
онец Нач ало Последняя логического контрольная логического журнала точка журнала Рис. 5-3. Журнал транзакций после усечения неактивной части Виртуальный Виртуальный Виртуальный Виртуальный файл 1 файл 3 файл файл Ч*.
Усечены MinLSN } Конец Начало Предпоследняя Последняя логического логического контрольная контрольная журнала журнала точка точка Рис. 5-4. Циклическое обновление при ведении журнала транзакций Потоки операционной системы SQL Server 2000 использует рабочий поток (worker thread) и поток отложенной записи (lazy writer thread) для периодического обращения к буферу памяти, планирования асинхронной записи на диск затронутых страниц и освобождения неактивных стра ниц для повторного использования. Поток Ч это компонент операционной системы, который позволяет выполнять различные независимые процессы параллельно. Запись затронутой страницы в журнал транзакций происходит до записи данных на диск.
Рабочие потоки являются потоками других процессов SQL Server 2000, таких как про цесс асинхронного чтения данных, инициированный пользователем. Эти потоки об ращаются к кэшу буфера, ожидая выполнения своего задания. Поток отложенной записи также периодически проверяет список свободных буферов, и, если его размер меньше определенного значения (в зависимости от размера кэша), он сканирует бу ферный кэш и освобождает пространство. Термин лотложенная запись отражает принцип работы данного потока, который спит, просыпается на некоторое время, сканирует буфер и снова засыпает.
Структура журнала транзакций Занятие 2 i *э* Примечание Поток отложенной записи и рабочие потоки записывают большую часть затронутых страниц между процессами контрольной точки. Таким образом, процесс контрольной точки в большинстве случаев находит лишь несколько затронутых стра ниц, которые нужно записать на диск. Разница между процессом контрольной точки и потоками заключается в том, что первый не помещает страницы буфера обратно в список свободных буферов. Эти три процесса, работая совместно, делают операцию записи данных на диск более ровной, что позволяет снизить нагрузку и повысить про изводительность.
Основные сведения о моделях восстановления В SQL Server 2000 существует три модели восстановления: простая (Simple model), отдельных операций (Full model) и результатов импорта (Bulk-Logged model). Каждая БД имеет одну из моделей. Модель влияет на размер журнала транзакций и на то, какие действия и возможности будут доступны при резервном копировании и вос становлении. Подробнее о выборе стратегии резервного копирования и восстанов ления Ч в главе 8.
Модель восстановления отдельных операций Позволяет восстановить БД до состояния, в котором она была на момент сбоя или на любой указанный момент времени. При использовании данной модели в журнал за носятся все операции, в том числе так называемые широкомасштабные (large-scale). К ним относятся, например, операция создания индекса или же операция копирования данных с помощью SELECT INTO, Вер или BULK INSERT. Подобные операции ча сто требуют значительного объема доступного пространства в журнале транзакций.
Поэтому, если вы используете эту модель, убедитесь, что журнала транзакций не пе реполняется (особенно при выполнении указанных операций). В данном случае не обходимо регулярно и достаточно часто выполнять резервное копирование журнала транзакций Ч он будет регулярно усекаться, и будет освобождаться место для разме щения новых записей.
Модель восстановления результатов импорта При использовании модели восстановления результатов импорта все операции, кро ме некоторых широкомасштабных, полностью регистрируются в журнале. Той ин формации о широкомасштабных операциях, которая заносится в журнал при исполь зовании данной модели, недостаточно для восстановления после сбоя. Эта модель позволяет сократить пространство, занимаемое журналом транзакций, но увеличива ет вероятность потери данных после широкомасштабных операций. Для восстанов ления БД после широкомасштабной операции не требуется полное резервное копи рование. При использовании данной модели также требуется проводить резервное копирование журнала транзакций для его усечения и освобождения пространства, но его можно проводить реже, чем при использовании модели восстановления отдель ных операций.
Примечание Модель восстановления результатов импорта не поддерживает восста новление на выбранный момент времени.
Х\ 32 Системные и пользовательские базы данных Глава Простая модель восстановления При использовании простой модели восстановления все операции, в том числе и широкомасштабные, записываются полностью. Но для восстановления БД не исполь зуется резервное копирование журнала транзакций, каждый процесс контрольной точки усекает неактивную часть журнала транзакций. Это позволяет избежать пере полнения журнала транзакций;
однако при длинных транзакциях и когда имеется несколько транзакций, для которых процесс репликации еще не прошел, переполне ние журнала все же возможно. Эта модель редко используется в производственных БД из-за большого риска потерять записи о недавно внесенных изменениях. При использовании простой модели БД может быть восстановлена только до момента, когда была сделана последняя резервная копия.
Примечание Системная БД tempilb всегда использует простую модель восстановле ния. Пользовательские БД (Northwind и pubs) используют простую модель восстанов ления по умолчанию;
можно изменить этот режим, выбрав для них другую модель восстановления.
Упражнение 2. Просмотр свойств журнала транзакций и базы данных В этом упражнении вы с помощью SQL Server Enterprise Manager просмотри те свойства файла журнала транзакций и БД.
> Чтобы просмотреть свойства БД, и файла журнала транзакций 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью Administrator.
2. Раскройте меню Start\Programs\Microsoft SQL Server и выберите Enterprise Mana ger. В корне консоли SQL Server Enterprise Manager отобразятся деревья Microsoft SQL Server и деревья Event Viewer (Local).
3. В дереве консоли последовательно раскройте контейнеры Microsoft SQL Servers, Microsoft SQL Group, экземпляра SQL Server по умолчанию, и затем Ч контейнер Databases.
4. Щелкните значок Northwind правой кнопкой и выберите Properties. На вкладке General диалогового окна Northwind Properties перечислены свойства БД North wind.
5. На вкладке Transaction Log в поле File Name будет указано логическое имя файла транзакций БД Northwind.
6. Увеличьте ширину поля Location, перемещая мышью заголовок поля вправо, что бы просмотреть имя файла операционной системы и полный путь к нему.
7. Уменьшите ширину поля Location, чтобы просмотреть значение в поле Space Allocated, где указано пространство, занимаемое журналом транзакций (в мега байтах). Большинство систем покажут I Мб (это начальный размер журнала тран закций БД Northwind, округленный до ближайшего целого числа мегабайт).
8. Перейдите на вкладку Options. Заметьте: для БД Northwind определена простая модель восстановления (Simplt;
Recovery model).
9. Щелкните Cancel, чтобы закрыть окно Northwind Properties.
10. Закройте SQL Server Enterprise Manager.
Занятие 2 Структура журнала транзакций i оч Резюме SQL Server 2000 использует один или более файлов журнала транзакций для реги страции изменений, произведенных транзакциями, до записи модифицированных данных на диск. Благодаря этому транзакции могут быть отменены или повторены при необходимости (например, после сбоев в работе сервера). SQL Server 2000 ис пользует процесс контрольной точки и потоки ОС для обеспечения записи данных на диск. Кроме того, процесс контрольной точки определяет неактивную часть жур нала транзакций. Неактивная часть журнала транзакций может быть использована снова только после усечения журнала. Используемая модель восстановления опреде ляет, производится ли усечение журнала процессом контрольной точки или для этого необходимо резервное копирование журнала. Кроме того, модель восстановления оп ределяет экстент ведения операций копирования, в котором содержится информа ция о частоте резервного копирования журнала транзакций.
134 Системные и пользовательские базы данных Глава Занятие 3. Система запросов и каталоги баз данных SQL Server 2000 использует различные системные таблицы для управления работой SQL Server 2000 и связанными с ним базами данных. Эти таблицы хранят метаданные Ч информацию как о системе в целом, так и об объектах каждой отдельной БД. На этом занятии вы узнаете о наиболее часто используемых системных таблицах, об исполь зовании системных хранимых процедур, о системных функциях и представлениях информационной схемы (informatior schema view) для создания запросов к таблицам.
Изучив материал этого занятия, вы сможете:
Х^ рассказать о наиболее часто используемых системных таблицах;
выполнять запросы к системным таблицам с помощью системных хранимых
выполнять запросы к системным таблицам с помощью системных функций;
^ использовать представлении информационной схемы.
^ Продолжительность занятия Ч около 15 минут Введение в системные таблицы Системные таблицы, используемые SQL Server 2000, делятся на две группы: систем ный каталог и каталог БД. Изменение или удаление системных таблиц может повлечь за собой неполадки в работе или прекращение работы SQL Server 2000.
Примечание Имена системных таблиц SQL Server 2000 начинаются с префикса sys.
Системный каталог Системный каталог включает в себя системные таблицы, используемые SQL Server 2000 для управления системой, и существует только в БД master. Системные таблицы этого каталога содержат метаданные, относящиеся ко всему экземпляру SQL Server 2000 (такие как список пользователей и список БД) и параметры системы (например, сервера). В табл. 5-1 перечислены часто используемые системные таблицы системно го каталога.
Табл. 5-1. Часто используемые системные таблицы системного каталога Системная таблица Описание Sysaltfiles Содержит строку информации о каждом файле БД, в том числе файловый идентификатор, идентификатор БД (dbid), физическое и логическое имя файла, расположение, размер и параметры увеличения размера Sysconfigures Содержит строку информации о системных параметрах, выбранных администратором до запуска SQL Server 2000 и динамически настроенных после запуска Sysdatabases Содержит строку информации для каждой БД: идентификатор БД (dbid), идентификатор защиты (S1D) владельца БД, дату создания, уровень совместимости БД, данные о размешении главного файла и настроенные параметры конфигурации БД Ззнятие 3 Система запросов и каталоги баз данных Табл. 5-1. (окончание) Системная таблица Описание Sysdevices Содержит строку информации о каждом созданном устройстве резервного копирования, включая физические и логические имена файлов, размер файлов и тип контроллера для устройства (диск или лента) Syslockinfo Содержит строку информации о каждом ожидающем, преобразованном и выполненном запросе на блокировку, в то ч числе идентификатор пользователя или процесса, выдавшего запрос на блокировку, и идентификатор блокированного объекта Syslogins Содержит строку информации для каждой учетной записи:
идентификатор защиты (SID), идентификатор учетной записи, зашифрованный пароль (допускается значение NULL), БД по умолчанию и роль сервера Sysmessages Содержит строку информации для каждой возвращаемой SQL Server 2000 системной ошибки и предупреждения, включая код ошибки, код серьезности ошибки и ее описание Sysperflnfo Содержит строку информации для каждого счетчика производительности SQL Server, в том числе имя объекта, имя и значение счетчика. Счетчики используются утилитой Windows System Monitor (в Windows 2000 Ч Performance Monitor) Каталог базы данных Каталог БД состоит из системных таблиц, используемых для управления отдельной БД. Каждая БД имеет в своем составе набор таких таблиц. Они содержат всю инфор мацию, необходимую для того, чтобы БД могла быть перенесена с одного SQL Server 2000 на другой сервер под прежним или под новым именем. В табл. 5-2 перечислены часто используемые системные таблицы каталога БД.
Табл. 5-2. Часто используемые системные таблицы каталога БД Системная таблица Описание Содержит строку информации для каждого представления (view), Syscomments правила (rule), значения по умолчанию (default), триггера, ограничения CHECK, ограничения DEFAULT и хранимой процедуры. Поле типа text содержит предложение Transact-SQL, используемое при создании объекта. Значение в полях этой таблицы нельзя изменять или удалять. Чтобы скрыть текст хранимой процедуры, можно использовать ключевое слово ENCRYPTION при ее создании Содержит строку информации о каждом индексе и таблице БД, Sysindexes в том числе идентификатор индекса (index ID, indid), тип, коэффициент заполнения и имя индекса Содержит строку информации для каждого объекта БД, включая Sysobjects имя объекта, идентификатор объекта, идентификатор пользователя (user ID, uid) владельца объекта и дату создания 1 36 Системные и пользовательские базы данных Глава Табл. 5-2. (окончание) Системная таблица Описание Sysusers Содержит строку информации о каждом пользователе или группе пользователей Windows, пользователе SQL Server, роли в БД SQL Server, включая идентификатор пользователя, имя пользователя, идентификатор группы (gid) и дату создания Получение информации о системе Вы можете обращаться к системным таблицам напрямую, но не рекомендуется ис пользовать сценарии, которые содержат непосредственные запросы к системным таб лицам, так как в следующих версиях структура системных таблиц может измениться, и такие сценарии не будут работать корректно. В SQL Server 2000 существует несколь ко механизмов, использующих непосредственное обращение к системным таблицам, которые вы можете включать в сценарии и на которые не повлияет последующее из менение системных таблиц. К этим механизмам относятся системные хранимые про цедуры, системные функции и представления информационной схемы.
Примечание Обращаться к системным таблицам можно и с помощью наборов запи сей схемы OLE DB и функций каталога ODBC.
Упражнение 3. Непосредственные запросы к системным таблицам В этом упражнении вы с помощью SQL Query Analyzer выполните непосред ственный запрос к системным таблицам.
> Чтобы выполнить непосредственный запрос к системной таблице 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью Administrator.
2. Раскройте меню Start\Progranii\Microsoft SQL Server и выберите Query Analyzer.
Откроется окно Connect To SQL Server.
3. Подключитесь к экземпляру SQL Server по умолчанию с использованием средств проверки подлинности Windov/s. Откроется новое окно запроса.
4. В панели запросов введите SELECT * FROM sysdatabases.
5. Чтобы выполнить запрос, щелкните кнопку Execute Query панели инструментов или нажмите клавишу F5 или сочетание Ctrl+E. В области результатов появится информация о БД данной системы SQL Server 2000.
6. Щелкните кнопку Clear Window панели инструментов или нажмите Ctrl+Shifl+ Del.
7. В панели запросов введите SELECT * FROM sysaltfiles.
8. В области результатов отобразится информация обо всех файлах данных и файлах журнала транзакций SQL Server 2000.
9. Закройте SQL Query Analyzer.
10. Чтобы не сохранять изменения, в диалоговом окне SQL Query Analyzer щелкните кнопку No.
Занятие 3 Система запросов и каталога баз данных Системные хранимые процедуры Системные хранимые процедуры Ч это процедуры, составленные из операторов Transact-SQL, которые поставляются вместе с SQL Server 2000. Системные хранимые процедуры работают с системными таблицами. Они позволяют получать системную информацию и выполнять задачи по администрированию БД.
Примечание Имена системных процедур начинаются с префикса sp_.
В табл. 5-3 перечислены системные хранимые процедуры, наиболее часто исполь зуемые для обращения к системным таблицам.
Табл. 5-3. Системные хранимые процедуры, используемые для запросов к системным таблицам Системная хранимая процедура Описание Sp_configure ['название', 'значение] Позволяет получить или изменить параметры настройки для экземпляра SQL Server Позволяет получить или изменить значения Sp_dboption ['база_данных', параметров БД для отдельной базы 'параметр', 'значение'} Sp_help [ 'объект'] Позволяет получить информацию об отдельном объекте БД или типе данных Позволяет получить информацию о зависимости Sp_depends ['объект'] объектов БД, например представлениях или процедурах, зависящих от конкретной таблицы Позволяет получить информацию о заданной БД Sp_helpdb [ 'база_данных' \ (или обо всех БД) Позволяет получить физическое имя и атрибуты Sp_helpfile ['имя_фаш1а'] указанного файла (или физические имена и атрибуты всех файлов) для текущей БД Sp_lock ['идентификатор! Выводит информацию о текущих блокировках 'идентификатор 2' ] Позволяет получить информацию о занятости Spjnonitor SQL Server 2000 с начала его работы и с момента запуска sp_monitor Позволяет получить информацию о числе записей, Sp_spaceused {'объект', занятом дисковом пространстве, дисковом 'updateusage' ] пространстве, используемом таблицей или БД, и сообщает, нужно ли выполнять команду DBCC UPDATEUSAGE Позволяет получить данные обо всех индексах Sp_statistics [ 'название^таблицы', и статистическую информацию о таблицах 'владелец', 'идентификатор', или представлениях 'название_индекса', 'уникальность', 'точность'} Позволяет получить информацию обо всех Spjvho [1учетная_запись'] пользователях и процессах в системе в данный момент. Чтобы вывести только активные процессы, можно воспользоваться ключевым словом ACTIVE!
Системные и пользовательски базы данных Глава Упражнение 4. Выполнение запроса к системным таблицам средствами системных хранимых процедур В этом упражнении вы воспользуетесь SQL Query Analyzer и выполните за прос к системным таблицам системных хранимых процедур.
Чтобы выполнить запрос к системным таблицам средствами системных хранимых > процедур 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью Administrator.
2. Раскройте меню Start\Programs\Microsoft SQL Server и выберите Query Analyzer.
Откроется окно Connect To SQL Server.
3. Подключитесь к экземпляру SQL Server по умолчанию с использованием средств проверки подлинности Windows. При этом открывается новое окно запроса.
4. В панели запросов введите sp_helpdb.
5. В панели инструментов щелкните кнопку Execute Query. Обратите внимание, что в области результатов перечислены все БД текущего экземпляра SQL Server 2000.
6. В панели запросов введите пробел> затем Ч Northwind, таким образом, ваш запрос будет иметь вид: sp_helpdb Northwind. В области результатов вы увидите информа цию о БД Northwind и о размещении ее файлов.
7. В панели инструментов щелкните кнопку Clear Window.
8. В панели запросов введите sp_spaceused.
9. В панели инструментов щелкните кнопку Execute Query. В панели результатов отобразится информация о пространстве, занятом текущей БД, т. е. БД master.
10. В панели инструментов в раскрывающемся списке выберите в качестве текущей БД Northwind.
11. В панели инструментов щелкните кнопку Execute Query. В панели результатов отобразится информация о пространстве, занятом текущей БД, т. е. БД Northwind.
12. В области запроса введите 'customers*;
таким образом ваш запрос будет иметь вид sp_spaceused 'customers'.
13. В панели инструментов щелкните кнопку Execute Query. В панели результатов отобразится информация о пространстве, занятом таблицей customers в БД North wind.
14. Закройте SQL Query Analyzer.
15. Чтобы не сохранять изменения, в диалоговом окне SQL Query Analyzer щелкните кнопку No.
Системные функции Системные функции представляют собой набор встроенных функций, поставляемых вместе с SQL Server 2000. Они позволяют обращаться к системным таблицам при по мощи операторов Transact-SQL и получать специфические данные о значениях пара метров, объектах и настройках. Наиболее часто используемые для обращения к сис темным таблицам функции перечислены в табл. 5-4.
Занятие 3 Система запросов и каталоги баз данных Табл. 5-4. Системные функции, используемые для запросов к системным таблицам Системная функция Описание DATABASEPROPERTYEX Возвращает значение свойства или параметра БД (например восстановление) ('база_данных', 'свойство*) Возвращает идентификатор БД DB_ID ('база^данных') Возвращает имя БД DB_NAME (иденти фикатор_базы_данных) Возвращает идентификатор файла, имеющего данное FILEJD ('имя_файла ) логическое имя Возвращает логическое имя файла FILE_NAME (идентификатор_файла) Возвращает значение свойства файла FILEPROPERTY (например SpaceUsed) ('имя_файла\ 'свойство') GET DATE () Возвращает текущую системную дату и время в формате SQL Server 2000 для временных величин Возвращает имя хоста HOST_NAME () Возвращает дату обновления статистической информации STATS_DATE (идентифи катор_таблицы, идентифи- для индекса катор _индекса) USERJD Возвращает идентификатор пользователя БД ('имя_пользователя *) USER_NAME Возвращает имя пользователя БД (например dbo) (идентификатор) Упражнение 5. Выполнение запросов к системным таблицам средствами системных функций В этом упражнении вы воспользуетесь SQL Query Analyzer и выполните за прос к системным таблицам средствами системных функций.
^ Обратитесь к системной таблице с использованием системных функций 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью Administrator.
2. Раскройте меню Start\Programs\Microsoft SQL Server и выберите Query Analyzer.
Откроется окно Connect To SQL Server.
3. Подключитесь к SQL Server с исполозованием средств проверки Windows. Появит ся новое окно запроса.
4. В панели запросов введите SELECT DBJD ('Northwind').
5. В панели инструментов щелкните кнопку Execute Query. Заметьте: в панели ре зультатов указан идентификатор БД Northwind.
6. В панели инструментов щелкните кнопку Clear Window.
7. В панели запросов введите SELECT FILEPROPERTY ('Northwind', 'SpaceUsed').
8. В панели инструментов щелкните кнопку Execute Query. Заметьте: в панели ре зультатов указано число страниц, занятых БД Northwind.
9. В панели инструментов щелкните кнопку Clear Window.
Глава Системные и пользовательские базы данных 10. В панели запросов введите SELECT USER_NAME (2). Заметьте: в панели резуль татов указано имя пользователя., идентификатор которого Ч 2 (это учетная запись Guest).
11. Закройте SQL Query Analyzer.
12. Чтобы не сохранять изменения, в диалоговом окне SQL Query Analyzer щелкните кнопку No.
Представления информационной схемы Представления информационной схемы являются представлениями сведений систем ного каталога и каталога БД и соответствуют стандарту ANSI SQL-92. Они не зависят от способов реализации каталогов различными поставщиками;
таким образом, при ложения, использующие эти представления, являются переносимыми в различные системы, поддерживающие стандарт ANSI SQL-92. Кроме того, представления ин формационной схемы не зависят от изменений в базовых системных таблицах. Неко торые широко используемые представления информационной схемы описаны в табл. 5-5.
Табл. 5-5. Представления информационной схемы, используемые для запросов к системным таблицам Представление информационной схемы Описание Informationjschema. columns Возвращает список полей, доступных текущему пользователю I nformation^schema.schemata Возвращает список БД, доступных текущему пользователю Info rmation_schema.tables Возвращает список таблиц текущей БД, доступных текущему пользователю Information_schema.table_ Возвращает список привилегий, предоставленных privileges текущему пользователю, и тех, которые он предоставил другим пользователям в текущей БД Information_schema.view_ Возвращает список таблиц текущей БД, используемых table_usage в проекции Упражнение 6. Выполнение запросов к системным таблицам с помощью представления информационной схемы В этом упражнении вы используете представление информационной схемы для выполнения запроса к системным таблицам с помощью SQL Query Analyzer.
Чтобы выполнить запрос к системной таблице с использованием представления > информационной схемы 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью Administrator.
2. Раскройте меню Start\Programs\Microsoft SQL Server и выберите Query Analyzer.
Откроется окно Connect To SQL Server.
\л-\ Занятие 3 Системе запросов и каталога баз данных 3. Подключитесь к SQL Server с использованием средств проверки подлинности Windows. Откроется новое окно запроса.
4. Из раскрывающегося списка в панели инструментов выберите в качестве текушей БД Northwind.
5. В панели запросов наберите SELECT * FROM INFORMATION. SCHEMA.SCHE MATA.
6. В панели инструментов щелкните кнопку Execute Query. Заметьте: в панели ре зультатов перечислены все БД текущего экземпляра SQL Server 2000.
7. В панели инструментов щелкните кнопку Clear Window.
8. В панели запросов введите SELECT * FROM INFORMATION. SCHEMA.TABLES.
9. В панели инструментов щелкните кнопку Execute Query. Заметьте: в панели ре зультатов приведен список таблиц текущей БД.
10. В панели инструментов щелкните кнопку Clear Window.
11. В панели запросов введите SELECT * FROM INFORMATION. SCHEMA.TAB LE_PRIVILEGES.
12. В панели инструментов щелкните кнопку Execute Query. Заметьте: в панели ре зультатов перечислены пользовательские привилегии на таблицы БД Northwind.
13. Закройте SQL Query Analyzer.
14. Чтобы не сохранять изменения, в диалоговом окне SQL Query Analyzer щелкните кнопку No.
Резюме Системный каталог и каталог БД включают в себя системные таблицы, используемые SQL Server 2000 для управления работой сервера и каждой конкретной БД. К систем ной таблице, как и к любой другой, можно составить запрос для получения сведений о системе. Но не следует создавать сценарии, непосредственно обращающиеся к си стемным таблицам, так как в будущих версиях SQL Server эти таблицы могут изме ниться. Для обращения к системным таблицам лучше использовать системные хра нимые процедуры, системные функции и представления информационной схемы, которые будут работать и с будущими версиями SQL Server.
Глава Системные и пользовательски базы данных Закрепление материала ?] Приведенные ниже вопроси помогут вам лучше усвоить основные темы дан ной главы. Если вы не сумеете ответить на вопрос, повторите материал соот ветствующего занятия. Правильные ответы приведены в приложении Воп росы и ответы в конце книги.
1. Опишите, в чем состоит различие при упорядочении страниц данных таблиц, ис пользующих кластерный и некластерный индексы.
2. Какая модель восстановления не требует регулярного резервного копирования журнала транзакций?
3. Почему при создании сценария не следует использовать операторы Transact-SQL, напрямую обращающиеся к системным таблицам?
ГЛАВА Создание и конфигурирование пользовательских баз данных Занятие 1. Создание пользовательской базы данных Занятие 2, Настройка параметров базы данных Занятие 3, Изменение размера базы данных Х Занятие 4, Размещение файлов базы данных на нескольких дисках В этой главе Здесь рассказывается о создании и конфигурировании пользовательских БД. Рассма триваются разные способы создания пользовательских БД с помощью SQL Server Enterprise Manager или операторов Transact-SQL, вводимых и выполняемых в SQL Query Analyser. Также здесь содержатся сведения о различных настраиваемых пара метрах БД и о том, как их задать в процессе создания БД и после начала работы. Мы рассмотрим ручной и автоматический способы контроля объема пользовательских БД, в том числе файлов данных и файлов журнала транзакций. Наконец, вы узнаете, как оптимизировать работу дисковой подсистемы, разместив файлы данных и файлы журнала транзакций на нескольких дисках, используя RAID, группы файлов и диски, После этого вы сможете начать загрузку данных в БД SQL Server 2000.
Прежде всего Для изучения материалов этой главы вам потребуются:
Х компьютер, соответствующий минимальным аппаратным требованиям, перечис ленным в главе 2;
Х Microsoft Windows 2000 Server, установленная на разделе диска с файловой систе мой NTFS;
Х компьютер с сетевым именем SelfPacedCPU, сконфигурированный как контрол лер домена SelfPacedSQL.MSFT;
Х один установленный по умолчанию и по крайней мере один именованный экзем пляр SQL Server 2000.
Создание и конфигурирование пользовательских баз данных 144 Глава Занятие 1. Создание пользовательской базы данных После установки SQL Servei\2000 можно создавать пользовательские БД. На этом за нятии вы узнаете, как это сделать при помоши SQL Server Enterprise Manager или из Query Analyser, используя операторы Transat-SQL CREATE DATABASE, Кроме того, здесь рассказывается, как с помощью SQL Server Enterprise Manager создать сценарий Transact-SQL, который воссоздавал бы объекты БД (его можно использовать, напри мер, при устранении неполадок в работе БД).
Изучив материал этого занятия, вы сможете:
^ описать процесс создания пользовательской БД;
^ создать пользовательскую БД с помощью SQL Server Enterprise Manager;
S создать пользовательскую БД при помощи SQL Query Analyser средствами оператора Transact-SQL CREATE DATABASE;
s с помощью SQL Server Enteiprise Manager сгенерировать сценарий Transact-SQL, описывающий объекты БД.
Продолжительность занятия Ч около 45 минут Пользовательские базы данных При создании новой пользовательской БД следует помнить о том, что имена БД уни кальны для каждого экземпляра SQL Server 2000. Для создания пользовательской БД не нужно явно определять никакие другие атрибуты. При выборе имени рекоменду ется следовать правилам, установленным для имен идентификаторов SQL Server 2000, хотя это и не обязательно:
Х первым символом в имени должна быть буква, символ подчеркивания (_), знак @, который обозначает локальную переменную или параметр, или знак #, который обозначает временную таблицу или процедуру;
Х все символы в имени идентификатора после первого могут быть цифрами или зна ком доллара ($);
Х имя идентификатора не должно содержать пробелов и специальных символов;
Х запрещается использовать в качестве имен идентификаторов зарезервированные слова SQL Server 2000, набранные в верхнем или нижнем регистре (например BACKUP или PLAN).
Примечание Если при выборе имени идентификатора не соблюдались перечислен ные выше правила именования, то при использовании имени идентификатора в опе раторах необходимо заключать это имя в двойные кавычки или квадратные скобки (например sp_helpdb My Database* или sp_helpdb [My Database], если в имени пользо вательской БД содержится знак пробела).
Существуют также и другие параметры БД, которые вам необходимо определить.
Как правило, при создании БД указываются ее размер, физическое и логическое имя файла, а также размещение основного файла данных и первого файла журнала тран закций на диске. При создании БД можно добавить несколько файлов данных и фай лов журнала транзакций, разместив их на разных дисках, или сделать это уже после Занятие 1 Создание пользовательской базы данных создания пользовательской БД. Кроме того, можно объединить файлы данных в груп пы файлов и изменить группу файлов, выбранную по умолчанию. На занятии 4 этой главы вы узнаете, как разместить файлы БД на нескольких дисках, как использовать множество файлов данных при создании пользовательской БД и как создать пользо вательские группы файлов для БД. Для каждого созданного вами файла данных и файла журнала транзакций вы можете определить следующие параметры: включить или отключить автоматическое увеличение размера файла при его заполнении, опре делить величину автоматического прирашения размера файла, а также установить максимальный размер файла БД. На занятии 3 этой главы вы узнаете, каким образом вы можете контролировать увеличение размера БД.
Если при создании пользовательской БД не определены перечисленные выше до полнительные параметры, SQL Server 2000 использует значения по умолчанию. В табл.
6-1 перечислены значения параметров по умолчанию для БД с именем SelfPaced, со зданной на экземпляре SQL Server 2000 по умолчанию.
Табл. 6-1. Параметры БД SelfPaced, задаваемые по умолчанию Параметр Значение SelfPaced_Data Логическое имя основного файла данных SelfPaced_Data.mdf Физическое имя основного файла данных C:\ProramFiles\Microsoft SQL Server\Mssql\Data Путь к основному файлу данных Фактический размер файла данных model Размер основного (640 кб по умолчанию), если он создан с помощью файла данных сценария Transact-SQL, или фактический размер файла данных model, округленный до ближайшего целого числа (1 Мб), если он создан с помощью программы SQL Server Enterprise Manager Разрешение автоматического приращения размера Параметры физического файла с шагом 10 %, отсутствие ограничения приращения основного файла данных на максимальный размер файла SelfPaced_Log Логическое имя файла журнала транзакций SelfPaced_Log.ldf Физическое имя файла журнала транзакций C:\Program Files\Microsoft SQL Server\Mssql\Data Путь к файлу журнала транзакций Фактический размер файла журнала транзакций model Физический размер файла (512 кб по умолчанию), если он создан с помощью журнала транзакций сценария Transact-SQL, или фактический размер фнйла журнала транзакций model, округленный до ближай шего целого числа (1 Мб), если он создан с помощью SQL Server Enterprise Manager Разрешение автоматического приращения с шагом 10 %, Параметры физического отсутствие ограничения на максимальный размер приращения файла журнала файла транзакций 146 Создание и конфигурирование юльзовательских баз данных Глава Создание БД в SQL Server 2000 выполняется в два этапа. Сначала происходит ко пирование БД model в основной ф.айл данных;
физически создается новая пользова тельская БД и ее метаданные. При этом копируются объекты системной БД и все пользовательские объекты, размещенные в БД model, например таблицы, представ ления, хранимые процедуры и пользовательские типы данных. Затем SQL Server заполняет оставшуюся часть каждого файла страницами данных. Все добавленные страницы (кроме тех специализированных страниц, которые используются для ука зания на физическое размещение данных, например GAM, SGAM и IAM) пусты. В основном файле данных обязательно должно быть место для добавления новой ин формации о каталоге в системные таблицы. В основных файлах данных всегда содер жатся системные таблицы.
Примечание БД tempdb создается заново при каждом запуске SQL Server 2000. При ее создании используются метаданные из БД model.
Каждая новая пользовательская БД наследует от БД model не только ее объекты, но и все ее свойства и параметры (tempdb не наследует свойства и параметры БД).
Чтобы изменить свойства БД для всех новых баз, измените соответствующие свой ства БД model. Эти параметры также можно изменять уже после создания пользова тельской БД. О способах определения и изменения свойств БД Ч в занятии 2 этой главы.
Каждая новая БД наследует от БД model выбранную по умолчанию последователь ность сортировки (collation setting), которая совпадает с последовательностью сорти ровки, выбранной для всех системных БД (этот параметр выбирается в процессе ус тановки SQL Server). Изменить заданную по умолчанию последовательность сорти ровки для системных БД нелегко Ч для этого нужно иметь доступ ко всем сценариям и данным, необходимым для обновления пользовательских БД и их объектов. При этом выполняется экспорт всех пользовательских данных, все пользовательские БД удаляются, системные БД создаются заново, после чего выполняется повторная за грузка в систему всех пользовательских данных. В тех средах, где для ведения БД ис пользуют разные языки и, следовательно, не совпадающие параметры сортировки, удобно выбирать различные последовательности сортировки для разных пользователь ских БД. При этом последовательности сортировки для пользовательской и для сис темных БД могут различаться. Изменить выбранную по умолчанию последовательность сортировки для новой пользовательской БД можно в процессе ее создания или после того, как вы ее создали, загрузили данные и создали объекты (но это непросто Ч нуж но сначала экспортировать все пользовательские данные, обновить все объекты БД, и только затем загрузить обратно все пользовательские данные).
Примечание Права на создание пользовательских БД предоставлены только тем пользователям, которым назначена роль sysadmin или dbcreator, а также пользовате лям, которым отдельно предоставлено такое право. О правах на совершение опреде ленных действий и о ролях Ч в главах 10 и 11.
Создание пользовательских баз данных в SQL Server Enterprise Manager С помощью SQL Server Enterprise Manager вы можете создавать пользовательские БД двумя способами: с помощью мастера Create Database Wizard или щелкнув правой кнопкой объект Databases в консоли SQL Server Enterprise Manager и выбрав команду Занятие 1 Создание пользовательской базы данных New Database. Мастер Create Database Wizard облегчит задачу создания новой БД для неопытных пользователей, однако его использование накладывает некоторые огра ничения на физическую реализацию БД. Если вы решили разместить создаваемую БД на нескольких дисках и использовать дополнительные файлы данных, то исполь зовать мастер Create Database Wizard нельзя.
Работа с мастером Create Database Wizard Все мастеры, входящие в SQL Server Enterprise Manager, можно вызвать из меню Tools, а также из панели инструментов SQL Server Enterprise Manager. На рис. 6-1 показано окно Select Wizard, из которого можно вызвать ряд мастеров, в том числе и Create Database Wizard.
Regelл Sfliva ;
Cieate I ndeK Wizard ;
- Cieate Logm Wizard - - Create Slued Pioceobre Wizard --Create View Wiiaid ХFill-Text Induing Wizard ! Data Т rantlni nation Servicei Х CTSExportWijwd DTSlmpлtWi;
arJ. Management Backup Wizard Co Database WJMTd Х Create WeitWcard ;
Create J ob W и ad DatabanHoirMnncePtanWiMd ;
Ind Т uningWizard - Made Masba SeiverWizaitt - Make Target Save Wizard ' -WabAttntantWEard Рис. 6-1. Окно Select Wizard После запуска мастера Create Database Wizard программа предлагает указать имя новой БД в диалоговом окне Name The Database And Specify Its Location. Здесь также можно изменить заданный по умолчанию путь к файлу данных и журналу транзак ций. Если вы создаете БД с помощью мастера Create Database Wizard, то оба файла размещаются в одном месте (рис. 6-2).
Name the Dalabaic and Specify ill Location Specify a name lor (he database, following the пи: lot idenliSeis Tup Рис. 6-2. Выбор имени БД ц размещение ее на диске Хf дй Создание и конфигурирование пользовательских баз данных Глава В окне Name The Database Files необходимо указать логическое и физическое имя файла для каждого файла данных (при использовании мастера Create Database Wizard логическое и физическое имена совпадают). Вы можете также добавлять дополнитель ные файлы данных в каталог, выбранный по умолчанию для размещения файлов БД, а также задавать начальный размер для каждого файла данных. Устанавливаемый по умол чанию размер файла данных равен J Мб (рис. 6-3).
Нале the Databaie Filet Specif tin name of one a mar file! - which the database is canlain'id Spe иге taeachol the files Рис. 6-3. Выбор имен файлов БД В окне Define The Database File Growth задаются параметры увеличения размера всех файлов данных. Обратите внимание, что по умолчанию устанавливается величи на приращения для всех файлов данных, равная 10 % от их объема, и при этом размер файла данных не ограничивается. При использовании мастера Create Database Wizard нельзя задавать различные параметры увеличения размера для каждого файла данных по отдельности. Определение параметров увеличения размера для файлов данных показано на рис. 6-4. Подробнее об этом Ч в занятии 3 этой главы.
Define the Database File Giowlh Specify i*elher the database liles slwuH дсол automatically, o" sr> jjou ?nlaige them л1 г ".. '. -!-. *Х' зЛ*аЙ*Ьл>егач* MiM!i>jnHJi*IWs
Х ч?
Рис. 6-4. Определение параметров увеличения размера файлов данных Окно Name The Transaction Log Files позволяет указать логическое и физическое имя файла журнала транзакций (при использовании мастера Create Database Wizard они совпадают). Кроме того, в этом окне можно добавить дополнительные журналы транзакций, размещенные в каталоге, выбранном по умолчанию для хранения фай Занятие 1 Создание пользовательской базы данных лов журнала, а также задать начальный размер для каждого журнала транзакций. По умолчанию размер файла журнала транзакций равен 1 Мб (рис. 6-5).
В окне Define The Transaction Log File Growth задаются параметры увеличения размера всех журналов транзакций. Обратите внимание, что по умолчанию устанав ливается величина приращения для всех файлов журнала транзакций, равная 10 % от их объема, и при этом размер файла журнала транзакций не ограничивается. При ис пользовании мастера Create Database Wizard нельзя задавать различные параметры увеличения размера для каждого файла журнала транзакций по отдельности. Опреде ление параметров увеличения размера файлов журнала транзакций показано на рис.
6-6. Подробнее об этом Ч в занятии 3 этой главы.
e Traniactian Log File.
if the папе of one or more lies in whch Ihe transaction log в cortained the inihd lite IBS la each of the Met Рис. 6-5. Выбор имени файла журнала транзакций Define the Traniaction Log File Growth Specify whether (he transaction log liles shoirtd grow aulDmalicjJIy, я fliow onlji *лhen you ev$ct\y enlarge them C.'-i...iijf. 1^>,' i" Г -Х!.-:.%.. 1. ft'-J-J.-Х Рис. 6-6. Определение параметров увеличения размера файлов журнала транзакций Окно Completing The Create Database Wizard позволяет просмотреть установлен ные вами значения параметров перед непосредственным созданием новой БД (рис. 6-7). Чтобы изменить значение любого из указанных параметров, щелкните кнопку Back. Чтобы создать новую БД, щелкните Finish.
После успешного создания новой БД мастер Create Database Wizard предложит вам задать график обслуживания. Щелкните No. Подробнее о создании плана обслужива ния БД Ч в главе 13.
Глава Создание и конфигурирование пользовательских баз данных Completing the Create Database Wizard Рис. 6-7. Просмотр выбранных значений параметров перед созданием новой БД Упражнение 1. Создание базы данных с помощью мастера Create Database Wizard из SQL Server Enterprise Manager В этом упражнении вы создадите БД средствами мастера Create Database Wizard, доступного в SQL Server Enterprise Manager.
> Чтобы создать БД с использованием мастера Create Database Wizard 1. Убедитесь, что вы зарегистрировались на контроллере домена SelfPacedSQL.MSFT под учетной записью Administrator.
2. Чтобы запустить SQL Server Enterprise Manager, раскройте меню Start\Programs\ Microsoft SQL Server и выберите Enterprise Manager.
Откроется главное окно SQL Server Enterprise Manager;
в корне консоли будут ото бражаться деревья Microsoft SQL Servers и Event Viewer (Local).
3. В дереве консоли последовательно раскройте контейнеры Microsoft SQL Servers и SQL Server Group, а затем щелкните контейнер экземпляра SQL Server no умол чанию.
4. В меню Tools щелкните Wizards.
Откроется окно Select Wizard.
5. В диалоговом окне Select Wizard раскройте узел Database и дважды щелкните Create Database Wizard.
Откроется окно Welcome To The Create Database Wizard.
6. Щелкните Next.
Откроется окно Name The Database And Specify Its Location.
7. В поле Database Name введите WizardDB.
8. Просмотрите каталоги по умолчанию для файла БД и журнала транзакций и щел кните Next.
Откроется окно Name The Database Files. Обратите внимание на выбранное по умолчанию логическое имя и заданный по умолчанию начальный размер основ ного файла данных. Вы можете добавлять к БД дополнительные файлы данных, но размещать их можно только в каталоге, выбранном по умолчанию.
9. В поле Initial Size (MB) введите 10 и щелкните Next.
Занятие 1 Создание пользовательской базы данных Откроется окно Define The Database File Growth. Просмотрите значения парамет ров, заданные по умолчанию.
10. В поле Grow The Files By Percent: введите 25.
11. Установите переключатель в положение Restrict File Growth To MB: и введите в поле Restrict File Growth To MB: 30.
12. Щелкните Next.
Откроется окно Name The Transaction Log Files. Обратите внимание на выбранное по умолчанию имя и начальный размер файла журнала транзакций. По умолча нию для журнала транзакций устанавливается тот же самый начальный размер, что и для файла данных.
13. В поле Initial Size (MB) введите 4 и щелкните Next.
Откроется окно Define The Transaction Log File Growth.
14. Установите переключатель в положение Grow The Files In Megabytes (MB): и вве дите в поле Grow The Files In Megabytes (MB): 3.
15. Установите переключатель в положение Restrict File Growth To MB: и введите в поле Restrict File Growth To MB: 15.
16. Щелкните Next.
Откроется окно Completing The Create Database Wizard.
17. Щелкните Finish.
Появится окно мастера Create Database Wizard с сообщением об успешном созда нии БД.
18. Щелкните ОК, Мастер Create Database Wizard предложит вам создать план обслуживания новой БД.
19. Щелкните No.
20. В дереве консоли SQL Server Enterprise Manager последовательно раскройте кон тейнеры экземпляра SQL Server по умолчанию и Databases.
В списке БД присутствует WizardDB, t 21. Щелкните WizardDB правой кнопкой и выберите Properties.
Откроется окно WizardDB Properties.
22. На вкладке Data Files просмотрите свойства файла данных БД WizardDB.
23. На вкладке Transaction Log просмотрите свойства файла журнала транзакций БД WizardDB.
24. Закройте окно WizardDB Properties, щелкнув Cancel.
25. Не закрывайте главное окно SQL Server Enterprise Manager.
Создание пользовательских баз данных при помощи SQL Server Enterprise Manager Чтобы создавать БД непосредственно при помощи SQL Server Enterprise Manager, в дереве консоли щелкните правой кнопкой Databases и выберите New Database. От кроется вкладка General диалогового окна Database Properties (рис. 6-8), где для но вой БД можно выбрать последовательность сортировки, отличающуюся от выбран ной по умолчанию.
На вкладке Data Files (рис. 6-9) можно создать дополнительные файлы данных, определив для них разные параметры. Вы можете также создать пользовательские группы файлов и разместить дополнительные файлы данных в определенных группах файлов. О различных способах размещения файлов БД Ч в занятии 4 этой главы.
Глава 152 Создание и конфигурирование пользовательских баз данных Рис. 6-8. Вкладка General диалогового окна Database Properties mm Г. r№..
Д,, Г "" Рис. 6-9. Вкладка Data Files диалогового окна Database Properties На вкладке Transaction Log (рис. 6-10) можно создать дополнительные файлы журна ла транзакций, определив для них разные параметры.
Создание пользовательской базы данных Занятие Ш -',4:1 '"" 'ХХ'' ''-'Х Х'' JM. Ч''!
ИГ*г Рис. 6-10. Вкладка Transaction Log диалогового окна Database Properties Упражнение 2. Создание базы данных с помощью SQL Server Enterprise Manager В этом упражнение вы создадите БД средствами SQL Server Enterprise Manager.
>Х Чтобы создать БД при помощи SQL Server Enterprise Manager 1. В дереве консоли SQL Server Enterprise Manager раскройте структуру Microsoft SQL Servers, затем Ч SQL Server Group и структуру экземпляра SQL Server, установлен ного по умолчанию.
2. Правой кнопкой шелкните Databases и выберите New Database.
Откроется вкладка General диалогового окна Database Properties.
3. В поле Name введите SSEMDB и перейдите на вкладку Data Files.
Просмотрите значения следующих параметров файла данных, установленные по умолчанию: логическое и физическое имя файла, путь к нему, размер файла, груп пу файлов, в которую включен данный файл, а также величину приращения раз мера файла.
4. В столбце Fife Name таблицы свойств файлов данных измените имя основного файла. Для этого в первой строке щелкните текущее имя и введите новое Ч SSE MDB_Datal.
Физическое имя файла в поле Location также изменится на SSEMDB_Datal_Da ta.mdf.
5. В столбце Initial Size (MB) введите 50.
6. В поле By Percent: группы элементов управления File Growth введите 15.
7. В группе элементов управления Maximum File Size выберите параметр Restrict File Growth (MB), затем в поле Restrict File Growth (MB) введите 150.
8. Щелкните вторую строку столбца File Name и введите SSEMDB_Data2.
Просмотрите значения параметров нового файла данных. Обратите внимание на то, что для дополнительных файлов данных используется расширение имени фай ла.ndf.
Создание и конфигурирование пользовательских баз данных 154 Глава 9. Измените место размещения дополнительного файла данных. Установите следу ющий путь: C:\SSEMDB_Data2_Data.ndf, Для повышения производительности в системах, обслуживающих работу предпри ятий, не рекомендуется размешать дополнительные файлы данных на том же са мом жестком диске, что и основной файл данных.
Pages: | 1 | 2 | 3 | 4 | 5 | ... | 10 | Книги, научные публикации