ref-14882 (SQL Server 2000), страница 16

2016-07-31СтудИзба

Описание файла

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

Онлайн просмотр документа "ref-14882"

Текст 16 страницы из документа "ref-14882"

О EMPTYFILE. При использовании этого аргумента сервер выполняет перенос дан­ных из файла в другие файлы, включенные в ту же группу, что и сжимае­мый файл. Сервер не будет добавлять новые данные в файл, сжатый с аргу­ментом EMPTYFILE. Такой файл может быть уничтожен с помощью команды ALTER DATABASE REMOVE FILE.

О NOTRUNCATE. Использование этого аргумента предписывает серверу не возвра­щать освободившееся место операционной системе. Таким образом, размер файла на самом деле не уменьшается. Данные в файле располагаются более компактно и смещаются к началу файла. Если аргумент NOTRUNCATE не ука­зан, то освободившееся пространство возвращается операционной системе, то есть размер файла уменьшается.

О TRUNCATEONLY. При указании этого аргумента сервер выполняет урезание ча­сти файла, начиная от последней используемой страницы до конца файла. Зна­чение аргумента target_size в этом случае игнорируется. Никакого пере­мещения данных для более компактного их расположения не предпринимается. Для сжатия файла данных базы данных pubs до 1 Мбайт введите следую­щую команду:

USE Pubs

DBCC SHRINKFILE (pubs, 1)

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

выполнении команды DBCC SHRINKDATABASE. Состав и назначение столбцов в

обоих случаях аналогичны:

Dbld Fileld CurrentSize MinimumSize UsedPages EstimatedPages

5 1 296 80 288 288

(1 row(s) affected)

DBCC execution completed. If DBCC printed error messages, contact your system

administrator.

Удостоверимся, что файлом с идентификационным номером 1 является файл pubs:

SELECT FILE_ID("pubs") SELECT FILE_NAME(1)

В итоге будет получен следующий результат:

1

(1 row(s) affected)

pubs

(1 row(s) affected)

Права на выполнение команды DBCC SHRINKFILE выдаются таким же обра­зом, как и для команды DBCC SHRINKDATABASE.

Для журнала транзакций или его файлов сжатие происходит не сразу, а при последующем выпол­нении операции усечения (truncate) или резервного копирования.

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

Помимо перечисленных выше физических параметров (описывающих в основ­ном имена, размеры, положение и другие характеристики файлов) база данных имеет еще и логические параметры. К этим параметрам относятся выполнение автоматического усечения журнала транзакций, автоматическое создание и об­новление статистики, возможность выполнения вложенных триггеров и другие. Управление этими параметрами конфигурации базы данных сводится к их раз­решению или запрещению и осуществляется с помощью системной хранимой процедуры sp_dboption. Назначение основной части параметров было рассмот­рено в главе 11. Синтаксис хранимой процедуры sp_dboption следующий:

