МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • SQL Server 2000

    Рассмотрим назначение используемых аргументов.

    О 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 = UNLIMITED . Автоматическое увеличение файлов

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

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

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

    привести к нарушению работоспособности приложений. Для избежания этой и

    других подобных проблем SQL Server 2000 позволяет ограничивать рост

    файлов конкретным размером. Для этого и требуется рассматриваемый

    аргумент. Максимальный размер может быть указан в мегабайтах (Mb—

    используется по умолчанию) или килобайтах (Kb). Отметим, что

    ограничение роста отдельного файла не ограничивает возможность

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

    увеличиваться за счет пророста других файлов. Если ограничивать

    максимальный размер файла не нужно, то

    необходимо указать значение UNLIMITED или вообще опустить аргумент

    MAXSIZE, так как по умолчанию размер файла не ограничивается, и он

    будет расти, пока не заполнит все доступное пространство на диске. Мы

    рассмотрели синтаксис конструкции , которая используется для

    описания файлов базы данных. Как уже было сказано, файлы данных (mdf и

    ndf) могут объединяться в так называемые группы файлов. Подобное

    объединение выполняется с целью упрощения управления файлами. Например,

    при создании резервных копий можно выполнять архивирование не всей базы

    дан- • ных целиком, а лишь определенной группы файлов. Основным же

    назначением групп файлов является размещение в них данных определенных

    таблиц или их отдельных столбцов, а также хранение индексов. При

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

    храниться данные того или иного столбца. Как следствие, подобным

    образом можно предписать хранить данные столбцов на разных логических

    или физических дисках.

    Файлы, не включенные явно ни в какую группу, будут включены в группу

    файлов по умолчанию, которой первоначально является первичная группа

    файлов. Однако если имеется необходимость в дополнительных группах

    файлов с теми или иными файлами, необходимо воспользоваться

    конструкцией , имеющей следующий синтаксис:

    : : =

    FILEGROUP filegroupjiame [,..'.n]

    Аргумент fi1egroup_name определяет имя группы файлов, под которым она

    будет распознаваться при выполнении команд Transact-SQL. После имени

    группы файлов следует определение включаемых в нее файлов. Как видно из

    синтаксиса, в одну группу файлов может быть включено множество файлов.

    Мы рассмотрели создание обычной базы данных, работа с которой

    производится на локальном сервере. Иногда бывает необходимо перенести базу

    данных на новый сервер или разослать копии базы данных (например, каталог

    или годовой отчет компании). SQL Server 2000 имеет инструменты для

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

    последующего присоединения базы данных. Далее в этой главе будет подробно

    описан механизм этих операций, а также будут рассмотрены хранимые

    процедуры для выполнения отсоединения и присоединения базы данных.

    Если база данных записывается на компакт-диск и этот компакт-диск

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

    базы данных нельзя будет изменять. Следовательно, нельзя будет изменить

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

    базе данных. Кроме того, журнал транзакций также будет недоступен для

    записи. Специально для решения подобных проблем SQL Server 2000 позволяет

    создавать переносимые базы данных. При присоединении такой базы данных

    сервер создает на жестком диске файл, содержащий системные таблицы и

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

    непосредственно с .носителя и не могут быть изменены.

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

    sp_create_removable. Чтобы после создания базы данных проверить,

    соответствует ли она требованиям переносимой базы данных, можно

    использовать хранимую процедуру sp_certify_removable.

    Управление базами данных

    К управлению базой данных на физическом уровне относится вся работа по

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

    усечение базы данных и журнала транзакций, создание групп файлов,

    изменение группы файлов по умолчанию, изменение имени и владельца базы

    данных, присоединение и отсоединение баз данных, изменение параметров

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

    действий.

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

    с помощью команды ALTER DATABASE:

    ALTER DATABASE database

    ADD LOG FILE < filespec > [ ....n ]

    j SET < optionspec > [ .. .'.n ] [ WITH < termination > ]

    j COLLATE < collationjiame >

    }

    Как видно из синтаксиса, за один вызов команды может быть изменено не

    более одного параметра конфигурации базы данных. Если необходимо

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

    отдельных

    шагов. Рассмотрим более подробно назначение каждого из аргументов.

    О database. Имя базы данных, которую необходимо модифицировать.

    Естественно, указанная база данных должна существовать на сервере.

    Чтобы иметь возможность изменить базу данных, необходимо, чтобы с ней не

    работал ни один пользователь. Если же в базе данных имеется хоть одна

    активная транзакция, то попытка выполнения команды ALTER DATABASE

    завершится ошибкой. В этом случае нужно дождаться, пока будут завершены

    все транзакции, либо воспользоваться аргументом WITH TERMINATION, который

    будет рассмотрен далее.

    О ADD FILE [, . . .n]. Этот аргумент используется, когда в

    базу данных необходимо добавить новые файлы данных. Как видно из

    синтаксиса, одновременно можно добавить множество файлов. Как и при

    работе с командой CREATE DATABASE, файлы описываются с помощью

    конструкции , синтаксис и использование которой были

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

    • ТО FILEGROUP f 11 egroup_name. Используется в сочетании с предыдущим

    аргументом для добавления файлов в определенную группу файлов. Если

    аргумент ТО FILEGROUP не указывается, то файлы будут добавлены в группу

    файлов по умолчанию.

    О ADD LOG FILE [, . . .n]. Если с помощью двух предыдущих

    аргументов можно добавлять в базу данных файлы данных, то аргумент ADD

    LOG FILE используется для добавления в базу данных одного или более

    файлов журнала транзакций.

    О REMOVE FILE 1 ogica1_fi 1 e_name. В противоположность предыдущим, с

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

    данных одного из файлов. Отметим, что за одну команду ALTER DATABASE

    можно удалить всего один файл. Аргумент REMOVE FILE используется как

    для удаления файлов данных, так и для удаления файлов журнала

    транзакций. Однако прежде чем станет возможным удаление файла, он

    должен быть освобожден от данных. В противном случае сервер не разрешит

    его удаление.

    Освободить файл от данных можно с помощью команды DBCC SHRINKFILE

    (file_name, EMPTYFILE). Аргумент EMPTYFILE предписывает распределить все

    данные из файла между другими файлами группы. Добавление новых данных в

    файл не разрешается.

    О ADD FILEGROUP f i legroup_name. Используется для создания в базе данных

    группы файлов с указанным именем. Как видно из синтаксиса, при создании

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

    существующих файлов в новую группу выполняется отдельно. В базе данных

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

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

    быть организованы в группы.

    О REMOVE FILEGROUP filegroup_name. Используется для удаления из базы

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

    включенные в эту группу. Однако перед выполнением этой операции

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

    О MODIFY FILE . Используется для изменения параметров файла

    базы данных, таких как логическое имя (NAME), первоначальный размер

    (SIZE), максимальный размер (MAXSIZE) и шаг приращения (FILEGROWTH). За

    один вызов команды ALTER DATABASE может быть изменен только один

    параметр одного из файлов. Хотя для описания файла и используется

    конструкция , ее синтаксис несколько иной, чем при создании

    базы данных. Отличительной особенностью является наличие аргумента

    NEWNAME, с помощью которого можно изменить логической имя файла. В

    остальном же синтаксис и использование конструкции аналогичны

    рассмотренным ранее.

    ::=

    ( NAME = logical_file_narne

    [ . NEWNAME = new_log1cal_name ]

    [ , FILENAME = "os_file_name" ]

    [ . SIZE = size ]

    [ . MAXSIZE = UNLIMITED ]

    [ . FILEGROWTH = growthjncrement ] )

    О MODIFY NAME = new_dbname. Как нетрудно догадаться, этот аргумент

    позволяет изменять имя базы данных. Для этого достаточно всего-навсего

    указать новое имя с помощью параметра new_dbname.

    О MODIFY FILEGROUP fi1egroup_name NAME = new_fi1egroup_name. Помимо

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

    группу файлов. Это и делается с помощью рассматриваемого аргумента.

    Все, что нужно для изменения имени группы, — указать текущее имя с

    помощью параметра f i I egroup_name и новое имя— с помощью параметра

    new_fiIegroup_name.

    О MODIFY FILEGROUP fi1egroup_name filegroup_property. Этот аргумент

    позволяет управлять свойствами группы файлов. Имя группы файлов, свой- •

    ства которой предполагается изменить, задается параметром f i I

    egroup_name, тогда как параметр f i I egroup_property предназначен для

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

    Поддерживаются следующие значения параметра f ilegroup_property.

    * READONLY. При указании этого значения группа файлов переводится в

    режим «только для чтения». В этом режиме запрещается выполнение любых

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

    Переключение группы файлов в режим «только для чтения» могут выполнять

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

    устанавливать в режим «только для чтения» первичную группу файлов, так

    как в этом случае системные таблицы будут заблокированы и выполнение

    любых изменений в базе данных (в том числе и отмена для группы файлов

    режима «только для чтения») станет невозможным.

    * READWRITE. Действие этого значения обратно предыдущему. Используется

    для разрешения изменений в группе файлов, установленной в режим «только

    для чтения». Работа с этим значением, как и с предыдущим, разрешена

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

    * DEFAULT. Используется для маркировки указанной группы файлов как

    группы файлов по умолчанию (default filegroup). В эту группу файлов

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

    другую группу файлов. Более того, все объекты (индексы, таблицы и их

    столбцы), для которых явно не указано, в какой группе файлов они должны

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

    файлов, которая до этого была группой файлов по умолчанию, становится

    обычной группой.

    О WITH . Вполне возможна ситуация, когда попытка изменения

    базы данных происходит при выполнении какой-либо транзакции. Как уже

    говорилось, эти две операции несовместимы и одна из них должна быть

    отложена до окончания другой. То есть администратор должен либо подождать

    завершения всех активных транзакций, либо принудительно прервать их

    выполнение. В первом случае администратор может довольно долго ждать

    завершения всех транзакций. Более того, ничто не помешает пользователям

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

    Server 7.0, это было единственным решением. К счастью, в SQL Server 2000

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

    транзакций. Именно для этого и используется аргумент WITH ,

    который определяет метод прерывания транзакций. Синтаксис конструкции

    следующий:

    < termination > ::= ROLLBACK AFTER integer [ SECONDS ] | ROLLBACK

    IMMEDIATE | NO WAIT

    » ROLLBACK AFTER num_second [SECONDS] — в этом случае сервер будет

    ожидать указанное количество секунд, прежде чем прервет все активные и

    обслуживание баз данных транзакции. Предварительно можно отправить

    пользователям сообщение по сети, что через столько-то секунд все

    транзакции будут принудительно откачены. За это время пользователи

    должны либо зафиксировать, либо откатить свои транзакции. * ROLLBACK

    IMMEDIATE — в этом случае откат пользовательских транзакций

    выполняется немедленно без каких-либо пауз.

    » NO WAIT— как и в предыдущем случае, откат происходит сразу же. О

    COLLATE < conation_name >. С помощью этого аргумента указывается

    сопоставление по умолчанию для всех объектов, создаваемых в базе данных.

    Изменение сопоставления по умолчанию не влияет на сопоставления,

    используемыми уже созданными объектами базы данных. Разрешается

    указываться как сопоставления Windows, так и сопоставления SQL Server.

    Определяет сопоставление для базы данных. По умолчанию задается

    сопоставление SQL Server.

    О SET [ , . . . n ]. С помощью аргумента SET пользователь

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

    с помощью конструкции , которая имеет довольно объемную

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

    рассмотрено далее в этой главе в разделе «Управление свойствами базы

    данных».

    В предыдущих версиях SQL Server, включая и SQL Server 7.0, не

    поддерживалась

    возможность изменения свойств базы данных с помощью команды ALTER

    DATABASE.

    Уменьшение размера базы данных

    В одном из предыдущих разделов этой главы было рассказано о возможности

    SQL Server 2000 автоматически увеличивать размер баз данных. Однако

    Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.