Книги, научные публикации Pages:     | 1 | 2 | 3 | 4 | 5 |   ...   | 9 |

Kit Exam 70-228 SQL Server 2000 System Administration курс Сертификационный экзамен 70-228 Администрирование Microsoft SQL Server 2000 Официальное пособие Microsoft для самостоятельной подготовки ...

-- [ Страница 3 ] --

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 6. Service Pack 3 или более позднюю. Независимо от выбранного метода обновления SQL Server Upgrade Wizard будет использовать сетевую библиотеку Named Pipes (имено ванные каналы). Для этого необходимо настроить SQL Server 6.5 и 2000 для исполь зования канала по умолчанию Наконец, для перехода с SQL Ser ver 6.5 на 2000 требуется дополнительное свободное пространство на жестком диске (примерно в полтора раза больше, чем для пользовательских БД в SQL Server но оно требуется только во время самой установки. Чтобы оценить требуемое ство памяти, можно использовать SQL Server Upgrade Wizard.

SQL Server 7. Для обновления версии SQL Server 7.0, работающей под управлением Windows NT 4.0, перед установкой SQL Server 2000 необходимо установить Service Pack 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 на не Переход на SQL Server 2000 Глава требует наличия дополнительного свободного на диске, хотя в процес се обновления с помошью Copy Database Wizard может понадобиться ная память, если БД не переносится, а копируется.

Подготовка к переустановке Перед тем как приступать к выполните действия с рабочей версией SQL Server:

Х завершите все пользовательские сеансы и закройте доступ ко всем файлам в БД;

Х создайте резервные копии всех системных и пользовательских БД (включая mas ter);

Х проверьте целостность БД при соответствующих команд Database Console Commands (DBCC), чтобы обеспечить согласованность БД (например DBCC Х если рабочая версия Ч 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 остается доступным. Однако такая пере установка не обновляет сервера и не может использоваться при реп ликации. Наконец, необходимо подготовить необходимые БД для обновления и сде лать копии, чтобы восстановить информацию в случае повреждения.

Занятие SQL Server 7. 2. Обновление SQL Server 7. Во время установки SQL Server 2000 на компьютер, где установлен SQL Server 7.0, можно обновить версию до 2000. После установки следует выполнить опре деленные действия, чтобы добиться наивысшей производительности версии. Но учитывайте, что некоторые объекты при этом не обновляются вообше, а некоторые должны обновляться отдельно от обшего процесса переустановки.

Изучив материал этого занятия, вы сможете:

обновить SQL Server 7.0 до 2000;

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

вручную обновить службы поддержки метаданных (meta data Services Information Models) и базу данных (repository Продолжительность занятия Ч около минут Переход к версии SQL Server Чтобы начать процесс обновления версии, запустите программу установки SQL Server 2000. Если она обнаружит уже установленную версию SQL Server, то предложит вы брать дальнейший вариант обновления: обновить, удалить или добавить компоненты к экземпляру SQL Server на вашем компьютере (рис.

Рис. 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. Системные БД обновляются с помощью заранее Переход на SQL Server 2000 созданных сценариев;

происходит также обновление реестра. В этот же момент об новляются MDAC 2.6 и инструментарий пользователя, несмотря на то, что это об новление уже происходило при установке именованного экземпляра SQL Server 2000.

, 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 (за исключением обновлен ного локального экземпляра). Подробнее о регистрации серверов Ч в главе Обновление таблиц служб поддержки метаданных и базы данных репозитория вручную При переходе с версии SQL Server на SQL Server 2000 службы Data Services, необходимые для работы с DTS, не обновляются в ходе установки. Их та придется обновить вручную, чтобы восстановить версию пакета DTS и использовать ее как входные и выходные данные служб поддержки Занятие 2 SQL Server 7.0 Ч _ * При таком обновлении структура служб поддержки метаданных позво ляет поддерживать новые возможности SQL Server 2000 и сохраня ет текущие данные БД репозитория в новой структуре таблиц. Описание и синтаксис команд, используемых для обновления таблиц служб поддержки метаданных вруч можно найти в электронной документации SQL Server Books Online в разделе Information model.

Кроме того, БД репозитория, используемую службами поддержки также необходимо обновить вручную, чтобы можно было работать с новым мом репозитория Repository Engine 3.0, устанавливаемым при переходе на SQL Server 2000. Описание и синтаксис команд, используемых для обновления БД репозитория вручную содержится в электронной документации SQL Server Books Online в разделе Upgrading and Migrating a Repository Подробнее о DTS, службах поддерж ки метаданных и репозитории служб поддержки метаданных (Meta Data Services repository) Ч в главе 7.

Резюме Программа установки SQL Server 2000 используется для перехода с текущей версии SQL Server на 2000. После окончания установки SQL Server 2000 полностью заменяет SQL Server 7.0, Для оптимизации работы обновленной версии системный админи стратор должен обновить данные статистики и полнотекстовые каталоги (если ис пользуется полнотекстовый поиск), Наконец, необходимо вручную обновить табли цы служб поддержки метаданных и репозитории, используемый службами поддерж ки метаданных, чтобы обеспечить возможность использования новых функциональ ных возможностей, имеющихся в SQL Server 2000.

Глава на SOL Занятие 3. Оперативное обновление баз данных SQL Server 7. Во время оперативного обновления БД SQL Server 7.0 для работы с SQL Server используется мастер Copy Database Wizard. Вы можете обновлять БД на локальном компьютере, где установлен SQL Server 7.0, или на удаленном компьютере. Обновля емую БД можно копировать и перемещать. После установки необходимо выполнить некоторые действия для обеспечения наивысшей производительности обновленной версии.

Изучив материал этого вы сможете:

оперативное обновление БД SQL Server 7.0 до 2000;

определить, что нужно сделать после завершения обновления БД.

Продолжительность - около минут Оперативное обновление баз данных Для оперативного обновления БД ьзуется мастер копирования БД (Copy Database Wizard), который вызывается из SQL Server Enterprise Manager. Запустить его можно либо из меню щелкнув правой кнопкой экземпляр SQL Server 2000 и затем выбрав All Tasks\Copy Database Wizard, либо Wizards из экра на задач, если выбран режим отображения (рис. 4-3).

Рис. 4-3. Запуск мастера Copy Database Wizard из меню All Tasks Занятие 3 Оперативное обновление SOt Server 7. Чтобы обновить БД с Copy Database Wizard, сделайте следующее.

Запустите Copy Database Wizard, используя один из указанных выше методов. Ког да откроется окно Welcome To The Copy Database кнопку 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. После того как выбран сервер, откуда будут скопированы данные, в окне A Destination Server нужно выбрать сервер, на который они будут копироваться. Для этого щелкните кнопку рядом со списком, чтобы просмотреть список активных экземпляров SQL Server. Выбираемый сервер не должен быть тем с которого вы запускаете Copy Database Wizard. При копировании или нии БД с сервера на сервер обратите внимание на один момент: учетная запись, используемая службой SQL Server на сервере, куда перемещаются данные, должна быть учетной записью пользователя домена, соответствующие на копирование файлов в сети. Учетная запись пользователя локальной системы та ких прав не имеет, и поэтому она может использоваться только в том случае, сервер, откуда копируются данные, и сервер, на который они копируются, уста новлены на одном компьютере. Устанавливать соединение с сервером при копи ровании данных можно, используя либо средства проверки подлинности Windows, Глава на SQL Server либо учетную запись пользователя SQL Server, правами системного администратора на сервере, куда копируются данные (рис. 4-5).

Х.,.. ч, 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 на который копируется или перемешается БД, для хранения файлов БД по умолча нию используется папка Data. В диалоговом окне Database Files также содержится информация об объеме свободного места на диске, куда копируются данные 4-7).

Рис. 4-7. Изменение местоположения файлов данных и журнала по умолчанию 6. По умолчанию все учетные записи копируемых или перемещаемых БД, а также все учетные записи которые применяются в хранимых рах, задачах и пользовательских об ошибках, копируются вместе с БД.

Но вы можете изменить этот режим и выбрать для копирования лишь несколько отдельных учетных записей в окне Select Related Objects (рис. 4-8).

Related Sored Г Рис. 4-8. Выбор обновляемых объектов БД Переход на SQL 7. В окне Schedule The DTS Package вы можете установить время начала копирова ния или чтобы оно происходило либо немедленно, либо в опре деленное время, либо как запланированный пакет DTS с отложенным исполне нием. При этом проверьте, что пакет DTS может перевести в режим монопольно го доступа используемые в качестве источника, чтобы затем копировать их или перемешать. В противном случае работа пакета DTS будет прервана с соответ ствующим сообщением об ошибке. Если Server Enterprise Manager (или любой дру гой клиент) подключается к серверу, используемому как источник данных во вре мя работы такое соединение автоматически прерывает работу пакета (рис. 4-9).

Рис. 4-9. Планирование выполнения пакета DTS 8. В зависимости от того, какая операция выполняется (копирование или перемеще ние файлов), открывается либо окно Completing The Copy Database либо Completing The Move Database Wizard. Проверьте правильность параметров копи рования затем щелкните кнопку Finish (рис. 4-10).

Completing the Copy Рис. 4-10. Завершение работы Copy Database Wizard Занятие Оперативное баз данных SQL Server 9. В диалоговом окне Log Detail (рис. указано фактическое время копирования или перемещения. Здесь же содержится о состоянии каждого файла, а все сообщения об ошибках, произошедших во время работы, Рис. 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 чтобы установка SQL Server 2000 про шла без осложнений.

Изучив материал этого занятия, вы сможете:

переход с SQL Server 6,5 на 2000;

решить все вопросы по обновлению SQL Server 6.5;

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

Продолжительность занятия Ч около 30 минут Обновление версии Для перехода с SQL Server 6.5 на 2000 запустите SQL Server Upgrade Wizard с компью тера, на котором SQL Server 2000 используется в качестве экземпляра, установленно го по умолчанию. Для этого в группе программ Microsoft SQL Server выберите Switch.

Этот мастер (утилита имеется на любом компьютере, где SQL Server установлен в качестве экземпляра, используемого по умолчанию, в каталоге Upgrade Ч \Program SQL (рис. 4-12).

№ Рис. 4-12. Запуск мастера SQL Upgrade Wizard Обновление Server 6. Для подключения к серверу 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).

to the SQL Server Upgrade Wizard to transfer server configuration and a E 5 SQL to the copy of ч on process fas reed stop and carefully the Upgrading in Online.

Рис. 4-13. Мастер SQL Server Upgrade Wizard 2. В окне Data And Object Transfer мастер поможет вам выбрать метод установки.

Непосредственно обновление можно производить на одном компьютере, исполь зуя для передачи данных либо именованные каналы, либо внешнее Ч ленту (соответствующий элемент управления будет доступен, только если на ло кальном компьютере имеется устройство для чтения и записи на ленту). Вы можете включить дополнительную проверку, например выбрать режим, в котором мастер SQL Server Upgrade будет подтверждать успешное перемещение объектов данных. В этом случае мастер составляет список всех объектов в БД SQL Server 6.5 и количество записей в каждой таблице до обновления, и затем вает этот список со списком, полученным после установки. Если в этих двух ках возникнут какие-либо несоответствия, мастер сообщает о них. Эта проверка выполняется в дополнение к сообщениям о различных проблемах при создании объектов БД. Сообщения об ошибках по умолчанию записываются в журналы ошибок. Мы настоятельно рекомендуем выбирать такой низкий уровень провер ки. Следующий уровень Ч это выполнение полного побайтового сравнения каж дого поля в каждой таблице и вычисления контрольной суммы с целью убедиться, что данные не изменились в результате обновления. Этот уровень проверки чительно увеличивает время установки. Ошибки обнаруживаются очень редко, Переход на SQL Server 2000 однако при наличии достаточного количества времени этот уро вень проверки также выполнять (рис. 4-14).

Рис. 4-14. Выбор способа и параметров установки 3. В окне Logon укажите имя с установленной на нем версией SQL Ser ver 6.5, которую вы хотите обновить. Этот сервер называется экспортирующим (export server). По умолчанию им является компьютер, на котором запускается мастер, но вы можете выбрать любой другой компьютер в домене. на ко торый вы устанавливаете новую версию, быть сервером, на котором рабо тает Ч импортирующим (import server).

Примечание Если вы обновляете реплицируемую БД, необходимо реустановку на одном компьютере. Во время обновления должен быть установлен уро вень совместимости БД 70.

Рис. 4-15. Ввод необходимых для проверки подлинности реквизитов экспортирующего и серверов Кроме того, для обоих серверов Ч экспортирующего и принимающего Ч необхо димо указать пароль учетной записи администратора SQL Server. В поле Optional Занятие SQL 6. startup arguments для обоих серверов можно ввести необязательные параметры за пуска (рис. 4-15).

4. После того как будет выбрано имя сервера, где обновляется версия, а также дан ные, необходимые для проверки подлинности, и необязательные параметры за пуска для обоих серверов, мастер выводит окно с предупреждением, что работа обоих экземпляров SQL Server должна быть приостановлена, а затем оба сервера должны быть вновь запушены. При этом будут использоваться уже новые данные для проверки подлинности и параметры запуска. Выполняя соответствующую про верку, мастер также получает из БД информацию о кодовой странице, мой SQL Server 6.5.

Далее открывается окно Code Page Selection. Мастер требует выбрать кодовую стра ницу, которая используется создания сценариев обновления версии. Большин ство пользователей выбирают используемую по умолчанию. Кодовая страница, ис пользуемая в сценариях обновления, должна соответствовать кодовой странице обновляемой БД 4-16).

' Code may an code page Most users use.

Рис. 4-16. Выбор кодовой страницы для сценариев 5 В окне Upgrade Databases To SQL Server 2000 выберите БД, которые нужно обно вить. БД master, msdb, publication, pubs и выбрать нельзя. Обновлять можно только БД 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 вы можете определить Глава на SQL Server конфигурацию файлов БД и изменив конфигурацию, установленную по умолчанию. Для этого использовать либо БД, предварительно создан ные в SQL Server 2000, либо (рис. 4-18). кнопку Edit в окне Database Creation, откройте окно SQL Server Upgrade Wizard. Здесь вы можете изменить место размещения файла и его первоначальный размер, а также величину приращения автоматическом увеличении размера файла (рис. 4-19).

to SQL ou accept Рис. 4-17. Выбор обновляемых БД How do you I Рис. 4-18. Задание параметров конфигурации БД при обновлении 7. Далее в окне System Configuration необходимо выбрать системные объекты, кото рые нужно сохранить при переходе на новую версию. К ним относятся данные о конфигурации сервера (информация о локальной системе и зарегистрированные учетные записи для удаленного входа в систему), параметры репликации чая все группы данных, публикуемые и принимаемые данные) и параметры на стройки SQL Executive (включая все задачи и установленные расписания). Кроме того, для БД необходимо установить режимы и QUOTED_IDEN TIFIER. Мастер использует эти установки для всех создаваемых им объектов БД.

Дополнительная информация содержится в разделе System Обновление Server 6. системы SQL Server Books Online. Значения параметров, которые димо установить, сильно зависит от БД SQL Server 6.5 и от того, каким образом в них создавались объекты (рис. 4-20).

в С Х d в Group в Х в Рис. 4-19. Изменение конфигурации БД your to г.

Рис. 4-20. Выбор сохраняемых системных объектов 8. Окно Completing The SQL Server Upgrade Wizard завершает работу с мастером.

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

Чтобы начать процесс установки новой версии, кнопку Finish (рис. 4-21).

Во время установки в диалоговом окне SQL Server Upgrade Script Interpreter ото бражается информация о каждом выполняемом действии. После завершения про обновления система выдает соответствующее предупреждение (рис. 4-22).

Если в процессе обновления происходит ошибка, подробная информация о ней также отображается на экране, на 2000 Глава Completing the Server Wizard SOL fox Рис. 4-21. Завершение работы мастера SQL Server Upgrade Рис. 4-22. Сообщение об окончании установки Устранение ошибок при обновлении SQL Server 6. Если SQL Server Upgrade Wizard обнаружил ошибки во время обновления, то во мя установки система выдаст вам предупреждение. Информация об ошибках содержится также в журналах установки, которые создает мастер, отмечая в них все возникшие во время обнсвления проблемы. Типичная ошибка Ч ность создать некоторые объекты или таблицы (в этом случае вам придется создавать их вручную после обновления). Вот наиболее вероятные причины этого:

Х отсутствует текст в таблице Х объекты были с использованием (соответствующая строка в таблице syscomments не обновлялась при переименовании объекта);

Х использовались вложенные хранимые процедуры (в таблице syscomments нет стро ки, относящейся к вложенной процедуре);

Х в и представлениях в качестве имен столбцов используются значения NULL (при этом мастер не может описать данные объекты);

4 SQL Server 6. Х таблицы создавались с использованием учетной записи пользователя, не имею шего на это прав;

Х хранимая процедура изменяет или ссылается на системную таблицу, не существу ющую в SQL Server 2000.

Еще одна проблема, которая может Ч это различные имена вашего компьютера и сервера. Имя сервера выдает функция Чтобы менить имя сервера и согласовать его с именем компьютера, используйте системные хранимые процедуры и Выбор уровня совместимости с прежней версией для обновленных баз данных Если вы обновляете БД SQL Server 6.5 для работы с SQL Server 2000, вполне вероят но, что в обновленных БД будут созданы новые объекты, которые будут измененные при обновлении параметры. На работу большинства приложений эти изменения не влияют, но иногда приложения приходится обновлять. В SQL Server 2000 вы можете установить уровень совместимости с прежней который зволяет сохранить прежний режим работы и в то же время поддерживает почти все присущие SQL Server 2000 возможности, Такой режим позволяет отложить ние приложений. Выбор уровня совместимости с прежней версией затрагивает лишь небольшое количество операторов После обновления версии проверь те все приложения, имеющиеся в системе. Если необходимо установить соответству ющий уровень совместимости с прежней версией для обновленной БД, используйте системную хранимую Вы можете выбрать одно из следую щих значений уровней совместимости: 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, но не удаляется, что позволяет проверять правильность установки. Просмотр журналов установки позволяет определить, какие объекты не были обновлены при переходе к новой версии. После завершения перехода к новой версии проверьте име в системе приложения и при необходимости используйте уровни совмести мости с прежней пока приложения не будут обновлены.

' Переход на SOL 2000 Глава Закрепление материала 7 J Приведенные ниже вопросы помогут вам лучше усвоить основные темы дан ной главы. Если вы не ответить на вопрос, повторите материал соот ветствующего занятия. Правильные ответы приведены в приложении Воп росы и ответы в конце книги.

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 и решили обновить текущую версию. Однако вы не можете определить местонахож дение мастера SQL Server Upgrade Wizard. Его нет в меню Start, и вы не можете найти его на жестком диске. Почему?

Системные и пользовательские базы данных Занятие Архитектура базы данных 2. Структура журнала транзакций 3. Система запросов и каталоги баз данных В этой главе Прежде чем и конфигурировать пользовательские БД, вам необходимо уз нать, как организованы БД SQL Server 2000 на физическом уровне. Кроме того, нуж но ознакомиться с тем, как устроен журнал и как он работает, какие наи более широко используемые системные таблицы в системном каталоге и каталогах БД, как выполнить запрос к этим таблицам для получения данных, описы вающих системные и пользовательские Ч метаданных.

Прежде всего Для изучения материалов этой главы вам потребуются:

Х компьютер, минимальным аппаратным требованиям, перечи сленным в главе 2;

Х Microsoft Windows 2000 Server, установленная на разделе диска с файловой систе мой NTFS;

компьютер, сконфигурированный как сервер или контроллер домена Х один установленный по умолчанию и по крайней мере один именованный экзем пляр SQL Server 2000.

и Глава Архитектура базы данных Как уже упоминалось, любая БД SQL Server 2000 (и системная, и пользовательская) включает в себя как минимум один файл данных (data file) и один файл журнала закций (transaction log file). В этом занятии речь пойдет об архитектуре файлов дан ных, о том, как выделяется пространство и каким образом происходит управление им. Также здесь обсуждается организация страницы данных и страницы индексов внутри файлов данных.

Изучив материал этого занятия, вы сможете:

просмотреть свойства файлов данных;

рассказать, как SQL Server 2000 выделяет и управляет свободным пространством в файле данных;

рассказать, как SQL Server 2000 организует страницы данных и индексов в файле данных.

Продолжительность занятия - около минут Введение в файлы данных Каждая БД SQL Server 2000 имеет один основной файл данных и может иметь допол нительные файлы данных, каждый из которых используется только этой БД. Каждый файл данных представляет собой файл операционной системы. Основной файл обычно имеет расширение (это требование не является строго обязатель ным, но его соблюдение идентификацию файлов данных). Основной файл содержит данные и индексов, а также служебную информацию, которую SQL Server 2000 использует при работе с БД. Он содержит системные таблицы, хранят ся описания объектов БД. Также основной файл данных включает информацию о расположении всех дополнительных файлов БД (сюда относятся дополнительные файлы данных и файлы журнала транзакций). Дополнительные файлы данных име ют, как правило, расширение (что также не является обязательным требовани ем). Дополнительные файлы данных в основном используются, когда БД размещает ся на разных дисках, SQL Server 2000 хранит информацию о расположении всех файлов БД в двух мес тах: в БД master и в основном БД. Сервер в большинстве случаев использует информацию из БД master. К основному файлу он обращается тогда, когда выполня ются действия, в ходе которых информация в БД master должна быть изменена, при обновлении версии с SQL Server 7.0 до 2000, восстановлении БД master и добав лении БД к SQL Server 2000 при помощи системной хранимой процедуры sp_at Каждый файл данных (и основной, и имеет ко торое используется в операторах и используемое Win dows. Логическое имя должно быть уникально для отдельной БД и должно соответ ствовать правилам именования, принятым для идентификаторов SQL Server. Подроб нее о логических именах файлов Ч в разделе справочной системы SQL Server Books Online. Физическое имя файла должно удовлетворять правилам име нования установленным для операционной системы, которую вы используете.

К дополнительным свойствам файлов данных относятся идентификатор (identifier, начальный размер, величина при увеличении размера (если она за 1 базы дана) и максимальный размер. Эти данные хранятся на странице заголовка файла (File Header page), которая является первой страницей любого файла данных. SQL Server уникально идентифицирует страницы в файлах данных по номеру файла и номеру страницы. Для нумерации страниц используются последовательные номера, начиная с 0. Подробнее о задании и изменении свойств файлов данных Ч в главе 6.

Примечание Файлы данных и файлы журнала транзакций SQL Server не могут хра ниться в файловых системах, использующих сжатие данных.

Упражнение Просмотр свойств файлов данных В этом упражнении вы просмотрите некоторые свойства файлов данных.

Чтобы свойства файла данных 1. Убедитесь, что вы зарегистрировались на контроллере домена под учетной записью Administrator.

2. Раскройте меню 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 использует смешанный экстент для хранения ших объемов данных не более чем восьми различных объектов, тогда как однород ный экстент используется для хранения данных одного объекта.

Системные и базы При создании новой индекса SQL Server 2000 находит смешанный экстент, содержащий одну свободную страницу, и связывает ее с созданным объек том. Страница содержит данные, относящиеся только к одному объекту. Если объек ту требуется дополнительное пространство, SQL Server 2000 распределяет свободное пространство из смешанных экстентов, и так происходит до тех пор, пока не будут использованы 8 страниц. Затем SQL Server 2000 однородный экстент для этого объекта. Если в файлах данных нет свободного места и разрешено автоматичес кое увеличение их размера, SQL Server 2000 будет увеличивать их размер по алгорит му циклического обслуживания.

Когда SQL Server 2000 нуждается в смешанном экстенте, содержащем хотя бы одну свободную страницу, используется страница глобальной карты разме щении Global Allocation Map, SGAM). Каждая страница SGAM Ч это би товая карта 64 000 экстентов (примерно 4 Гб), которая используется, чтобы опреде лить расположение смешанных имеющих свободные страницы. Каждому экстенту соответствует 1 бит в SGAM. Если экстент Ч смешанный со свободными страницами, то значение бита равно 1;

если же он не имеет свободных страниц или является однородным, то значение бита равно 0.

Если необходимо выделить экстент из свободного пространства, для поиска неис пользованного экстента страница глобальной карты размещений (Global Allocation Map, GAM). GAM Ч это битовая карта 64 000 экстентов, каждо му из которых соответствует 1 бит. Если значение бита равно то экстент свободен, в противном случае экстент уже используется каким-либо объектом.

Примечание SQL Server 2000 обеспечивает высокую скорость размещения карт SGAM и GAM, поскольку они являются третьей и четвертой страницей первого экстента в файле данных. Первая страница первого экстента Ч страница заголовка файла, вторая Ч страница свободного пространства страниц (Page Space, PFS).

При размещении страницы объекта в смешанном или однородном экстенте ис пользуется таблица Index Allocation Map (1AM), чтобы отследить все страницы, выде ленные таблице или индексу, Каждая страница IAM может указывать на 000 стра ниц. Страницы IAM расположены в файле данных случайным образом. Все страни цы IAM одного объекта связаны друг с другом: первая страница IAM указывает на вторую и т. д.

Если необходимо вставить данные в страницы объекта, SQL Server 2000 использу ет PFS, чтобы определить местонахождение страницы, где есть свободное простран ство. Страницы PFS файла ведут соответствующие записи посредством бито вой карты, где указывается, была ли выделена страница, и указывается количество имеющегося в ней свободного пространства (пустая, заполнена на на на более чем на 95%). Каждая страница PFS включает в себя записи о 8 последовательных страницах. Первая страница PFS содержится во второй странице пер вого экстента файла данных, расположены на каждой 8 000-ой странице.

Хранение страниц индексов и страниц данных В отсутствие кластерного индекса SQL Server 2000 сохраняет новые данные на любой незаполненной странице в любом доступном экстенте, принадлежащем таблице, в которую эти данные добавляются. Этот неорганизованный набор страниц данных называется кучей (heap). Страницы данных в куче хранятся беспорядочно и никак не связаны друг с другом. Если на не определены индексы ни Архитектура базы данных для поиска записи SQL Server 2000 вынужден просматривать всю та (при этом для определения страниц, принадлежащих таблице, используются страницы JAM). Для больших таблиц это крайне неэффективно.

Чтобы ускорить поиск, разработчики БД создали индексы для быстрого нахожде ния страниц данных. Каждый индекс хранит значение индексированного столбца (или столбцов) таблицы в виде (B-tree). В-дерево Ч это сбалансированная иерархическая структура, или дерево, состоящая из корня, промежуточных (которые не строго обязательными элементами) и листьев, Все ветви дво ичного дерева имеют одинаковое количество уровней. В-дерево физически упорядо чивает записи индекса на основе значений ключа. Каждая страница индекса связана с соседними страницами.

Корневой узел 1 | Записи.

индекса.

уровень - * I | Следующая [ Предыдущая Л Предыдущая j Следующая | Записи Записи Записи...

индекса уровня листа/ Страницы данных * Предыдущая | Следующая f Г | Следующая И Предыдущая Следующая | Я!

о Записи Записи данных;

Рис. 5-1. Структура В SQL Server 2000 существует два типа индексов: кластерный и некластерный. Для кластерного индекса сервер физически сортирует страницы в файле данных, исходя из значений ключа кластерного индекса (в качестве ключа могут использоваться, на пример, фамилия клиента или почтовый индекс). Самый нижний уровень кластерного индекса представляет собой уровень данных. Когда нужно поместить новую строку данных в для которой создан кластерный индекс, SQL Server 2000 просматривает двоичное дерево, определяя место размещения (и перемещая су ществующие строки данных и индексов, если это необходимо для сохранения их фи зически упорядоченного Системные и базы данных Глава Уровень листьев некластерного индекса содержит указатель, с которого SQL Server 2000 где найти строку данных, соответствующую значению ключа некластерного индекса. При помещении новой строки данных в на которой определен только индекс, новая строка индекса добавляется в В-дерево, а новая строка данных помещается в любую страницу кучи, размещенной для этой таблицы и имеющую достаточно свободного пространства Корневой узел Узлы уровня листа Следующая | Следующая Рис. 5-2. Структура некластерного индекса Резюме SQL Server 2000 использует один или более файлов данных для хранения данных та блиц и индексов. Файлы данных являются файлами ОС. Пространство и индексов выделяется из смешанных или однородных экстентов целыми страницами, исходя из того, сколько страниц используется таблицей или индексом. Некоторые страницы имеют специальное назначение и используются для определения свобод ного пространства в файле страниц и экстентов, выделенных для объектов, а также на использованных страницах. Если не создан кластерный индекс, страницы данных хранятся в неорганизованной куче (disorganized heap). Некластерные индексы используются в качестве указателей на страницы данных, которые хранятся в куче или в структуре кластерного индекса. Если в таблице создан кластерный индекс, стра ницы данных физически упорядочиваются по значению ключа индекса и располага ются в структуре В-дерева. Страницы индекса всегда хранятся в виде В-дерева.

2 журнала 2, Структура журнала транзакций Каждая БД содержит по крайней мере один файл журнала транзакций. Журнал тран закций хранит записи обо всех изменениях БД и содержит всю информацию, необхо димую для того, чтобы отменить изменения иди выполнить их повторно. На этом занятии вы познакомитесь с архитектурой журнала транзакций, а также с файлами, которые в его состав. Кроме того, вы узнаете, как работает журнал транзакций и как его работа связана с различными моделями Изучив материал этого занятия, вы сможете:

описать организацию файлов журнала транзакций;

рассказать о том, как работает журнал транзакций;

перечислить модели восстановления, поддерживаемые SQL Server 2000;

просмотреть свойства файлов журнала транзакций.

занятия Ч около 30 минут Файлы журнала транзакций Каждая БД Server 2000 включает в себя по крайней мере один файл журнала тран закций или несколько файлов, расположенных на разных дисках. Каждый файл жур нала транзакций Ч это отдельный файл операционной системы, который использу ется только одной БД и имеет расширение (соблюдение этого правила не обяза тельно, но лучше его Каждый журнал транзакций имеет логическое имя файла, которое используется в предложениях Transact-SQL, и физическое, используемое Windows. К дополнитель ным свойствам файла относятся: идентификатор (identifier, ID), начальный размер, используемое при увеличении размера (если оно задано) и максималь ный размер. В отличие от файлов данных, которые содержат страницы, файл журна ла транзакций содержит последовательность записей журнала транзакций. Каждая запись имеет свой порядковый номер в журнале (Log Sequence Number, LSN). Несмо тря на то, что физически может существовать несколько файлов журнала транзак ций, SQL Server 2000 воспринимает их как один журнал.

SQL Server 2000 логически делит каждый физический файл журнала транзакций на несколько виртуальных файлов журнала (Virtual Log Files, VLF). Количество и раз мер виртуальных файлов журнала определяются динамически в зависимости от раз мера файла журнала транзакций. Каждый физический файл журнала со держит по крайней мере два виртуальных. Если задана величина приращения, ис пользуемая при увеличении размера файла, то добавленное к файлу пространство будет восприниматься как отдельный физический файл со своими собственными вир туальными файлами. Администратор БД не может задавать число и размер виртуаль ных файлов журнала. Для более эффективной работы SQL Server 2000 старается держивать количество виртуальных файлов журнала.

Примечание Лучше создать достаточно большой журнал транзакций, чтобы избежать частого увеличения размера. Если требуется автоматическое увеличение, лучше задать большее значение приращения размера файла. В противном случае будут создаваться небольшие виртуальные файлы, что замедлит процесс восстановления.

Системные и базы Глава При создании БД логический журнал транзакций создает первый физический файл журнала, который также совпадает с началом первого виртуального файла жур нала. Логический журнал представляет собой ту часть, которая требуется для восстановления и резервного копирования. Ее размер зависит от выбранной мо дели восстановления. Подробнее о механизмах резервного копирования и восстанов ления Ч в главе 8.

Как работает журнал транзакций SQL Server 2000 использует буферный кэш Ч хранящуюся в памяти структуру, куда помещаются страницы данных с диска, с которыми будут приложения и пользователи системы. Любое изменение страницы данных вносится в копию этой страницы в буферном кэше. Измененная страница в кэше, которая еще не была записана на диск, называется страницей (dirty page). Так как из менения записываются сначала в журнал транзакций, а потом на диск, журнал тран закций SQL Server 2000 называют опережающим Встроенные внутрен ние механизмы проверки SQL Server 2000 следят за тем, чтобы изменение было зане сено в журнал транзакций до того, как соответствующая затронутая страница будет записана на диск. Запись затронутой страницы из кэша на диск называется сбросом страницы (page Запись журнала транзакций содержит всю информацию, необходимую для отме ны или повторения любого изменения БД, включая выделение экстентов и измене ние индексов. Благодаря этому любое записанное на например из менение страницы данных или создание нового объекта БД, может быть отменено, если транзакция, вызвавшая изменение, была прервана из-за сбоя в рабо те сервера или в результате команды отмены транзакции) и ее невозможно либо может быть подтверждено, если транзакция была завершена, но ее выполнения не был записан на диск, например, из-за неисправности сервера.

Примечание Благодаря отмене изменений, резервное копирование жур нала транзакций позволяет воссоздать БД при повреждении диска с файлами данных, именно поэтому следует хранить журнал транзакций на другом диске, отдельно от файлов данных.

SQL Server 2000 периодически записывает затронутые страницы из кэша на диск.

Запись данных на диск производится либо в результате называемого кон трольной точкой (checkpoint process), либо когда поток ОС Ч рабочий или же поток отложенной записи (lazy writer) Ч просматривает затронутые страницы, записывает их на диск и освобождает пространство в буферном кэше для новых данных. Потоки ОС могут записать затронутые на до того, как SQL Server 2000 опреде лит, завершена ли транзакция. если транзакция отменена или не была шена, журнал транзакций гарантирует, что все изменения, внесенные незавершен ными транзакциями, будут отменены либо с помощью команды отката транзакции либо при следующем запуске сервера (в случае неисправности сервера).

Процесс контрольной точки Процесс контрольной точки уменьшить простой в случае сбоя в работе сер вера. Благодаря этому процессу количество страниц в буферном кэше, которые не были записаны на диск, минимально. Процесс контрольной точки выполняется в следующих случаях:

Занятое 2 Структура транзакций Х если используется оператор CHECKPOINT;

Х если используется оператор ALTER DATABASE;

Х при корректном завершении работы экземпляра SQL Server 2000;

Х при автоматическом запуске процесса контрольной точки (выполняется периоди чески в зависимости от количества записей в активной части журнала транзак ций, а не от времени, прошедшего с момента последнего выполнения контрольной точки).

контрольной точки записывает наименьший LSN, необходимый для ус пешной отмены невыполненной транзакции. Этот номер называется минимальным LSN Он определяется либо наименьшим LSN самой ранней активной транзакции, либо началом самой ранней транзакции при которой дан ные не были получены всеми серверами-подписчиками, либо началом процесса кон трольной точки. Часть журнала транзакций от MinLSN до последней записи является активной. Она необходима для успешной отмены При запуске SQL Server 2000 (в обычном режиме или после в каждой БД начинается процесс восста новления. Он проверяет журнал транзакций на наличие завершенных транзакций, результаты которых не были записаны на диск, и записывает их. Он также ишет не подтвержденные транзакции и проверяет, что их результаты не были записаны на диск, в противном случае все изменения удаляются. MinLSN указывает наименьший LSN, который должен при этом просматривать SQL Server 2000.

Записи о с номерами меньше MinLSN не являются активными (про цесс контрольной точки гарантирует, что они уже записаны на диск). Для повторного использования пространства, занимаемого этими записями, они должны быть удале ны из файла журнала транзакций (что достигается усечением журнала). Минималь ной единицей, которая удаляется при усечении журнала, является виртуальный файл журнала транзакций;

но часть виртуального файла является частью активного журнала, его удалять нельзя. При использовании простой модели восстановления (Simple Recovery model) процесс контрольной точки просто удаляет неактивную часть журнала из всех виртуальных файлов, и они потом используются повторно. При ис пользовании модели отдельных операций (Full Recovery model) или дели восстановления импорта (Bulk-Logged Recovery model) вам необхо димо предварительно создать копию журнала транзакций, чтобы затем удалить его неактивную часть. Подробнее о резервном копировании журнала транзакций Ч в гла вах 8 и 9.

Из журнала удаляются записи с номерами меньше MinLSN, записи же активной части остаются.

На рис. показан журнал транзакций после процесса контрольной точки, неак тивная часть журнала уже удалена. Обратите внимание, что LSN процесса кон трольной точки меньше MinLSN.

Процесс контрольной точки освобождает пространство в физическом файле жур нала транзакций, и это пространство используется логическим файлом, после того как он достигнет конца последнего физического файла. Когда это происходит, он вновь возвращается в начало первого физического файла (при условии, что первый виртуальный файл удален). Если первый виртуальный файл не был удален и не уста новлено автоматическое увеличение размера журнала транзакций (или если весь диск заполнен), SQL Server 2000 не может продолжать работать. На рис. 5-4 показано воз Системные и базы данных вращение логического журнала в начало первого физического файла (такой способ называется циклическим обновлением при ведении журнала).

Виртуальный Виртуальный Виртуальный Виртуальный файл 1 файл 2 файл 3 файл 4 файл Не Усечены MinLSN Нач ало Последняя логического контрольная логического журнала точка журнала Рис. 5-3. Журнал транзакций после усечения неактивной части Виртуальный Виртуальный Виртуальный Виртуальный файл 1 файл 2 файл 3.

Усечены MinLSN Конец Начало Предпоследняя Последняя логического логического контрольная контрольная журнала журнала точка точка Рис. 5-4. Циклическое обновление при ведении журнала транзакций Потоки операционной системы SQL Server 2000 использует поток (worker thread) и поток отложенной записи (lazy writer thread) для периодического обращения к буферу памяти, планирования асинхронной записи на диск затронутых страниц и освобождения неактивных стра ниц для повторного использования. Поток Ч это компонент операционной системы, который позволяет выполнять различные независимые процессы параллельно. Запись затронутой страницы в журнал транзакций происходит до записи данных на диск.

Рабочие потоки являются потоками других процессов SQL Server 2000, таких как про цесс асинхронного чтения данных, инициированный пользователем. Эти потоки об к кэшу буфера, ожидая выполнения своего задания. Поток отложенной записи также периодически проверяет список свободных буферов, и, если его размер меньше определенного значения (в зависимости от размера кэша), он сканирует бу ферный кэш и освобождает пространство. Термин лотложенная запись отражает принцип работы данного потока, который просыпается на некоторое время, сканирует буфер и снова засыпает.

Занятие 2 транзакций Поток отложенной записи и рабочие потоки записывают большую часть затронутых страниц между процессами контрольной точки. Таким процесс контрольной точки в большинстве случаев находит лишь несколько затронутых стра ниц, которые нужно записать на диск. Разница между процессом контрольной точки и потоками заключается в том, что первый не помещает страницы буфера обратно в список свободных буферов. Эти три процесса, работая совместно, делают операцию записи данных на диск более ровной, что позволяет снизить нагрузку и повысить про Основные сведения о моделях восстановления В SQL Server 2000 существует три модели восстановления: простая model), отдельных операций model) и результатов импорта model). Каждая БД имеет одну из моделей. Модель влияет на размер журнала транзакций и на то, какие действия и возможности будут доступны при резервном копировании и вос становлении. Подробнее о выборе стратегии резервного копирования и восстанов ления Ч в главе 8.

восстановления отдельных операций Позволяет восстановить БД до состояния, в котором она была на момент сбоя или на любой указанный момент времени. При использовании данной модели в журнал за носятся все операции, в том числе так называемые широкомасштабные (large-scale). К ним относятся, например, операция создания индекса или же операция копирования данных с помощью SELECT INTO, или BULK INSERT. Подобные операции ча сто требуют значительного объема доступного пространства в журнале транзакций.

Поэтому, если вы используете эту модель, убедитесь, что журнала транзакций не пе реполняется при выполнении указанных операций). В данном случае не обходимо регулярно и достаточно часто выполнять резервное копирование журнала транзакций Ч он будет регулярно усекаться, и будет освобождаться место для разме щения новых записей.

Модель восстановления результатов импорта При использовании модели восстановления результатов импорта все операции, кро ме некоторых широкомасштабных, полностью регистрируются в журнале. Той ин формации о широкомасштабных операциях, которая заносится в журнал при исполь зовании данной недостаточно для восстановления после сбоя. Эта модель позволяет сократить пространство, занимаемое журналом но увеличива ет вероятность потери данных после широкомасштабных операций. Для восстанов ления БД после широкомасштабной операции не требуется полное резервное копи рование. При использовании данной модели также требуется проводить резервное копирование журнала для его усечения и освобождения пространства, но его можно проводить реже, чем при использовании модели восстановления отдель ных операций.

Примечание Модель восстановления результатов импорта не поддерживает восста новление на выбранный момент времени.

32 Системные и базы данных Глава Простая модель восстановления При использовании простой модели восстановления все операции, в том числе и широкомасштабные, записываются полностью. Но для восстановления БД не исполь зуется резервное копирование журнала транзакций, каждый процесс контрольной точки усекает неактивную часть журнала Это позволяет избежать пере полнения журнала транзакций;

однако при длинных транзакциях и когда имеется несколько транзакций, для процесс репликации еще не прошел, переполне ние журнала все же возможно. Эта модель редко используется в БД из-за большого риска потерять записи о недавно внесенных изменениях. При использовании простой модели БД может быть восстановлена только до момента, когда была сделана последняя резервная копия.

Примечание Системная БД всегда использует простую модель восстановле ния. Пользовательские БД и pubs) простую модель восстанов ления по умолчанию;

можно изменить этот режим, выбрав для них другую модель восстановления.

Упражнение 2. Просмотр свойств журнала транзакций и базы данных В этом упражнении вы с SQL Server Enterprise Manager те свойства файла журнала транзакций и БД.

Чтобы просмотреть свойства БД, и файла журнала транзакций 1. Убедитесь, что вы зарегистрировались на контроллере домена под учетной записью Administrator.

2. Раскройте меню SQL Server и выберите Enterprise Mana ger. В корне консоли SQL Server Enterprise Manager отобразятся деревья Microsoft SQL Server и деревья Event Viewer 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 где указано пространство, занимаемое журналом транзакций (в мега байтах). Большинство систем покажут I Мб (это начальный размер журнала тран закций БД Northwind, округленный до ближайшего целого числа мегабайт).

8. Перейдите на вкладку Options. Заметьте: для БД Northwind определена простая модель восстановления Recovery model).

9. Щелкните Cancel, чтобы закрыть окно Northwind Properties.

10. Закройте SQL Server Enterprise Manager.

2 Структура журнала Резюме SQL Server 2000 использует один или более файлов журнала транзакций для реги страции изменений, произведенных транзакциями, до записи модифицированных данных на диск. Благодаря этому транзакции могут быть отменены или повторены при необходимости (например, после сбоев в работе сервера). SQL Server 2000 ис пользует процесс контрольной точки и потоки ОС для обеспечения записи данных на диск. Кроме того, процесс контрольной точки определяет неактивную часть жур нала транзакций. Неактивная часть журнала транзакций может быть снова только после усечения журнала. Используемая модель восстановления опреде ляет, производится ли усечение журнала процессом контрольной точки или для этого необходимо резервное копирование журнала. Кроме модель восстановления оп ределяет экстент ведения операций копирования, в котором содержится информа ция о частоте резервного копирования журнала транзакций.

Системные и данных Глава Занятие 3. Система запросов и каталоги баз данных SQL Server 2000 использует различные системные таблицы для управления работой SQL Server 2000 и связанными с ним базами данных. Эти таблицы хранят метаданные Ч информацию как о системе в целом, так и об объектах каждой отдельной БД. На этом занятии вы узнаете о наиболее часто используемых системных таблицах, об исполь зовании системных хранимых процедур, о системных функциях и представлениях информационной схемы schema view) для создания запросов к таблицам.