sp_dboption [[@dbname =] "database"] [. [@optname =] "optionjiame"] [. [@optva"lue =] "value"]

Аргумент "database" содержит имя базы данных, в которой необходимо выполнить изменение конфигурации. Аргумент "value" определяет значение параметра. Возможны два варианта: значение ON или TRUE (параметра задан) и значение OFF или FALSE (параметра не задан). Аргумент "option_name" опре­деляет имя параметра, который необходимо изменить. Возможные значения этого аргумента приведены в табл. с кратким указанием назначения каж­дого параметра.

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

Параметр


Назначение'


a uto create statistics auto update statistics autoclose autoshrink ANSI null default ANSI nulls ANSI warning concat null yields null

cursor close on commit

dbo use only

default to local cursor

merge publish

offline

published

quoted identifier

read only recursive triggers select into/bulk copy


Автоматическое создание статистики

Автоматическое обновление статистики

Автоматическое закрытие базы данных

Автоматическое сжатие базы данных

Разрешение значения NULL по умолчанию для столбца

Управление сравнением величин NULL

Появление сообщений об ошибке

Значение ON означает, что результатом объединения величин NULL будет значение NULL

Закрытие курсора при завершении транзакции

Использование базы данных только владельцем

Создание по умолчанию локального курсора

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

Отключение базы данных

Разрешение публикации базы данных

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

Использование базы данных только для чтения Разрешение выполнения вложенных триггеров

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

в журнале транзакций___________________________

продолжение А

данных

Таблица (продолжение)

Параметр Назначение

subscribed Разрешение подписки на публикацию
single user Использование базы данных в режиме поддержки одного
пользователя

torn page detection Обнаружение поврежденных страниц

trunc. log on chkpt____Усечение журнала транзакций при выполнении контрольной точки

Например, для переключения базы данных pubs в однопользовательский ре­жим нужно выполнить следующую команду: ЕХЕС sp_dboption "pubs", "single user", "true"

Часть установленных администратором параметров конфигурации базы дан­ных может быть изменена пользователем с помощью команды SET на уровне соединения, транзакции, хранимой процедуры, пакета команд и т. д. Эти изме­нения действуют только в пределах соединения (транзакции, хранимой проце­дуры и т. д.) и будут потеряны сразу же после отсоединения пользователя. При последующем соединении снова будут использоваться параметры, установлен­ные администратором.

Использование системной хранимой процедуры sp_dboption для управле­ния свойствами базы данных было единственным вариантом в предыдущих вер­сиях. Даже при работе с SQL Server 7.0 администратор имел в своем распоряжении только эту процедуру. В SQL Server 2000 изменение параметров базы данных также может выполняться с помощью команды ALTER DATABASE с аргументом SET . Как нетрудно догадаться, свойства базы дан­ных, которые предполагается изменить, указываются с помощью конструкции , имеющей следующий синтаксис:

::=

< state_option >

[ < cursor_option >

| < auto_option >

| < sql_option >

| < recovery_option >

< state_option > .- .- =

{ SINGLEJJSER | RESTRICTED_USER | MULTIUSER }

| { OFFLINE | ONLINE }

| { READJ3NLY | READ_WRITE }

< termination >

ROLLBACK AFTER integer [ SECONDS ]

| ROLLBACK IMMEDIATE

| NO WAIT

< cursor_option > : : =

CURSOR_CLOSE_ON_COMMIT { ON | OFF }

| (CURSOR_DEFAULT { LOCAL | GLOBAL }

< auto_option >

{ AUTO_CLOSE ON | OFF }

| { AUTO_CREATE_STATISTICS ON | OFF }

| { AUTO_SHRINK ON | OFF }

| { AUTO_UPDATE_STATISTICS ON | OFF }

< sql_option > ::=

ANSI_NULL_DEFAULT { ON | OFF }

| ANSI_NULLS { ON | OFF }

j ANSI_PADDING { ON | OFF }

j ANSIJIARNINGS { ON | OFF }

| ARITHABORT { ON | OFF }

| CONCAT_NULL_YIELDS_NULL { ON | OFF }

| NUMERIC_ROUNDABORT { ON | OFF }

| QUOTEDJDENTIFIER { ON J OFF }

| RECURSIVEJRIGGERS { ON | OFF }

< recovery_option > ::=

RECOVERY { FULL | BULK_LOGGED | SIMPLE }

| TORN_PAGE_DETECTION { ON | OFF }

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

Присоединение и отсоединение базы данных

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

Отсоединение и присоединение в основном используются для переноса баз данных с одного диска или сервера на другой. Если требуется скопировать базу данных на один или несколько удаленных серверов, можно выполнить резерв­ное копирование базы данных и разослать копии. Другой способ — выполнить отсоединение базы данных и разослать пользователям все ее файлы. У себя на сервере пользователи смогут выполнить присоединение базы данных и сразу же начать работать с ней. Процедура отсоединения и присоединения занимает го­раздо меньше времени, чем создание и восстановление резервной копии. Кроме того, отсоединенную базу данных можно записать на компакт-диски и разо­слать пользователям. Пользователи смогут работать с базой данных непосред­ственно с компакт-диска в режиме «только для чтения». Такой подход особенно эффективен при рассылке каталогов, которые не должны изменяться.

Если планируется скопировать базу данных на компакт-диск, предварительно необходимо устано­вить все ее группы файлов в режим «только для чтения». Для этого используется команда ALTER DATABASE MODIFY FILEGROUP filegroup_name READONLY.

Выполнять операции присоединения и отсоединения базы данных могут толь­ко члены фиксированной роли сервера sysadmin. Эти права не могут быть пе­реданы никаким другим способом, кроме как включением пользователей в эту фиксированную роль сервера.

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

sp_detach_db [@dbname =] "dbname" [, [@skipchecks =] "skipchecks"]

Аргумент "dbname" указывает имя базы данных, которую необходимо отсоеди­нить. Аргумент "skipchecks" управляет обновлением статистики при отсоедине-

нии. Если значение этого аргумента равно TRUE, то обновление статистики пропус­кается, если же указывается FALSE, то обновление статистики будет выполнено. Для отсоединения базы данных pubs нужно использовать следующую команду:

ЕХЕС sp_detach_db "pubs"

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

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

sp_attach_db [@dbname =] "dbname", [(Pfilenamel =] "filenameji" [,...16]

Аргумент "filename_n" должен содержать полный путь к первичному фай­лу присоединяемой базы данных. Описание остальных файлов базы данных хра­нится в первичном файле. Если положение этих файлов было изменено, то необходимо явно указать их положение при вызове хранимой процедуры — че­рез запятую в аргументе "f i lename_n".

Количество файлов, которое можно присоединить с помощью хранимой процедуры sp_attach_db, ограничивается 16. Если необходимо выполнить подключение базы данных с большим количеством файлов, используется команда CREATE DATABASE FOR ATTACH.

Для присоединения базы данных pubs нужно выполнить следующую коман­ду: sp_detach_db"pubs".

"d:\mssql\data\pubs.mdf" .

"d:\mssql\data\pubs_log.Idf"

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

sp_attach_sing1e_file_db [@dbname =] "dbname".

[@physname =] "physicaljiame"

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

Для присоединения базы данных pubs с использованием только первичного файла необходима следующая команда: sp_attach_single_file_db "pubs", "d:\mssql\data\pubs.mdf"

Передача прав владения

Если администратор баз данных вашей компании увольняется и ему на смену приходит другой человек, необходимо передать права владения всеми объекта­ми, включая базы данных, новому администратору.

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

sp_changedbowner [(Ploginame =] "login"

[,[@map =] remap_al1as_f1ag]

Рассмотрим назначение каждого из аргументов хранимой процедуры. О [Ologiname =] "login". Имя учетной записи пользователя, которого требу­ется сделать владельцем базы данных. Эта учетная запись не должна иметь доступа к базе данных ни через псевдоним, ни через отображение в пользова­теля базы данных. В противном случае перед выполнением хранимой проце­дуры необходимо сначала удалить все отображения учетной записи в пользо­вателя базы данных.

О [map =] remap_al i as_fl ag. Этот аргумент может принимать значение TRUE или FALSE. Значение TRUE означает, что учетная запись старого владельца базы данных будет отображаться в учетную запись нового владельца. Если задано FALSE, учетная запись старого владельца уничтожается. Если этот аргумент опускается, то есть принимает значение NULL, то все существующие dbo бу­дут отражены в учетную запись нового владельца базы данных. Хранимая процедура sp_changedbowner должна выполняться в контексте базы данных, владельца которой необходимо изменить. Например, для изменения вла­дельца базы данных KHSU необходимо выполнить следующую команду:

USE khsu

EXEC sp_changedbowner "MATRIXXAdmlnistrator"

Изменение имени базы данных

При рассмотрении команды ALTER DATABASE мы уже говорили, что она позво­ляет изменить имя базы данных. Однако для изменения имени базы данных также можно использовать следующую хранимую процедуру:

sp_renamedb [@old_name =] "old_name". [@new_name =] "new_name"

Аргумент "old_name" должен содержать старое имя базы данных. Новое же имя указывается с помощью аргумента "new_name".

Права на выполнение этой хранимой процедуры имеют только члены фиксированной роли сервера sysadmin.

Просмотр свойств базы данных

Часто бывает необходимо получить исчерпывающую информацию о структуре и параметрах базы данных. В этом разделе будут рассмотрены средства Transact-SQL, с помощью которых можно получить различную информацию о базе данных. Для просмотра значения параметров конфигурации базы данных, установ­ленных с помощью хранимой процедуры sp_dboption или средствами Enterprise Manager, можно использовать системную хранимую процедуру sp_dboption с указанием только имени базы данных. Например, для получения информации о параметрах базы данных pubs можно выполнить следующую команду: EXEC sp_dbopt1on "pubs"

Будет возвращен примерно следующий результат:

The following options are set:

published

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее