Изменение параметров базы оператором alter. Реорганизация базы данных командой dbcc. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Изменение параметров базы оператором alter. Реорганизация базы данных командой dbcc.



 

«Изменение» базы данных означает лишь добавление к существующей базе данных вторичных файлов. База данных должна быть открытой. Для изменения используется оператор ALTER DATABASE. Его синтаксис:

 

ALTER { DATABASE | SCHEMA }

<предложение ADD >

<предложение ADD > = ADD FILE '<спецификация файла>'

[LENGTH [=] < целое > [PAGE[S]] | STARTING [AT [PAGE]] < целое >] < предложение ADD>]

 

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

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

 

Изменение объектов

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

Операторы ALTER Синтаксис оператора ALTER Действие

ALTER DATABASE <имя> <спецификация_файла> Изменяет файлы, используемые для хранения базы данных

ALTER FUNCTION <имя> RETURNS <возвращаемое_значение> AS < операторы_tsql> Изменяет операторы Transact-SQL, содержащие функцию

ALTER PROCEDURE <имя> AS < операторы_tsql> Изменяет операторы Transact-SQL, содержащие в себе хранимую процедуру (См. урок 28, "Хранимые процедуры")

ALTER TABLE <имя> <определение_изменения> Изменяет определение таблицы

ALTER TRIGGER <имя> {FOR | AFTER | INSTEAD OF} <действие_dml>

Изменяет операторы Transact-SQL, содержащие в себе триггер (См. урок 29, "Триггеры")

ALTER VIEW <имя> AS <оператор_выборки> Изменяет операторы SELECT, которые создают представление

 

Оператор ALTER TABLE является составным: определение таблицы состоит из нескольких различных частей. Упрощенная версия синтаксиса для оператора ALTER TABLE приведена ниже:

ALTER TABLE <имя>

{

[ALTER COLUMN <определение_столбца>] |

[ADD <определение_столбца>] |

[DROP COLUMN <имя_столбца>] |

[ADD [WITH NOCHECK] CONSTRAINT <ограничение_для_таблицы>]

}

 

В Microsoft SQL Server имеется набор команд, предназначенный для выявления и устранения проблем согласованности в базе данных SQL Server. Для запуска этих команд нужно использовать в качестве префикса строку DBCC. На самом деле "DBCC" означает "database consistency checker" (средство проверки согласованности базы данных). Хотя команды DBCC первоначально разрабатывались как инструменты проверки согласованности, со временем диапазон применения команд DBCC расширился.

 

CHECKALLOC. Проверяет размещение и использование всех страниц в указанной базе данных. CHECKALLOC – это подмножество CHECKDB.

CHECKCATALOG. Проверяет согласованность в системных таблицах для указанной базы данных.

CHECKCOSTRAINTS. Проверяет целостность одного ограничения или всех ограничений по таблице.

CHECKDB. Проверяет размещение (строк, страниц и экстентов) и структурную целостность всех объектов в указанной базе данных. Эта команда выявляет и устраняет проблемы, связанные с размещением базы данных и таблицами. На самом деле DBCC CHECKDB проверяет целостность всех элементов в базе данных. Будьте готовы к тому, что для ее выполнения потребуется некоторое время.

CHECKFILEGROUP. Проверяет размещение и структурную целостность объектов в указанной группе файлов базы данных. Вы можете использовать эту команду вместо DBCC CHECKDB, если предполагаете, что запорчена только группа файлов, что может произойти из-за отказа оборудования.

CHECKIDENT. Проверяет и, если нужно, исправляет текущее значение типа identity для указанной таблицы.

CHECKTABLE. Проверяет целостность страниц типа data, index, text, ntext и image для указанной таблицы. Эта команда полезна для проверки таблицы, которая, по вашим предположениям, может быть повреждена.

CLEANTABLE. Возвращает пространство, которое раньше использовалось для данных переменной длины типа varchar или данных типа text.

CONCURRENCYVIOLATION. Для версий SQL Server Standard Edition и Personal Edition сообщает, когда на сервере одновременно исполняется более пяти пакетов.

DBREINDEX Использовалась для переиндексации индексов таблицы. Эта команда уже не поддерживается в SQL Server 2000. Для выполнения этой задачи в Microsoft SQL Server 2000 используйте предложение DROP_EXISTING с командой CREATE INDEX.

DBREPAIR. Использовалась для удаления поврежденной базы данных. Эта команда не поддерживается в SQL Server 2000. Вместо нее следует использовать команду DROP DATABASE.

dll-имя (FREE). Выгружает из памяти указанную расширенную хранимую DLL-процедуру.

DROPCLEANBUFFERS. Удаляет все пустые буферы из буферного пула.

FREEEPROCCACHE. Удаляет все элементы из кэша процедур.

HELP. Возвращает синтаксис указанного оператора DBCC, что позволяет вам быстро использовать эту команду без обращения к SQL Server Books Online. Задавая имя оператора, не указывайте ключевое слово DBCC.

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

INPUTBUFFER. Выводит на экран последний оператор, переданный в SQL Server пользователем, который связан с указанным идентификатором системного процесса (SPID-номером).

MEMUSAGE. Раньше создавал подробный отчет об использовании памяти. Эта команда больше не поддерживается.

NEWALLOC. Обеспечивает те же функциональные возможности, что и команда DBCC CHECKALLOC. Эта команда больше не поддерживается.