Изучив материал этого занятия, вы сможете:

рассказать о наиболее часто используемых системных таблицах;

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

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

использовать представлении информационной схемы.

Продолжительность Ч около минут Введение в системные таблицы Системные таблицы, используемые SQL Server делятся на две группы: систем ный каталог и каталог БД. или удаление системных таблиц может повлечь за собой неполадки в работе или прекращение работы SQL Server 2000.

Примечание Имена системных таблиц SQL Server 2000 начинаются с префикса sys.

Системный каталог Системный каталог включает в системные таблицы, используемые SQL Server 2000 для управления системой, и существует только в БД master. Системные таблицы этого каталога содержат относящиеся ко всему экземпляру SQL Server 2000 (такие как список пользователей и список БД) и параметры системы (например, сервера). В табл. 5-1 перечислены часто используемые системные таблицы системно го каталога.

Табл. 5-1. Часто используемые системные таблицы системного каталога Системная таблица Описание Содержит о каждом файле БД, в том числе файловый идентификатор, идентификатор БД (dbid), физическое и имя файла, расположение, размер и параметры увеличения размера Содержит информации о системных параметрах, выбранных администратором до запуска SQL Server 2000 и динамически настроенных после запуска строку информации для каждой БД: идентификатор БД (dbid), идентификатор (S1D) владельца БД, дату создания, уровень совместимости данные о размешении главного файла и настроенные параметры конфигурации БД Система и баз данных Табл. (окончание) Системная таблица Описание Sysdevices Содержит строку о каждом созданном устройстве резервного копирования, включая физические и логические имена файлов, размер файлов и тип контроллера для (диск или лента) Содержит строку информации о каждом преобразованном и выполненном запросе на блокировку, в числе идентификатор пользователя или процесса, выдавшего запрос на блокировку, и идентификатор блокированного объекта Syslogins Содержит строку информации для каждой учетной записи:

