Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект лекцій розробка.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
24 Мб
Скачать
☆

4.9. Изменение параметров бд с помощью хранимой процедуры sp_dboption

Изменение параметров конфигурации базы данных можно производить с помощью хранимой процедуры sp_dboption, которая реализована как надстройка над инструкцией ALTER DATABASE*. По умолчанию все пользователи имеют разрешение на выполнение хранимой процедуры sp_dboption, что дает возможность просматривать параметры БД. Однако только члены встроенных ролей сервера sysadmin и dbcreator, а также встроенной роли базы данных db_owner, могут использовать хранимую процедуру sp_dboption для изменения параметров БД. При ее выполнении сервер принудительно выполняет в базе данных, для которой был изменен параметр, операцию контрольной точки, поэтому изменения вступают в силу незамедлительно.

В табл. 4-9 дан обзор параметров, которые можно настроить с помощью хранимой процедуры sp_dboption. Все приведенные параметры могут принимать значения TRUE

(1) или FALSE (0). Например, если к базе данных CustomerSupport не подключены пользователи, можно перевести ее в режим «только для чтения», выполнив следующие команды:

USE master;

GO

EXEC sp_dboption 'CustomerSupport', 'read only', 'TRUE';

Табл. 4-9. Краткая сводка параметров БД

Параметр

При значении TRUE

ANSI null default

Инструкция CREATE TABLE использует правила стандарта SQL-92 для определения того, позволяет ли столбец значения NULL

ANSI nulls

Все сравнения данных со значением NULL дают результат UNKNOWN.

(При значении FALSE, если данные не UNICODE и оба значения равны NULL, результат сравнения будет TRUE.)

ANSI padding

С целью заполнить всю ширину столбца к значениям данных типа character добавляются конечные пробелы, а к значениям данных типа binary добавляются конечные нули

ANSI warnings

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

Arithabort

Ошибка переполнения или деления на ноль приводит к прерыванию запроса или пакета инструкций. Если ошибка происходит внутри транзакции, выполняется откат транзакции. (При значении FALSE отображается предупредительное сообщение, но выполнение продолжается, как будто ошибки не было.)

auto create statistics

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

auto update statistic

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

Autoclose

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

Autoshrink

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

concat null yields null

Если у одного из операндов операции конкатенации значение равно NULL, то результат будет NULL

cursor close on commit

При завершении транзакции все открытые курсоры закрываются, независимо от того, закончилась транзакция успешно или произошел ее откат. (При значении FALSE, если транзакция завершается успешно, курсоры остаются открытыми. Откат транзакции закрывает все курсоры, кроме тех, которые были определены как INSENSITIVE или STATIC.)

db_chaining

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

dbo use only

Только владелец БД может ее использовать

default to local cursor

По умолчанию все курсоры определяются как LOCAL

merge publish

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

numeric roundabort

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

Offline

БД в автономном режиме. (При значении FALSE база данных в оперативном режиме.)

Published

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

quoted identifier

Строки, заключенные в двойные кавычки, рассматриваются как ограниченные идентификаторы, то есть имена объектов

read only

БД переведена в режим «только для чтения» (однако можно удалить ее, используя инструкцию DROP DATABASE). Во время установки этого параметра БД, для которой он изменяется, не должна использоваться (за исключением БД master, которая может применяться только администратором)

recursive triggers

Разрешает выполнение вложенных (рекурсивных) триггеров. (При значении FALSE предотвращает прямую рекурсию, но непрямая рекурсия возможна. Для отключения непрямой рекурсии установите для параметра сервера nested triggers значение 0, используя хранимую процедуру sp_configure.)

select into/bulkcopy

Устанавливает модель восстановления БД в BULK_LOGGED

single user

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

Subscribed

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

torn page detection

Позволяет обнаруживать незавершенные (в результате сбоя операции записи) страницы

trunc. log on chkpt

Устанавливает модель восстановления БД SIMPLE; кроме того, каждая операция контрольной точки производит усечение неактивной части журнала. (При значении FALSE устанавливает модель восстановления FULL.) Это единственный параметр, который может быть установлен для БД master, и он должен быть установлен в TRUE

Література

  1. Бурков А.В. Проектирование информационных систем по технологии клиент – сервер в «Microsoft SQL Server 2008» и «Microsoft Visual Studio 2008» 194с.

  2. Бучек Г.ASP .NET. Учебный курс — СПб.: Питер, 2002. — 512 с.: ил.

  3. Вийера Р. Програмирование баз данных Microsoft SQL Server 2005 для профессионалов / Р. Вийера // 2008. 256с.

  4. Волоха А. В. Microsoft SQL Server 2005. Новые возможности. — СПб.: Питер, 2006. — 304 с.: ил.

  5. Дж.Боуман, С.Эмерсон, М.Дарновски - Практическое руководство по SQL

  6. Станек Уильям Р. Microsoft SQL Server 2005. Справочник администратора / Пер. с англ. — М.: Издатель ство «Рус ская Ре дак ция», 2008. — 544 с.: ил.