OPENTRAN. Выводит информацию о самой "старой" активной транзакции в базе данных. Это полезно для поиска "зависших" или длительных транзакций.

OUTPUTBUFFER. Выводит выходные данные, переданные из SQL Server пользователю, который связан с указанным SPID-номером.

PINTABLE. Помечает таблицу как закрепляемую в памяти. Закрепляемая в памяти таблица не освобождает себя из кэш-памяти. Иными словами, она постоянно размещена в кэше и не извлекается из него. Это полезно для небольших таблиц, которые редко используются, но требуют немедленного доступа. Вы должны убедиться, что закрепляемая в памяти таблица не использует слишком много памяти, иначе это окажет нежелательное влияние на другую обработку в SQL Server.

PROCCACHE. Выводит информацию о кэше процедур SQL Server. Эта информация может оказаться полезной для оценки эффективности кэша процедур и операторов SQL.

ROWLOCK. Использовалась в Microsoft SQL Server 6.5, чтобы активизировать блокировку строк. В SQL Server 2000 это происходит автоматически.

SHOWCONTIG. Выводит информацию о фрагментированности данных и индексов в указанной таблице. Сильно фрагментированный индекс следует создать заново. Сильно фрагментированную таблицу следует экспортировать и затем импортировать назад в базу данных.

SHOW_STATISTICS. Выводит статистику для указанного элемента в указанной таблице. Именно эта статистика используется оптимизатором запросов.

SHRINKDATABASE. Уплотняет файлы, связанные с указанной базой данных. Для выполнения этой задачи рекомендуется использовать параметр autoshrink процедуры sp_dboption.

SHRINKFILE. Уплотняет указанный файл. Это может быть файл данных или файл журнала.

SQLPERF. Предоставляет информацию об использовании пространства для журнала транзакций во всех базах данных. Использование этой команды для слежения за использованием пространства файлов журнала полезно для планирования мощности и состава системы.

TEXTALL. Использовалась для проверки согласованности таблиц, содержащих колонки типа text, ntext и image. В SQL Server 2000 ту же задачу выполняют DBCC CHECKDB и CHECKTABLE. Однако вместо DBCC TEXTALL рекомендуется использовать DBCC CHECKDB.

TEXTALLOC. Использовалась для проверки согласованности таблиц, содержащих колонки типа text, ntext и image. В SQL Server 2000 ту же задачу выполняют DBCC CHECKDB и CHECKTABLE. Однако вместо DBCC TEXTALLOC рекомендуется использовать DBCC CHECKTABLE. DBCC TEXTALL раньше запускала DBCC TEXTALLOC.

TRACEOFF. Сбрасывает указанный флаг или флаги трассировки SQL Server.

TRACEON. Активизирует указанный флаг или флаги трассировки SQL Server.

TRACESTATUS. Выводит состояние указанного флага или флагов трассировки SQL Server.

UNPINTABLE. Помечает ранее закрепленную в памяти таблицу как незакрепленную. После этого таблица рассматривается в кэше как любая другая таблица.

UPDATEUSAGE. Выводит и исправляет неточности в таблице sysindexes. Эти неточности могут приводить к тому, что sp_spaceused будет возвращать неверные данные.

USEROPTIONS. Возвращает состояние операций оператора SET, заданных для текущего соединения. Это подходит только для текущего соединения.

 

27.. Опции базы данных. Способы задания и проверки опций базы. Процедуры отсоединения и присоединения баз данных к серверу.

Изменение опций:

· SP_DBOPTION [[@DBNAME=] ‘<имя БД>’]

[, [@OPTNAME=] ‘<название опции>’]

[, [@OPTVALUE=] ‘TRUE’ или ‘FALSE’]

1. Offline – недоступна

2. Read only –

3. Single user

4. Autoshrink – периодическое

5. Trunk. Log on chkpt – удаляет из журнала транзакций все зафиксированные транзакции

6. Select into/ bulkcopy – разрешает использование into/… в select

7. Quoted identifier – разрешает использовать ‘..’

8. ANSI null default

9. ANSI nulls – при TRUE сравнение с NULL даёт NULL

 

SP_DBOPTION @DBNAME= ‘MY.DB’

@OPTNAME = ‘

@OPTVALUE= ‘

 

· ALTER DATABASE <имя БД>

SET <название опции> OFF или ON

 

· Справка по опции SP_DBOPTION @DBNAME= ‘имя’

 

Чтение опций: DATABASE PROPERTY (<имя БД>, <ОПЦИЯ>)

(=TRUE, 0=FALSE, NULL – ошибка в данных

IS AUTOShrink

Скрипт создания БД:

MY.DB Primary Group – 10.45

MY.IMAGES – 2 файла по 15мб 10% квант

 

CREATE DATABASE MY.DB

ON PRIMARY (NAME=P.FILE, Filename= “ C:\..\Data\P.File.mdf,’

SIZE =10MB, MAXSIZE=UNLIMITED, FILEGROWTH=10%),

FILEGROUP MY.IMAGES

(…………………………….)

 

Справочные функции:

Чтение опций – Sp_helpdb

… Sp_helpfile

 

Отсоединение и присоединение БД серверу:

-отсоединение sp_detach_db ‘<имя БД>’ [,’true’ | ‘false’]

-присоединение sp_attach_db ‘<имя БД>’, ‘<полное имя первичного файла>’, [<имена др. файлов БД>]

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 73; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.237.5.1 (0.028 с.)