идентификатор защиты (SID), идентификатор учетной записи, зашифрованный пароль (допускается значение NULL), БД по умолчанию и роль сервера Sysmessages Содержит строку информации для каждой возвращаемой SQL Server 2000 системной ошибки и предупреждения, включая код ошибки, код серьезности ошибки и ее описание Содержит строку информации для каждого счетчика производительности SQL Server, в том числе имя объекта, имя и значение счетчика. Счетчики используются утилитой Windows System Monitor (в Windows 2000 Ч Performance Monitor) Каталог базы данных Каталог БД состоит из системных таблиц, используемых для управления отдельной БД. Каждая БД имеет в своем составе набор таких таблиц. Они содержат всю инфор мацию, необходимую для чтобы БД могла быть перенесена с одного SQL Server 2000 на другой сервер под прежним или под новым именем. В табл. 5-2 перечислены часто используемые системные таблицы БД.

5-2. Часто используемые системные таблицы каталога БД Системная таблица Описание Содержит строку информации для каждого представления правила (rule), значения по (default), триггера, ограничения CHECK, ограничения DEFAULT и хранимой процедуры. Поле типа text содержит предложение используемое при создании объекта. Значение в полях этой таблицы нельзя изменять или удалять. Чтобы скрыть текст хранимой процедуры, можно использовать ключевое слово ENCRYPTION при ее создании Содержит строку информации о каждом индексе и таблице в том числе идентификатор индекса (index ID, indid), тип, коэффициент заполнения и имя индекса Содержит строку информации для каждого объекта БД, имя объекта, идентификатор объекта, идентификатор пользователя ID, владельца объекта и дату создания Системные и базы данных Глава Табл. 5-2. (окончание) Системная таблица Описание Sysusers Содержит строку информации о каждом пользователе или группе пользователей Windows, пользователе SQL Server, роли в БД SQL Server, включая идентификатор пользователя, имя идентификатор группы (gid) и дату создания Получение информации о системе Вы можете к таблицам напрямую, но не рекомендуется ис пользовать сценарии, которые содержат непосредственные запросы к системным таб лицам, так как в версиях структура системных таблиц может измениться, и такие сценарии не будут работать корректно. В SQL Server 2000 существует несколь ко механизмов, использующих непосредственное обращение к системным таблицам, которые вы можете включать в сценарии и на которые не повлияет последующее из менение системных таблиц. К этим механизмам относятся системные хранимые про цедуры, системные функции и информационной схемы.

