Реферат: SQL Server 2000
О LOG ON. Это ключевое слово означает, что файлы журнала транзакций будут определены явно. После LOG ON должно следовать определение файлов журнала транзакций. Если это ключевое слово не используется, то есть пользователь не задает явно файлы журнала транзакций, то сервер автоматически создает единственный файл размером 25% от общей суммы размеров файлов данных. Имя файла генерируется на основе имени базы данных, но в конце к нему добавляются символы _Log.
О FOR LOAD. Этот аргумент оставлен в большей степени для обеспечения обратной совместимости с предыдущими версиями SQL Server (до SQL Server 7.0). Он предписывает серверу создать базу данных в режиме использования только владельцем (dbo use only). Это делается, если необходимо выполнить восстановление базы данных из резервной копии. Дело в том, что в ранних версиях SQL Server восстановление базы данных было возможно только в уже существующую базу данных, установленную в режим FOR LOAD. Начиная с SQL Server 7.0, при необходимости база данных может быть создана автоматически в ходе выполнения команды RESTORE. Более того, допускается восстановление резервной копии поверх существующей базы данных.
О FOR ATTACH. Этот аргумент используется, когда необходимо выполнить присоединение (attach) базы данных. В этом случае на диске уже должны существовать файлы с данными. Таким образом, создание базы данных происходит только на логическом уровне — в системную таблицу sysdatabases базы данных master вносятся соответствующие записи, но создание собственно файлов не выполняется. Для подключения базы данных бывает достаточно указать только размещение первичного файла базы данных. Информация о местоположении всех других файлов базы данных (вторичных и журнала транзакций) хранится в первичном файле базы данных. Однако если местоположение файлов базы данных с момента ее отсоединения изменилось, то необходимо будет указать полный путь к каждому файлу базы данных.
Присоединение базы данных можно также выполнить и с помощью системной хранимой процедуры sp_attach_db, которая напрямую работает с системной таблицей sysdatabases и таблицами самой базы данных, внося в нее необходимые изменения.
Если присоединение участвующей в репликации базы данных выполняется не на «родном» сервере, то необходимо удалить поддержку репликации. Для этого используется хранимая процедура sp_removedbreplication [@dbname =] "dbname".
О collation_name. С помощью этого аргумента указывается сопоставление по умолчанию для всех объектов, создаваемых в базе данных. Это же сопоставление будет использоваться и для системных таблиц. Разрешается указывать как сопоставления Windows, так и сопоставления SQL Server. Если сопоставление не указывается, то для базы данных будет использоваться сопоставление, определенное на уровне сервера, то есть то сопоставление, которое было выбрано при установке SQL Server 2000.
Как видно из синтаксиса команды CREATE TABLE и уже рассмотренных аргументов этой команды, при создании базы данных можно определить набор файлов, из которых будет состоять создаваемая база данных. Уже было сказано, что файл определяется с помощью конструкции <fi1espec>, синтаксис которой приведен ниже. Эта конструкция имеет одинаковый формат для всех типов файлов (первичного, вторичного и журнала транзакций). Чтобы соответствующий файл был первичным, перед его определением необходимо указать ключевое слово PRIMARY. Журнал транзакций определяется с помощью ключевого слова LOG ON. Если ни одно из этих ключевых слов не указывается (указывается только слово ON), то соответствующий файл будет вторичным. Дополнительно файлы данных могут быть включены в группы. Это будет рассмотрено несколько позже в этом же разделе.
< filespec >
( [ NAME = Iogica1_file_name , ]
FILENAME = "os_file_name"
[ , SIZE = size ]
[ . MAXSIZE = UNLIMITED ]
[ . FILEGROWTH = growthj increment ] ) [ . ...n ]
Рассмотрим назначение используемых аргументов.
О NAME = logical_file_name. Логическое имя файла, под которым он будет опознаваться при выполнении различных команд Transact-SQL. Логическое имя файла должно быть уникальным в пределах базы данных. Имя файла журнала транзакций не должно совпадать с именем файла самой базы данных. Использование ключевого слова NAME не требуется, если выполняется присоединение базы данных, однако таким образом можно указать новое логическое имя для физического файла.
О FILENAME = "os_f 11 e_name". Если с помощью предыдущего аргумента указывалось логическое имя файла, то рассматриваемый аргумент предназначен для указания полного пути и названия соответствующего физического файла, который будет создан на жестком диске. Это имя будет иметь файл на уровне операционной системы. Если вы воспользуетесь какой-либо программой просмотра диска, то после успешного выполнения команды CREATE DATABASE сможете увидеть файл с указанным именем. Напомним, что SQL Server 2000 не позволяет создавать файлы базы данных на сжатых томах и сетевых дисках.
По умолчанию для файлов баз данных используются расширения .mdf, .ndf и .Idf соответственно для первичного, вторичных файлов и файлов журнала транзакций. В принципе, вы можете указать любое другое расширение, но вряд ли найдется серьезная причина делать это. Чтобы не создавать путаницы, советуем оставлять значения по умолчанию, то есть при описании файла не указывать расширение.
О SIZE = size. С помощью этого аргумента указывается первоначальный размер, который будет иметь соответствующий файл. Размер может быть указан либо в мегабайтах, либо в килобайтах. Для явного задания величины можно использовать приставки М b и К Ь. По умолчанию считается, что размер задается в мегабайтах. Минимальный размер файла составляет 512 Кбайт. Если размер файла не указывается явно, то по умолчанию будет создан файл размером > 1 Мбайт. Отметим, что в качестве размера файла разрешается задавать только целочисленные значения. Таким образом, если необходимо задать дробное количество мегабайт, следует указать соответствующее значение в килобайтах.
О FILEGROWTH = growth_iincrement. При описании физической архитектуры базы данных в главе 4 было сказано, что начиная с SQL Server 7.0 поддерживается автоматическое увеличение (auto grow) размера базы данных, что реализуется путем последовательного автоматического увеличения размеров файлов, входящих в состав базы данных. SQL Server 2000 позволяет контролировать величину прироста каждого из файлов базы данных отдельно от других, задавая шаг прироста не на уровне базы данных, а на уровне отдельного файла. С помощью рассматриваемого аргумента задается величина прироста файла базы данных. Шаг прироста может быть указан как в абсолютном выражении в виде конкретного количества мегабайт (М Ь) или килобайт (Kb), так и в относительном в виде определенного процента (%) от первоначального размера файла. По умолчанию предполагается, что указывается значение в мегабайтах. Если аргумент FILEGROWTH опущен, то файл будет увеличиваться на 10 % от первоначального объема. Минимальный размер, на который может быть увеличен файл, составляет 64 Кбайт. Отметим, что в сумме первоначальный размер файла и выбранный шаг прироста не должны превышать указанный максимальный размер файла.
О MAXSIZE = max_size . Автоматическое увеличение файлов связано с определенными проблемами. В частности, если диск с файлом базы данных используется для хранения временных файлов различных приложений, то увеличение файла базы данных до большого размера может привести к нарушению работоспособности приложений. Для избежания этой и других подобных проблем SQL Server 2000 позволяет ограничивать рост файлов конкретным размером. Для этого и требуется рассматриваемый аргумент. Максимальный размер может быть указан в мегабайтах (Mb— используется по умолчанию) или килобайтах (Kb). Отметим, что ограничение роста отдельного файла не ограничивает возможность увеличения роста всей базы данных, так как размер базы данных может увеличиваться за счет пророста других файлов. Если ограничивать максимальный размер файла не нужно, то
необходимо указать значение UNLIMITED или вообще опустить аргумент MAXSIZE, так как по умолчанию размер файла не ограничивается, и он будет расти, пока не заполнит все доступное пространство на диске. Мы рассмотрели синтаксис конструкции <filespec>, которая используется для описания файлов базы данных. Как уже было сказано, файлы данных (mdf и ndf) могут объединяться в так называемые группы файлов. Подобное объединение выполняется с целью упрощения управления файлами. Например, при создании резервных копий можно выполнять архивирование не всей базы дан- • ных целиком, а лишь определенной группы файлов. Основным же назначением групп файлов является размещение в них данных определенных таблиц или их отдельных столбцов, а также хранение индексов. При создании таблицы вы можете явно указать, в какой группе файлов должны храниться данные того или иного столбца. Как следствие, подобным образом можно предписать хранить данные столбцов на разных логических или физических дисках.
Файлы, не включенные явно ни в какую группу, будут включены в группу файлов по умолчанию, которой первоначально является первичная группа файлов. Однако если имеется необходимость в дополнительных группах файлов с теми или иными файлами, необходимо воспользоваться конструкцией <filegroup>, имеющей следующий синтаксис:
<fiIegroup> : : =
FILEGROUP filegroupjiame <filespec> [,..'.n]
Аргумент fi1egroup_name определяет имя группы файлов, под которым она будет распознаваться при выполнении команд Transact-SQL. После имени группы файлов следует определение включаемых в нее файлов. Как видно из синтаксиса, в одну группу файлов может быть включено множество файлов.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26