Рефераты. SQL Server 2000

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

 

Параметр


Назначение'


 

 

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 <optionspec>. Как нетрудно догадаться, свойства базы дан­ных, которые предполагается изменить, указываются с помощью конструкции <optionspec>, имеющей следующий синтаксис:

<opt1onspec>::=

< state_option >

[ < cursor_option >

| < auto_option >

| < sql_option >

| < recovery_option >

< state_option > .- .- =

MULTIUSER

|  OFFLINE 

|  READJ3NLY

< termination >

ROLLBACK AFTER integer [ SECONDS ]

|   ROLLBACK   IMMEDIATE

|   NO  WAIT

<  cursor_option  >   : : =

CURSOR_CLOSE_ON_COMMIT     OFF 

|   (CURSOR_DEFAULT    LOCAL  

< auto_option >

AUTO_CLOSE ON

|  OFF

| AUTO_SHRINK ON

|  OFF

< sql_option > ::=

ANSI_NULL_DEFAULT  

|   ANSI_NULLS      OFF  

j ANSI_PADDING   OFF

j ANSIJIARNINGS ON 

| ARITHABORT   OFF

|  CONCAT_NULL_YIELDS_NULL ON 

|  NUMERIC_ROUNDABORT   OFF

| QUOTEDJDENTIFIER { ON J OFF }

|  RECURSIVEJRIGGERS   OFF

< recovery_option > ::=

RECOVERY   SIMPLE

| TORN_PAGE_DETECTION ON 

Практически все перечисленные аргументы были рассмотрены либо в этой главе, либо в главе 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 мы уже говорили, что она позво­ляет изменить имя базы данных. Однако для изменения имени базы данных также можно использовать следующую хранимую процедуру:

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.