Примечание Обращаться к системным таблицам можно и с помощью наборов запи сей схемы OLE DB и функций каталога ODBC.

Упражнение 3. Непосредственные запросы к системным таблицам В этом упражнении вы с помощью SQL Query Analyzer выполните непосред запрос к системным таблицам.

Чтобы непосредственный запрос к системной таблице Убедитесь, что вы зарегистрировались на контроллере домена под учетной записью Administrator.

2. Раскройте меню SQL Server и выберите Query Analyzer.

Откроется окно Connect To SQL Server.

3. Подключитесь к экземпляру SQL Server по умолчанию с использованием средств проверки подлинности Откроется новое окно запроса.

4. В панели запросов введите SELECT * FROM 5. Чтобы выполнить щелкните кнопку Execute Query панели инструментов или нажмите клавишу F5 или сочетание В области результатов появится информация о БД данной SQL Server 2000.

6. Щелкните кнопку Clear Window панели инструментов или нажмите Del.

7. В панели запросов введите SELECT * FROM 8. В области результатов информация обо всех файлах данных и файлах журнала транзакций SQL Server 2000.

9. Закройте SQL Query Analyzer.

10. Чтобы не сохранять в диалоговом окне SQL Query Analyzer щелкните кнопку No.

Занятие Система и баз данных Системные хранимые процедуры Системные хранимые процедуры Ч это процедуры, составленные из операторов Transact-SQL, которые поставляются вместе с SQL Server 2000. Системные хранимые процедуры работают с системными таблицами. Они позволяют получать системную информацию и выполнять задачи по администрированию БД.

Имена системных процедур начинаются с префикса sp_.

В табл. 5-3 перечислены системные хранимые наиболее часто исполь зуемые для обращения к системным таблицам.

Табл. 5-3. Системные хранимые процедуры, используемые для запросов к системным Системная хранимая процедура Позволяет получить или изменить параметры настройки для экземпляра SQL Server Позволяет получить или изменить значения параметров БД для отдельной базы [ Позволяет получить информацию об отдельном объекте БД или типе данных Позволяет получить информацию о зависимости объектов БД, например или процедурах, от конкретной таблицы [ Позволяет получить информацию о заданной БД (или обо всех БД) Позволяет получить физическое имя и атрибуты указанного файла (или физические имена и атрибуты всех файлов) для текущей БД Выводит информацию о блокировках ] Позволяет получить информацию о занятости SQL Server 2000 с начала его работы и с момента запуска Позволяет получить информацию о числе записей, ] занятом дисковом пространстве, дисковом пространстве, используемом таблицей или БД, и сообщает, нужно ли выполнять команду DBCC UPDATEUSAGE [ Позволяет получить данные обо всех индексах и статистическую информацию о таблицах или представлениях Позволяет получить информацию обо всех пользователях и процессах в системе в данный момент. Чтобы вывести только активные процессы, можно воспользоваться ключевым словом и данных Глава Упражнение 4. Выполнение запроса к системным таблицам средствами системных хранимых процедур В этом упражнении вы воспользуетесь SQL Query Analyzer и выполните за прос к системным таблицам системных хранимых процедур.

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

2. Раскройте меню SQL Server и выберите Query Analyzer.

Откроется окно Connect To SQL Server.

3. Подключитесь к экземпляру SQL Server по умолчанию с использованием средств проверки подлинности Windows. При этом открывается новое окно запроса.

4. В панели запросов введите 5. В панели инструментов кнопку Execute Query. Обратите внимание, что в области результатов перечислены все БД текущего экземпляра SQL Server 2000.

6. В панели запросов введите затем Ч таким образом, ваш запрос будет иметь вид: В области результатов вы увидите информа цию о БД Northwind и о ее файлов.

7. В панели инструментов щелкните кнопку Clear Window.

8. В панели запросов введите 9. В панели инструментов кнопку Execute Query. В панели результатов отобразится информация о пространстве, занятом текущей БД, т. е. БД master.

В панели инструментов в раскрывающемся списке выберите в качестве текущей БД Northwind.

В панели инструментов щелкните кнопку Execute Query. В панели результатов отобразится информация о пространстве, занятом текущей БД, т. е. БД Northwind.

12. В области запроса введите таким образом ваш запрос будет иметь вид В инструментов щелкните кнопку Execute Query. В панели результатов отобразится информация о пространстве, занятом таблицей customers в БД North wind.

14. Закройте SQL Query Analyzer.

15. Чтобы не сохранять изменения, в диалоговом окне SQL Query Analyzer щелкните кнопку No.

Системные функции Системные функции представляют собой набор встроенных функций, поставляемых вместе с SQL Server 2000. Они обращаться к системным таблицам при по мощи операторов и получать специфические данные о значениях пара метров, объектах и настройках. Наиболее часто используемые для обращения к сис темным таблицам функции перечислены в табл. 5-4.

Система и каталоги Табл. 5-4. Системные функции, используемые для запросов к системным Системная функция Описание значение свойства или параметра БД (например восстановление) Возвращает идентификатор БД имя БД Возвращает идентификатор файла, имеющего данное логическое имя FILE_NAME Возвращает логическое имя файла FILEPROPERTY Возвращает значение свойства файла (например GET DATE () Возвращает текущую системную дату и время в формате SQL Server 2000 для временных величин HOST_NAME () Возвращает имя хоста Возвращает дату обновления статистической идентифи- для индекса Возвращает идентификатор пользователя БД Возвращает имя пользователя БД (например Упражнение 5. Выполнение запросов к системным таблицам средствами системных функций В этом упражнении вы воспользуетесь SQL Query Analyzer и выполните за прос к системным таблицам средствами системных функций.

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

2. Раскройте меню SQL Server и выберите Query Analyzer.

Откроется окно Connect To SQL Server.

3. Подключитесь к SQL Server с средств проверки Windows. Появит ся новое окно запроса.

4. В панели запросов введите SELECT 5. В панели инструментов щелкните кнопку Execute Query. Заметьте: в панели зультатов указан идентификатор БД 6. В панели инструментов щелкните кнопку Clear Window.

7. В панели запросов введите SELECT FILEPROPERTY 8. В панели инструментов щелкните кнопку Execute Query. Заметьте: в панели ре зультатов указано число страниц, занятых БД Northwind.

9. В панели инструментов щелкните кнопку Clear Window.

Системные и базы Глава 10. В панели запросов введите SELECT (2). Заметьте: в панели резуль татов указано имя идентификатор которого Ч 2 (это учетная запись Guest).

Закройте SQL Query Analyzer.

Чтобы не сохранять изменения, в диалоговом окне SQL Query Analyzer щелкните кнопку No.

Представления информационной схемы Представления информационной схемы являются представлениями сведений систем ного каталога и каталога БД и стандарту ANSI SQL-92. Они не зависят от способов реализации каталогов различными поставщиками;

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

Табл. 5-5. Представления схемы, используемые для запросов к системным таблицам Представление информационной схемы columns список полей, доступных текущему список доступных текущему пользователю список таблиц текущей БД, доступных текущему пользователю Возвращает список привилегий, предоставленных privileges текущему пользователю, и тех, которые он предоставил другим пользователям в текущей БД список таблиц текущей БД, используемых table_usage в проекции Упражнение 6. Выполнение запросов к системным таблицам с помощью представления информационной схемы В этом упражнении вы используете представление информационной схемы для выполнения запроса к системным таблицам с помощью SQL Query Analyzer.

Чтобы запрос к системной таблице с использованием представления информационной схемы 1. Убедитесь, что вы зарегистрировались на контроллере домена под учетной записью Administrator.

2. Раскройте меню SQL Server и выберите Query Analyzer.

Откроется окно Connect To SQL Server.

Занятие 3 запросов и баз данных 3. Подключитесь к SQL Server с использованием средств проверки подлинности Windows. Откроется новое окно запроса.

4. Из раскрывающегося списка в панели инструментов выберите в качестве текушей БД 5. В панели запросов наберите SELECT * FROM MATA.

6. В панели инструментов щелкните кнопку Execute Query. Заметьте: в панели ре зультатов перечислены все БД текущего экземпляра SQL Server 2000.

7. В панели инструментов щелкните кнопку Clear Window.

8. В панели запросов введите SELECT * FROM 9. В панели инструментов щелкните кнопку Execute Query. Заметьте: в панели ре зультатов приведен список таблиц текущей БД.

10. В панели инструментов щелкните кнопку Clear Window.

В панели запросов введите SELECT * FROM SCHEMA.TAB LE_PRIVILEGES.

12. В панели инструментов щелкните кнопку Execute Query. Заметьте: в панели ре зультатов перечислены пользовательские привилегии на БД Northwind.

13. Закройте SQL Query Analyzer.

14. Чтобы не сохранять изменения, в диалоговом окне SQL Query Analyzer щелкните кнопку No.

Резюме Системный каталог и каталог БД включают в себя системные таблицы, используемые SQL Server 2000 для управления работой сервера и каждой конкретной БД. К систем ной таблице, как и к любой другой, можно составить запрос для получения сведений о системе. Но не следует создавать сценарии, непосредственно обращающиеся к си стемным таблицам, так как в будущих версиях SQL Server эти таблицы могут изме ниться. Для обращения к системным таблицам лучше использовать системные хра нимые процедуры, системные функции и представления информационной схемы, которые будут работать и с будущими версиями SQL Server.

и базы Глава Закрепление материала ] Приведенные ниже помогут вам лучше усвоить основные темы дан ной главы. Если вы не сумеете ответить на вопрос, повторите материал соот ветствующего занятия. ответы приведены в приложении Воп росы и в книги.

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

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

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

Создание и конфигурирование пользовательских данных Занятие Создание пользовательской базы данных Занятие 2, Настройка параметров базы данных 3, Изменение размера базы данных Х Занятие 4, Размещение файлов базы на нескольких дисках В этой главе Здесь рассказывается о создании и конфигурировании пользовательских БД. Рассма триваются разные способы создания пользовательских БД с помощью SQL Server Enterprise Manager или операторов вводимых и выполняемых в SQL Query Analyser. Также здесь содержатся сведения о различных настраиваемых пара метрах БД и о как их задать в создания БД и после начала работы. Мы рассмотрим ручной и автоматический способы контроля объема пользовательских БД, в том числе файлов данных и файлов журнала транзакций. Наконец, вы узнаете, как оптимизировать работу дисковой подсистемы, разместив файлы данных и файлы журнала транзакций на нескольких дисках, используя RAID, группы файлов и диски, После этого вы сможете начать загрузку данных в БД SQL Server 2000.

Прежде всего Для изучения материалов этой главы вам потребуются:

Х компьютер, минимальным аппаратным требованиям, перечис ленным в главе 2;

Х Microsoft Windows 2000 Server, установленная на разделе диска с файловой систе мой NTFS;

Х компьютер с сетевым именем сконфигурированный как контрол лер домена Х один установленный по умолчанию и по крайней мере один именованный экзем пляр SQL Server 2000.

и баз данных Глава Занятие Создание пользовательской базы данных После установки SQL можно создавать пользовательские БД. На этом за нятии вы узнаете, как это сделать при SQL Server Enterprise Manager или из Query Analyser, используя операторы CREATE DATABASE, Кроме здесь рассказывается, как с помощью SQL Server Enterprise Manager создать который воссоздавал бы объекты БД (его можно использовать, напри мер, при устранении неполадок в работе БД).

Изучив материал этого занятия, вы сможете:

описать создания пользовательской БД;

создать пользовательскую БД с помощью SQL Server Enterprise Manager;

создать пользовательскую БД при помощи SQL Query Analyser средствами оператора Transact-SQL CREATE DATABASE;

с помощью SQL Server Manager сгенерировать сценарий Transact-SQL, описывающий объекты БД.

Продолжительность занятия Ч около 45 минут Пользовательские базы данных При создании новой пользовательской БД следует помнить о что имена БД уни кальны для каждого экземпляра SQL Server 2000. Для создания пользовательской БД не нужно явно определять никакие другие атрибуты. При выборе имени рекоменду ется следовать правилам, для имен идентификаторов SQL Server 2000, хотя это и не обязательно:

Х первым символом в имени должна быть буква, символ подчеркивания (_), знак @, который обозначает локальную переменную или параметр, или знак который обозначает временную таблицу или процедуру;

Х все символы в имени идентификатора после первого могут быть цифрами или зна ком доллара ($);

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

Х запрещается использовать в качестве имен идентификаторов зарезервированные слова SQL Server 2000, набранные в верхнем или нижнем регистре (например BACKUP или PLAN).

Примечание Если при выборе имени идентификатора не соблюдались перечислен ные выше правила именования, то при использовании имени идентификатора в опе раторах необходимо заключать имя в двойные кавычки или квадратные скобки (например My или [My Database], если в имени пользо вательской БД содержится знак пробела).

Существуют также и другие параметры БД, которые вам необходимо определить.

Как правило, при создании БД указываются ее размер, физическое и логическое имя файла, а также размещение основного файла данных и первого файла журнала тран закций на диске. При создании БД можно добавить несколько файлов данных и фай лов журнала транзакций, разместив их на разных дисках, или сделать это уже после Занятие Создание базы создания пользовательской БД. Кроме того, можно файлы данных в груп файлов и изменить группу файлов, выбранную по умолчанию. На занятии 4 этой главы вы узнаете, как разместить файлы БД на нескольких дисках, как использовать множество файлов данных при создании пользовательской БД и как создать пользо группы файлов для БД. Для каждого созданного вами файла данных и файла журнала транзакций вы можете определить следующие параметры: включить или отключить автоматическое увеличение размера файла при его заполнении, опре величину автоматического прирашения размера файла, а также установить максимальный размер файла БД. На занятии 3 этой вы узнаете, каким образом вы можете контролировать увеличение размера БД.

Если при создании пользовательской БД не определены перечисленные выше до полнительные параметры, SQL Server 2000 использует значения по умолчанию. В табл.

6-1 перечислены значения параметров по умолчанию для БД с именем со зданной на экземпляре SQL Server 2000 по умолчанию.

Табл. 6-1. Параметры БД задаваемые по умолчанию Параметр Значение Логическое имя основного файла данных Физическое имя основного файла данных Путь к основному SQL файлу данных Размер основного Фактический размер файла данных model файла данных (640 кб по умолчанию), если он создан с помощью сценария или фактический размер файла данных model, округленный до ближайшего целого числа Мб), если он создан с помощью программы SQL Server Enterprise Manager Параметры физического Разрешение автоматического приращения размера приращения основного файла с шагом 10 отсутствие ограничения файла данных на максимальный размер файла Логическое имя файла журнала транзакций Физическое имя файла журнала транзакций Путь к файлу журнала SQL транзакций Фактический размер файла журнала транзакций model Физический размер файла журнала транзакций (512 кб по умолчанию), если он создан с помощью Transact-SQL, или фактический размер журнала транзакций model, округленный до шего целого числа Мб), если он создан с помощью SQL Server Enterprise Manager Параметры физического Разрешение автоматического приращения с шагом отсутствие ограничения на максимальный размер приращения файла журнала транзакций файла и конфигурирование данных Создание БД в SQL Server 2000 выполняется в два этапа. Сначала происходит ко пирование БД model в основной данных;

физически создается новая пользова тельская БД и ее метаданные. При этом копируются объекты системной БД и все пользовательские объекты, в БД model, например таблицы, представ ления, хранимые процедуры и пользовательские типы данных. Затем SQL Server заполняет оставшуюся часть файла страницами данных. Все добавленные страницы (кроме тех специализированных страниц, которые используются для ука зания на физическое размещение например GAM, SGAM и IAM) пусты. В основном файле данных должно место для добавления новой ин формации о каталоге в системные таблицы. В основных файлах данных всегда содер жатся системные таблицы.

Примечание БД tempdb создается заново при каждом запуске SQL Server 2000. При ее создании используются метаданные из БД model.

Каждая новая пользовательская БД наследует от БД model не только ее объекты, но и все ее свойства и параметры (tempdb не наследует свойства и параметры БД).

Чтобы изменить свойства БД для всех новых баз, измените свой ства БД model. Эти параметры также можно изменять уже после создания пользова тельской БД. О способах определения и изменения свойств БД Ч в занятии 2 этой главы.

Каждая новая БД наследует от БД model выбранную по умолчанию последователь ность сортировки (collation setting), которая совпадает с последовательностью сорти ровки, выбранной для всех системных БД (этот параметр выбирается в процессе ус тановки SQL Server). Изменить заданную по умолчанию последовательность сорти ровки для системных БД нелегко Ч для этого нужно иметь доступ ко всем сценариям и данным, необходимым для пользовательских БД и их объектов. При этом выполняется экспорт всех пользовательских данных, все пользовательские БД удаляются, системные БД создаются заново, после чего выполняется повторная за грузка в систему всех пользовательских данных. В тех средах, где для ведения БД ис пользуют разные языки и, следовательно, не совпадающие параметры сортировки, удобно выбирать различные последовательности сортировки для разных пользователь ских БД. При этом последовательности сортировки для пользовательской и для сис темных БД могут различаться. Изменить выбранную по умолчанию последовательность сортировки для новой пользовательской БД можно в процессе ее создания или после того, как вы ее создали, загрузили данные и создали объекты (но это непросто Ч нуж но сначала экспортировать все пользовательские данные, обновить все объекты БД, и только затем загрузить обратно все пользовательские данные).

Примечание Права на создание пользовательских БД предоставлены только тем пользователям, которым назначена роль или а также пользовате лям, которым отдельно предоставлено такое право. О правах на совершение опреде ленных действий и о ролях Ч в главах 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, можно вызвать из меню а также из панели инструментов SQL Server Manager. На рис. показано окно Select из которого можно вызвать ряд мастеров, в том числе и Create Database Wizard.

;

Wizard ;

- Wizard !

Х. Management ;

;

- Wizard Рис. 6-1. Окно Select Wizard После запуска мастера Create Database Wizard программа предлагает указать имя новой БД в диалоговом окне Name The Database And Specify Its Location. Здесь также можно изменить заданный по умолчанию путь к файлу данных и журналу транзак ций. Если вы создаете БД с помощью мастера Create Database Wizard, то оба файла размещаются в одном месте (рис. 6-2).

Name the and ill Location a following Tup Рис. 6-2. Выбор имени БД ц ее на диске Создание и пользовательских баз данных В окне Name The Database Files необходимо указать логическое и физическое имя файла для каждого файла данных (при использовании мастера Create Database Wizard логическое и физическое имена совпадают). Вы можете также добавлять дополнитель ные файлы данных в каталог, выбранный по умолчанию для размещения файлов БД, а также задавать начальный размер для каждого файла данных. Устанавливаемый по чанию размер файла данных равен J Мб (рис. 6-3).

name of one a which database Spe the files Рис. 6-3. Выбор имен БД В окне Define The Database File Growth задаются параметры увеличения размера всех файлов данных. Обратите внимание, что по умолчанию устанавливается величи на приращения для всех файлов данных, равная 10 % от их объема, и при этом размер файла данных не ограничивается. При использовании мастера Create Database Wizard нельзя задавать различные параметры увеличения размера для каждого файла данных по отдельности. Определение параметров увеличения размера для файлов данных показано на рис. 6-4. Подробнее об этом Ч в занятии 3 этой главы.

the File them... -!-.- ".

Х Рис. 6-4. Определение увеличения размера файлов данных Окно Name The Transaction Log Files позволяет указать логическое и физическое имя файла журнала транзакций использовании мастера Create Database Wizard они совпадают). Кроме того, в этом окне можно добавить дополнительные журналы транзакций, размещенные в каталоге, выбранном по умолчанию для хранения Создание данных лов журнала, а также задать начальный размер для каждого журнала транзакций. По умолчанию размер файла журнала транзакций равен 1 (рис. 6-5).

В окне Define The Transaction Log File Growth задаются параметры увеличения размера всех журналов транзакций. Обратите внимание, что по умолчанию устанав ливается величина приращения для всех файлов журнала равная 10 % от их объема, и при этом размер файла журнала транзакций не ограничивается. При ис пользовании мастера Create Database Wizard нельзя задавать различные параметры увеличения размера для каждого файла журнала транзакций по отдельности. Опреде ление параметров увеличения размера файлов журнала транзакций показано на рис.

6-6. Подробнее об этом Ч в занятии 3 этой главы.

e the of one or log в the la each of Рис. 6-5. Выбор имени файла журнала транзакций the Log File (he log fliow you enlarge Г 1. ft'-J-J Рис. 6-6. Определение параметров увеличения размера файлов журнала транзакций Окно Completing The Create Database Wizard позволяет просмотреть установлен ные вами значения параметров перед непосредственным созданием новой БД (рис. 6-7). Чтобы изменить значение любого из указанных щелкните кнопку Back. Чтобы создать новую БД, щелкните Finish.

После успешного создания новой БД мастер Create Database Wizard предложит вам задать график обслуживания. Щелкните No. Подробнее о создании плана обслужива ния БД Ч в главе 13.

и данных Completing Create Wizard Рис. 6-7. Просмотр выбранных значений параметров перед созданием новой БД Упражнение Создание базы данных с помощью мастера Create Database Wizard из SQL Server Enterprise Manager В этом упражнении вы создадите БД средствами мастера Create Database Wizard, доступного в SQL Server Enterprise Manager.

Чтобы создать БД с мастера Create Wizard Убедитесь, что вы на контроллере домена под учетной записью Administrator.

2. Чтобы запустить SQL Server Enterprise Manager, раскройте меню Microsoft SQL Server и выберите Enterprise Manager.

Откроется главное окно SQL Server Enterprise Manager;

в корне консоли будут ото бражаться деревья Microsoft SQL Servers и Event Viewer (Local).

3. В дереве консоли последовательно раскройте контейнеры Microsoft SQL Servers и SQL Server Group, а затем контейнер экземпляра SQL Server умол чанию.

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 введите 8. Просмотрите каталоги по умолчанию для файла БД и журнала транзакций и щел кните Next.

Откроется окно Name The Database Обратите внимание на выбранное по умолчанию логическое имя и заданный по умолчанию начальный размер основ ного файла данных. Вы можете добавлять к БД дополнительные файлы данных, но размещать их можно только в каталоге, выбранном по умолчанию.

9. В поле Initial Size (MB) введите 10 и щелкните Next.

Занятие 1 Создание пользовательской базы данных Откроется Define The Database File Growth. Просмотрите значения парамет ров, заданные по умолчанию.

В поле Grow The Files By Percent: введите 25.

Установите переключатель в положение Restrict File Growth To MB: и введите в поле Restrict File Growth To MB: 30.

Щелкните 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 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 с сообщением об успешном созда нии БД.

ОК, Мастер Create Database Wizard предложит вам создать план обслуживания новой БД.

Щелкните 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 Manager Чтобы создавать БД непосредственно при помощи SQL Server Enterprise Manager, в дереве консоли щелкните правой кнопкой Databases и выберите New Database. От кроется вкладка General диалогового окна Database Properties (рис. где для но вой БД можно выбрать последовательность сортировки, отличающуюся от выбран ной по умолчанию.

На вкладке Data Files (рис. 6-9) можно создать дополнительные файлы данных, определив для них разные параметры. Вы можете также создать пользовательские группы файлов и разместить дополнительные файлы данных в определенных группах О различных способах размещения файлов БД Ч в занятии 4 этой главы.

Создание и данных Рис. 6-8. Вкладка General диалогового окна Properties mm. Г " Рис. 6-9. Вкладка Data Files диалогового окна Properties На вкладке Transaction Log (рис. можно создать дополнительные файлы журна ла транзакций, для них разные параметры.

1 Создание данных ''-'Х Рис. 6-10. Вкладка Log диалогового окна Database Properties Упражнение 2. Создание базы данных с помощью Server Enterprise Manager В этом упражнение вы создадите БД средствами SQL Server Enterprise Manager.

Чтобы создать БД помощи SQL Server Enterprise Manager В дереве консоли SQL Server Enterprise Manager раскройте структуру Microsoft SQL Servers, затем Ч SQL Server Group и структуру экземпляра SQL установлен ного по умолчанию.

2. Правой кнопкой Databases и выберите New Database.

Откроется вкладка General диалогового окна Database Properties.

3. В поле Name введите SSEMDB и перейдите на вкладку Data Files.

Просмотрите значения следующих параметров файла данных, установленные по умолчанию: логическое и физическое имя файла, к нему, размер файла, груп пу файлов, в которую включен данный файл, а также величину раз мера файла.

4. В столбце Fife Name таблицы свойств файлов данных измените имя основного файла. Для этого в первой строке щелкните текущее имя и введите новое Ч SSE Физическое имя файла в поле Location также изменится на SSEMDB_Datal_Da ta.mdf.

5. В столбце Size (MB) введите 50.

6. В поле By Percent: группы элементов управления File Growth введите 7. В группе элементов управления Maximum File Size выберите параметр Restrict File Growth (MB), затем в поле Restrict File Growth введите 150.

8. Щелкните вторую строку столбца File Name и введите Просмотрите значения параметров нового файла данных. Обратите внимание на то, что для дополнительных файлов данных используется расширение имени фай ла.ndf.

и баз данных 9. Измените место размещения дополнительного файла данных. Установите следу путь:

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

10. В поле Initial Size (MB) в соответствующей строке введите 50.

В поле By Percent введите 15.

В группе элементов Maximum File Size установите переключатель в положение Restrict File Growth (MB) и в поле Restrict File Growth (MB) введите 100.

13. Перейдите на вкладку Log.

Просмотрите, какие параметры по умолчанию для журнала транзакций.

14. В поле Initial Size (MB) вместо значения по умолчанию введите 20.

15. В поле By Percent группы управления File Growth введите 25.

16. В группе элементов Maximum File Size установите переключатель в положение Restrict File Growth (MB), и в поле Restrict File Growth (MB) введите 75.

17. Щелкните OK, чтобы создать новую БД.

Заметьте, что в той ветви дерева консоли, где отображается структура БД, отобра жается новая БД SSEMDB.

Щелкните объект SSEMDB правой кнопкой и выберите Properties.

Откроется вкладка диалогового окна SSEMDB Properties.

19. Перейдите на вкладку Data Files и просмотрите свойства файлов данных БД SSEMDB.

20. На вкладке Transaction Log просмотрите свойства файла журнала транзакций БД SSEMDB.

Чтобы закрыть окно SSEMDB Properties, щелкните Cancel.

22. Не закрывайте главное окно SQL Server Enterprise Manager.

Создание пользовательской базы данных с помощью оператора CREATE DATABASE При создании пользовательской в операторе CREATE DATABASE необходимо ее имя. Все другие параметры не являются обязательными. Син таксис Transact-SQL позволяет задавать определенные свойства для нескольких фай лов данных, создавать пользовательские группы файлов, размещать дополнительные файлы данных в определенных файлов и задавать свойства для журналов тран закций. Полная информация о синтаксисе оператора CREATE DATABASE, а также ряд примеров, содержится в справочной системе SQL Server Books Online.

Примечание При изучении команд Transact-SQL используйте примеры, приведенные в SQL Server Books Online. Это самый простой способ быстро изучить новую команду.

Создание состоящей из одного файла данных и файла журнала, с помощью Transact-SQL Выполните в SQL Query Analyzer следующий оператор, чтобы создать БД с именем TSQLDB. При этом одновременно с созданием БД не создаются дополнительные файлы данных и журналов транзакций и не определяются их свойства.

CREATE TSOLDB 1 Создание пользовательской базы данных, состоящей из нескольких с помощью В следующем примере создается БД с именем которая состоит из основно го файла данных размером 100 Мб, дополнительного файла данных размером 500 Мб и файла журнала транзакций размером 250 Мб. В этом примере определяются следу ющие свойства основного файла данных: начальный размер Мб, приращение раз мера 25 Мб и максимальный размер файла данных 250 Мб. Для дополнительного фай ла данных устанавливаются следующие свойства: начальный размер 500 Мб, прираще ние размера 50 Мб и максимальный размер файла данных 1000 Мб. Для тран закций в этом примере устанавливается начальный размер 250 приращение ра 40% и максимальный размер журнала транзакций 500 Мб.

CREATE DATABASE TSQLDB ( NAME = TSQLDB1, FILENAME =, SIZE 100, MAXSIZE = 250, 25 }, ( NAME = TSQLDB2.

FILENAME =, SIZE 500, MAXSIZE 1000, FILEGROWTH 50 ) LOG ON ( NAME =, FILENAME =, SIZE 250, MAXSIZE = 500, FILEGROWTH 40% ) Упражнение З. Создание БД в SQL Query Analyzer при помощи оператора Transact-SQL CREATE DATABASE В этом упражнении вы воспользуетесь SQL Query Analyzer и создадите БД с помощью оператора CREATE DATABASE.

Чтобы создать БД в SQL Query с использованием оператора Transact-SQL CREATE DATABASE В меню Tools SQL Server Enterprise Manager выберите SQL Query Analyzer.

Откроется окно SQL Query Analyzer.

2. В панели инструментов SQL Query Analyzer щелкните кнопку Load SQL Script или нажмите сочетание клавиш Откроется окно Open Query File.

3. Выберите путь к сохраненному файлу сценария и открой те файл 4. Просмотрите этот файл. Вот его текст:

CREATE DATABASE TSQLDB ON Создание и конфигурирование ( NAME, FILENAME SQL, SIZE = 10, MAXSIZE 25, FILEGROWTH 5 ) LOG ON ( NAME, FILENAME SQL, SIZE 4, MAXSIZE 12, FILEGROWTH = 40% ) 5. Выполните сценарий, сохраненный в файле CreateDB.sql.

В панели запросов выводится сообщение о создании БД TSQLDB. Размер файла - 10 Мб, файла - 4 Мб.

6. В панели инструментов щелкните кнопку Clear Window.

7. В панели запросов введите EXEC TSQLDB и нажмите сочетание клавиш чтобы выполнить данный запрос.

8. В панели запросов отображаются свойства БД TSQLDB.

9. В панели инструментов щелкните кнопку Clear Window.

10. Сверните окно SQL Query Создание баз данных и объектов БД в SQL Server Enterprise Manager с помощью сценариев Работая с SQL Server Enterprise Manager, вы можете использовать сценарии SQL, с помощью которых создаюгся все существующие объекты БД (таблицы, ин дексы, представления, зарегистрированные пользователи, группы пользователей и учетные записи). Эти можно использовать для повторного создания любого объекта БД в той же или в другой БД (например при восстановле нии в случае потери или нарушения целостности данных). Вы можете создать один сценарий, при помощи которого создаются все объекты БД, или отдельные сценарии для каждого объекта.

Чтобы создать сценарий на вкладке General диалогового окна rate SQL Scripts щелкните правой кнопкой нужный объект и выберите All rate SQL Script (рис.

Вы можете выбрать создаваемые сценарием объекты в Если в БД не было создано ни одного объекта, список объектов останется пустым.

Определить дополнительные параметры сценария можно на вкладке Formatting. Для разных видов объектов здесь свой набор параметров. По умолчанию рий содержит операторы CREATE И DROP для каждого создаваемого объекта (рис. 6-12).

На вкладке Options (рис. 6-13) можно изменить параметры, использу емые в сценарии: параметры доступа к различным объектам, в том числе права досту па к различным объектам и используемые учетные записи, параметры таблиц и со здаваемых файлов.

Занятие Создание базы данных Рис. 6-11. Вкладка General диалогового окна Generate Scripts ale NULL.

GO Рис. 6-12. Вкладка Formatting диалогового окна Generate SQL Scripts Рис. 6-13. Вкладка Options диалогового окна Generate SQL Scripts и пользовательских баз данных Глава Вы можете написать один для создания схемы и всех объектов БД или создать отдельный сценарий для каждого объекта.

Упражнение 4. Генерация сценария, описывающего базу данных TSQLDB В этом упражнении вы SQL Server Enterprise Manager и сгене рируете сценарий для воссоздания БД TSQLDB.

сгенерировать сценарий базу TSQLDB 1. В дереве консоли SQL Server Enterprise Manager последовательно раскройте кон тейнеры Microsoft SQL Servers, SQL Server Group, экземпляра по умолчанию и за тем Ч контейнер Databases.

В списке баз данных экземпляра SQL Server по умолчанию БД TSQLDB отсут поскольку она была создана при помощи другой клиентской утилиты.

2. Щелкните Databases правой кнопкой и выберите Refresh.

Список БД обновится, и в нем появится TSQLDB.

3. Щелкните TSQLDB правой кнопкой и выберите All Tasks\Generate SQL Script.

Откроется диалоговое окно Generate SQL Scripts Ч 4. Перейдите на вкладку Options.

5. В группе элементов Security Scripting Options пометьте флажок Script Database и щелкните ОК.

Откроется окно Save As.

в. В раскрывающемся списке In выберите папку 7. В поле File Name введите TSQLDB и щелкните Save.

8. Щелкните в окне сообщения Scripting.

9. Разверните окно SQL Query Analyzer.

10. В панели инструментов SQL Query щелкните кнопку Load SQL Script.

Откроется окно Open Query File.

Укажите путь к файлу и откройте файл сценария TSQLDB.sql.

В самом начале сценария TSQLDB.sql содержатся операторы Transact-SQL DROP DATABASE и CREATE DATABASE. Кроме сценарий также содержит опера устанавливающие различные параметры БД TSQLDB. Подробнее о пара метрах БД Ч в занятии 2 этой главы.

12. Закройте SQL Query Analyzer.

Резюме Пользовательские БД можно создавать в SQL Server Enterprise Manager или в SQL Query Analyzer при помощи Transact-SQL. Начинающие пользователи мо гут создавать простые БД с помощью мастера Create Database Wizard в SQL Server Enterprise Manager. Чтобы создавать более сложные БД, используйте непосредствен но SQL Server Enterprise Manager или создайте и сохраните сценарий Transact-SQL, a затем выполните его в SQL Analyzer. Если свойства файла данных и журнала транзакций не были определены явно, то при создании пользовательской БД SQL Server 2000 использует значения по умолчанию для всех не определенных пользователем свойств файла данных и журнала При создании новая пользовательская БД наследует системные и пользовательские объекты БД а также ее параметры.

2 Настройка параметров базы данных Занятие 2. Настройка параметров базы данных Помимо свойств файлов данных и журнала транзакций пользовательских БД, можно также задать ряд параметров, которые определяют ее характеристики. На этом занятии вы познакомитесь с этими параметрами и научитесь определять и изменять параметры БД, в том числе БД model.

Изучив материал этого вы сможете:

перечислить настраиваемые параметры БД;

просмотреть параметры БД;

изменить настраиваемые параметры БД.

Продолжительность занятия Ч около минут Параметры базы данных Параметры БД определяют различные аспекты стандартного БД. Парамет ры пользовательской БД наследуются при ее создании от БД model. Есть пять типов параметров:

Х управление некоторыми автоматическими аспектами поведения БД (например автоматическое создание и поддержка данных статистики, автоматическое обнов ление данных статистики и уменьшение размера файлов БД);

Х использование различных видов курсоров и выбор типа курсора, используемого по умолчанию (например локальные или глобальные курсоры);

Х выбор модели восстановления записи копирования и простая);

Х совместимость с ANSI (например использование значений NULL, как определе но в ANSI, и использование идентификаторов, заключенных в кавычки);

Х режим доступа к БД (например только для чтения и доступ, предоставленный толь ко владельцу БД Ч dbo) В большинстве сред, как правило, администратор изменяет значения лишь неко торых из перечисленных параметров. К периодически изменяемым параметрам от носятся выбор модели восстановления БД (см. главы 5 и 8) и ограничение уровня пользовательского доступа к БД. Ограничение доступа к пользовательским БД необ ходимо при выполнении различных административных задач (допустим, при восста новлении БД) или при создании БД, доступной только для чтения. К параметрам, позволяющим ограничить доступ к БД, относятся: установка уровня доступа к БД только для чтения, разрешение устанавливать соединение с БД только владельцам БД и пользователям, ролями dbcreator и sysadmin на сервере БД, а также выбор режима монопольной работы с БД. Подробнее об остальных параметрах БД Ч в разделе Setting Database Options справочной системы SQL Server Books Online.

Просмотр значений параметров данных Просмотреть установленные значения параметров БД можно при помощи SQL Server Enterprise Manager или системной функции DATABASEPROPERTYEX. В SQL Server Enterprise Manager собраны наиболее часто изменяемые параметры. Чтобы просмо треть их, щелкните БД правой кнопкой, выберите Properties и в окне SSEMDB Pro perties перейдите на вкладку Options (рис. 6-14).

и баз 6-14. Значения параметров БД Чтобы определить, какая модель восстановления выбрана для БД пользуйтесь системной функцией Выполните следующий запрос в SQL Query Analyzer:

SELECT OATABASEPROPERTYEX Изменение значений параметров БД Значения наиболее часто параметров БД можно установить, выбрав соот параметры в SQL Enterprise Manager, либо выполнив оператор Transact-SQL ALTER DATABASE. Например, чтобы выбрать модель записи копирова ния для БД TSQLDB, выполните следующий запрос:

ALTER DATABASE TSQLDB SET RECOVERY Отобразить или изменить значения некоторых параметров БД можно также с системной хранимой sp_dboption. Однако она поддержи вается только для совместимости с предыдущими версиями SQL Server и не позволяет просматривать или изменять тех параметров БД, которые были добавлены в SQL Server 2000.

Резюме Параметры БД определяют ее по умолчанию. Они наследуются от БД model.

В большинстве случаев вам потребуется изменять значения лишь парамет ров, а именно: выбрать соответствующую модель восстановления БД и ограничить уро вень доступа к БД для административных задач или создания пользова тельской БД, доступной только для чтения. Просмотреть текущие значения парамет ров БД можно при помощи SQL Server Enterprise Manager или системной функции DATAPROPERTYEX. Чтобы эти параметры для всех новых БД, измените па раметры БД model. Чтобы их для БД, используйте SQL Server Enterprise Manager или оператор Transact-SQL ALTER DATABASE.

Занятие 3 Изменение данных Занятие 3, Изменение размера базы данных После как вы создали пользовательскую БД, вам нужно будет изменять ее раз мер. Объем файлов данных обычно растет с течением времени;

возрастает также на грузка на систему, и, следовательно, файлы журнала транзакций заполняются быс трее. В ряде случаев вам нужно будет уменьшить размер файлов данных или журна лов транзакций. В SQL Server 2000 предусмотрен ряд механизмов управления изме нением размера БД. На этом занятии вы познакомитесь с тем, как использовать авто матические методы контроля размера БД, имеющиеся в SQL Server 2000. Вы также как вручную увеличить размер файлов данных и журналов транзакций и как добавить дополнительные файлы в БД. Наконец, вы узнаете, как уменьшить размер файлов данных и журналов транзакций.

Изучив материал этого вы сможете:

использовать автоматическое увеличение размера файлов БД;

использовать автоматическое уменьшение размера файлов БД;

увеличивать и уменьшать размер файлов данных вручную;

увеличивать и уменьшать размер файлов журнала транзакций вручную;

добавлять дополнительные файлы БД и файлы журнала в БД.

Продолжительность занятия Ч около 30 минут Автоматическое увеличение размера файлов При создании пользовательской БД по умолчанию выбирается автоматическое уве личение размера как файлов данных, так и журнала транзакций при заполнении со ответствующих файлов. Автоматическое увеличение размера файлов рекомендуется на этапе внедрения прикладных программ и в небольших прикладных системах, где нет администратора БД, свободное на диске (например в настольных приложениях). Автоматическое увеличение файлов используется для настольных БД. Однако в большинстве сред, где SQL Server 2000 используется как сервер БД, автоматическое увеличение размера файлов долж но использоваться только как крайняя, временная мера, поскольку может существен но снизить производительность системы. При каждом увеличении размера файла нагрузка на систему существенно возрастает. Кроме того, частое увеличение диско вого пространства, выделенного для файлов БД, приведет к фрагментации диска, осо бенно если этот диск используется также другими прикладными программами. По этому в реальных рабочих системах, предназначенных для промышленной эксплуа тации, необходимо следить за объемом данных и журналов транзакций, при димости увеличивая или уменьшая их размер вручную во время наименьшей загру женности БД.

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

Создание и пользовательских баз данных Глава & Администратор БД должен контролировать объем данных и транзакций, как можно реже используя, а по возможности и вовсе отказавшись от автоматическо го увеличения размера файлов. Если вы все же используете автоматическое увеличе ние, устанавливайте достаточно большую величину приращения размера файлов, что бы рост файла происходил нечасто. Кроме необходимо всегда ограничивать максимальный размер файла, диск не переполнился вследствие неограничен ного увеличения размера файла (это особенно важно, если на диске размешены так же другие файлы). Чтобы рост файла и свободное пространство, име на диске, установите соответствующее системное оповещение. Когда размер файла увеличивается автоматически и объем свободного пространства на диске уменьшается до заданного значения, система выдает соответствующее предупрежде ние. Подробнее о настройке системных оповещений Ч в главе 13.

Изменить параметры автоматического увеличения размера файлов можно из SQL Server Enterprise Manager, а также при помощи оператора ALTER DATA BASE. Например, чтобы отключить автоматическое увеличение размера для основ ного файла данных БД TSQLDB, выполните следующий запрос:

ALTER DATABASE TSQLDB MODIFY FILE { NAME. FILEGROWTH = 0 ) Если задать для параметра FILEGROWTH нулевое значение, размер фай ла не превысит изначально заданного значения. При переполнении файла добавить в него новые данные не получится. Чтобы добавлять данные в базу, нужно добавить до полнительные или увеличить файлов данных. При переполнении файла журнала завершить следующие транзакции не удастся до тех пор, пока не будет увеличен размер файлов журнала транзакций или пока в базу не будут добавлены транзакций, либо не будет выполнено архивиро вание журнала транзакций с последующим его усечением.

Упражнение 5. Установка параметров автоматического увеличения размера файлов в 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 по умол чанию и затем Ч Databases.

2. правой и выберите команду Properties.

Откроется вкладка General диалогового окна Northwind Properties, где указаны различные свойства БД Northwind.

3. Перейдите на вкладку Data Files.

Для основного файла данных БД выбрано автоматическое увеличение размера с величиной приращения, составляющей 10% от размера файла. Макси мальный размер файла не 4. В группе элементов Maximum File Size установите переключатель в по ложение Restrict File Growth (MB). В поле Restrict File Growth (MB) введите 25.

3 Изменение базы 5. Перейдите на вкладку Transaction Log.

В группе элементов управления File Growth установите переключатель в положение In Megabytes. В поле In Megabytes наберите 5.

7. Щелкните чтобы сохранить изменения БД Автоматическое уменьшение размера файлов Размер файлов БД можно не только автоматически увеличивать, но и уменьшать. Вы можете установить параметры пользовательской БД таким образом, чтобы ее размер автоматически уменьшался, если в файле данных или файле журнала транзакций бу дет много свободного дискового пространства. По умолчанию автоматическое умень шение размера БД не используется. Хотя оно иногда полезно для настольных прило жений и на этапе внедрения прикладных программ, не рекомендуется использовать его в реальных промышленных системах из соображений производительности. Как и в случае автоматического увеличения размера файлов, так и в случае использования автоматического уменьшения их размера производительность системы может суще ственно снизиться. Размер файлов данных и журналов транзакций нужно устанавли вать таким образом, чтобы использовать выделенное пространство максимально эф фективно. Если нужно уменьшить размер файла, выполните эту задачу ког да пользователи не работают активно с БД. Также неэффективно использо вать обе возможности автоматического контроля размера БД Ч автоматическое уменьшение и увеличение размера файла. Чтобы задействовать автоматическое умень шение размера файлов используйте SQL Server Enterprise Manager или оператор ALTER DATABASE.

Изменение размера файлов данных вручную Наблюдая за изменением объема свободного пространства файлах данных, вы мо жете оценить, когда требуется увеличивать размер файлов данных. Выполнять это нужно во время минимальной нагрузки на систему. Для увеличения размера файла БД можно использовать SQL Server Enterprise Manager или оператор Transact-SQL ALTER DATABASE. Например, чтобы установить размер основного файла данных БД TSQLDB в 15 выполните следующий запрос:

ALTER DATABASE TSQLDB MODIFY FILE ( NAME =, SIZE = 15 ) Для уменьшения размера файла данных вручную используйте SQL Server Enterprise Manager или оператор Transact-SQL DBCC SHRINKFILE. Например, чтобы умень шить размер основного файла данных БД TSQLDB, выполните следующий запрос, указав значение размера файла 7 Мб:

USE TSQLDB DBCC SHRINKFILE (, 7 ) При выполнении оператора DBCC SHRINKFILE операция производится только над текущей БД. Во время уменьшения размера файл данных с По умолчанию все использованные страницы в сокращаемой части файла данных пе ремещаются на свободное пространство в начале файла данных, чтобы его можно было уменьшить до нужного размера. Можно также сократить файл данных до послед него выделенного экстента без перемещения страниц или перемещать страницы без сокращения файла данных. Файл данных невозможно сократить до размера меньше го, чем объем данных, которые он содержит, или размера БД model. С помощью и баз данных Глава DBCC SHRINKFILE можно сократить файл данных до размера меньшего, чем его первоначальный размер. Следует также помнить о том, что можно сокращать файл когда пользователи работают с БД, но не в то когда создаются резерв ные копии БД или файл журнала Оператор DBCC можно использовать, чтобы уменьшить размер всей БД, включая все файлы данных и все журналы транзакций, до определенного процента от текущего размера. Используя оператор DBCC SHRINKFILE, нельзя уменьшить БД до размера меньше первоначального.

Оператор ALTER DATABASE используется только для увеличения раз мера файла.

Упражнение 6. Изменение размера файла данных с помощью 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 по умол чанию и затем Ч Databases.

2. Щелкните правой кнопкой и выберите Properties.

Откроется вкладка General диалогового окна Northwind Properties, где перечисле ны различные свойства БД 3. Перейдите на вкладку Data Files.

В столбце Space Allocated (MB) таблицы свойств файлов данных просмотрите раз мер основного файла данных БД Northwind Ч он должен быть равен 3 Мб.

4. В поле Space Allocated (MB) 7.

5. Щелкните OK, чтобы сохранить изменения в БД Northwind.

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

Если используется модель восстановления отдельных операций или модель восста новления результатов копирования, необходимо регулярно создавать резервные ко пии журнала транзакций для усечения журналов, чтобы освободить пространство для дополнительных записей. Если используется модель восстановления отдельных опе раций, то при выполнении операций, затрагивающих большие объемы данных, а так же при операциях загрузки данных довольно быстро могут привести к переполнению файла журнала транзакций. Если замечаете, что ваши журналы транзакций запол няются быстрее, чем нужно либо чаще архивировать журналы транзакций, либо SQL Server 2000 автоматически увеличивать размер журналов тран закций всякий раз, когда в нем больше не окажется свободного места, или 3 Изменение размера данных размер журналов транзакций вручную. размер журнала транзакций можно с помошью SQL Server Enterprise Manager или оператора ALTER DATABASE аналогично тому, как увеличивается размер файла данных.

Переполнение журнала транзакций приводит к остановке работы SQL Server 2000.

Чтобы уменьшить размер журнала транзакций вручную, используйте SQL Server Enterprise Manager или оператор DBCC Уменьшить размер всех фай лов данных и журналов транзакций одновременно можно при помощи SQL Server Enterprise Manager или оператора Аналогично файлу дан ных, журнала транзакций происходит с конца. При этом сокращение отдельными модулями, основной единицей которых является виртуаль ный файл журнала. Если сокращаемый журнал транзакций содержит неактивные вир туальные файлы в конце, он будет уменьшен на их размер, чтобы размер был макси приближен к требуемому. Требуемый размер округляется до верхнего значения размера следующего виртуального файла журнала. Например, если вы решили сокра тить размер журнала, состоящего из шести виртуальных файлов, с 300 Мб до 150 Мб, то его удастся сократить до Мб при условии, что виртуальный файл в конце журна ла транзакций пуст.

Если в конце журнала транзакций нет достаточного количества пустых виртуаль ных файлов, чтобы обеспечить необходимый объем свободного пространства, SQL Server 2000 освобождает максимально возможный объем. SQL Server 2000 помещает в последний активный виртуальный файл, находящийся в конце файла журнала, до полнительные записи чтобы MinLSN переместился в начало файла после завер шения всех длинных транзакций и всех процессов репликации, где участвуют какие либо транзакции (рис. 6-15).

Виртуальный Виртуальный Виртуальный Виртуальный журнал 1 журнал 2 журнал 3 журнал нительные записи и t пользователем Т Т Конец Начало размер, до которого следует логического логического сократить журнал журнала Рис. Уменьшение размера журнала транзакций путем добавления дополнительных записей После этого SQL Server 2000 отправляет о необходимости заархивиро вать журнал транзакций, чтобы удалить виртуальные файлы журнала в конце файла.

После архивирования нужно снова выполнить команду DBCC, чтобы сократить жур нал транзакции до желаемого размера (рис. 6-16).

Глава gg Создание и баз данных Виртуальный Виртуальный Виртуальный Виртуальный журнал 1 журнал 2 журнал 3 журнал Г Конец Начало логического журнала журнала Рис. 6-16. Журнал транзакций после уменьшения Создание дополнительных файлов данных и файлов журнала транзакций Если нужно создать файлы данных или журнала транзакций (когда свободное пространство находится на другом диске или если необходимо повысить производительность системы, разместив файлы БД на нескольких дисках), вы може те использовать SQL Server Enterprise Manager или оператор ALTER DATABASE. Создавая файлы БД с помошью SQL Server Enterprise Manager, вы просто добавляете в диалоговом окне свойств БД. По умолчанию все дополнительные файлы данных добавляются в основную группу файлов (рис. 6-17). О том, как работать с группами файлов, Ч в занятии 4 этой главы.

Рис. 6-17. Добавление новых в БД Занятие 3 базы данных В следующем примере в БД добавляется файл при оператора ALTER DATABASE.

ALTER DATABASE TSQLDB ADD FILE, FILENAME = Files\Microsoft SQL, SIZE = 10, MAXSIZE 25, 5 ) Резюме Через некоторое время после установки и эксплуатации SQL Server 2000 вам потребу ется дополнительное пространство для размещения файлов данных и журналов тран закций. Вы можете разрешить SQL Server 2000 размер файлов автомати чески, но в большинстве сред эта мера используется только как временная. Для по вышения производительности системы нужно постоянно следить за размером фай лов данных, чтобы по мере заполнения файлов данными увеличивать их размер вруч ную. Увеличение вручную позволяет выполнять эту операцию в то время, когда на грузка на систему минимальна. Если в журналах транзакций остается мало свободно го места, вы можете либо увеличить их либо чаще их архивировать. Помимо увеличения размера существующих файлов БД, вы можете добавлять дополнительные файлы данных и журналы транзакций. Размер файлов БД также можно уменьшать ав томатически или вручную. Для повышения производительности рекомендуется второй способ.

gg Создание и баз данных Глава Занятие Размещение файлов БД на нескольких дисках В большинстве систем на основе SQL Server 2000 для повышения отказоустойчивости и производительности системы в целом, а также для снижения времени на восстанов ление после сбоев для файлов БД и журналов транзакций используются несколько физических дисков. Это также упрощает техническое обслуживание систе мы. На этом занятии вы познакомитесь с различными способами файлов на нескольких дисках Ч от просто размещения каждого из файлов данных и журналов транзакций на отдельном диске до совместного использования RAID и групп файлов для очень больших БД.

.

Изучив материал этого занятия, вы сможете:

определить подходящий уровень RAID для вашей системы, чтобы оптимизировать производительность и обеспечить отказоустойчивость;

рассказать об использовании RAID и групп файлов в очень больших БД;

оптимизировать способ размещения файлов для обеспечения высокой производительности и минимизации времени восстановления системы после сбоев;

переместить файлы БД.

Продолжительность Ч около 30 минут Общие сведения о RAID Система RAID состоит из двух или более дисков, которые обеспечивают более высо кую производительность и отказоустойчивость по сравнению с отдельным диском большого объема за меньшие Поддержка RAID обеспечивается специальным программным обеспечением, установленным на одном из дисков в специальном раз деле (эти RAID относятся к так аппаратным RAID) или самой Windows (эти RAID относятся к программным RAID). Поскольку при применении программ ных RAID SQL Server 2000 использует ресурсы процессора совместно с RAID, для достижения максимальной системы рекомендуется использовать аппаратные RAID. Однако эффективность систем с программными RAID все же выше, чем систем, где RAID вообще не используется.

Pages:     | 1 | 2 | 3 | 4 | 5 |   ...   | 9 |    Книги, научные публикации