SQL Server 2000
лить все отображения учетной записи в
пользователя базы данных.
О [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
trunc. log on chkpt. torn page detection auto create statistics auto update
statistics
Как видно, возвращается список только тех параметров, которые были
установлены. Для получения значения конкретного параметра необходимо
указать не только имя базы данных, но и имя интересующего параметра
конфигурации:
ЕХЕС spjboption "pubs", "ANSI null default"
В результате выполнения этой команды будет получен примерно следующий
результат:
OptionName CurrentSetting
ANSI null default off
Если выполнить хранимую процедуру sp_dboption вообще без аргументов, то
она выдаст список всех доступных параметров конфигурации:
Settable database options:
ANSI null default
ANSI nulls
ANSI padding
ANSI warnings
arithabort
auto create statistics
auto update statistics
autoclose
autoshrink
concat null yields null
cursor close on commit
dbo use only
default to local cursor
merge publish
numeric roundabort
offline
published
quoted identifier
read only
recursive triggers
select into/bulkcopy
single user
subscribed
torn page detection
trunc. log on chkpt.
Помимо хранимой процедуры sp_dboption для получения значения тех же и
некоторых дополнительных параметров конфигурации можно использовать
следующую команду: DATABASEPROPERTY("database_name". "property")
Аргумент database_name должен содержать имя базы данных, свойства которой
необходимо просмотреть. Возможные значения аргумента property и их
назначение перечислены в табл. 14.2.
Таблица Аргументы команды DATABASEPROPERTY
Аргумент
IsAnsiNullDefault
IsAnsiNullEnabled
IsAnsiWarningEnabled
IsAutoClose
IsAutoShrink
IsAutoUpdateStatistics
IsBulkCopy
IsCloseCursorOnCommit-Enabled
IsDboOnly
IsDetached
IsEnergencyMode
IsFulltextEnabled
IsInLoad
IsInRecovery
IsInStandby
IsLocalCursorsDefault
IsNotRecovered IsNullConcat
IsOffline IsQuotedldentifiersEnabled
leReadOnly
IsRecursiveTriggersEnabled
IsShutDown
Назначение
Аналог аргумента "ANSI null default" процедуры sp_dboption
Аналог аргумента "ANSI nulls" процедуры sp_dboption
Аналог аргумента "ANSI warning" процедуры sp_dboption
Аналог аргумента "autoclose" процедуры sp_dboption
Аналог аргумента "autoshrink" процедуры sp_dboption
Аналог аргумента "auto update statistic" процедуры sp_dboption
Аналог аргумента "select into/bulk copy" процедуры sp_dboption
Аналог аргумента "cursor close on commit" процедуры spjdboption
Аналог аргумента "dbo use only" процедуры sp_dboption
База данных отделялась командой sp_detach
Разрешение работы с «подозрительной» базой
Поддержка полнотекстового поиска
База данных была загружена из резервной копии
Выполняется восстановление базы данных
База данных работает в режиме «только для чтения»
Аналог аргумента "default to local cursor" процедуры sp_dboption
Восстановление базы данных завершилось с ошибкой
Аналог аргумента "concat null yields null" процедуры sp_dboption
Аналог аргумента "offline" процедуры sp_dboption
Аналог аргумента "quoted identifier" процедуры sp_dboption
Аналог аргумента "read only" процедуры sp_dboption
Аналог аргумента "recursive triggers" процедуры sp_dboption
В базе при запуске сервера возникают ошибки__
продолжение &
Таблица (продолжение)
Аргумент Назначение
IsSingleUser Аналог аргумента "single user" процедуры
sp_dboption
IsSuspect Имеются сомнения в целостности базы данных
IsTruncLog Аналог
аргумента "trunc. log on chkpt." процедуры
sp_dboption
Version Внутренний номер версии сервера SQL Server,
________________________ на котором была создана база
данных_________
Результатом выполнения команды DATABASEPROPERTY будет либо значение О,
соответствующее значению FALSE или OFF хранимой процедуры sp_dbopt1 on,
либо значение 1, соответствующее значению TRUE или ON. Исключением из
правила является значение, возвращаемое для параметра Version. Для этого
параметра возвращается значение типа int, которое может принимать любое
положительное значение. Если значение параметра не определено, то команда
вернет значение NULL.
Приведем пример использования команды DATABASEPROPERTY для получения
информации о режиме слияния двух значений NULL, установленном для базы
данных pubs: SELECT DATABASEPROPERTY ("pubs", " IsNullConcat")
Сервер вернет примерно следующий результат:
О
(1 row(s) affected)
Для получения некоторой общей информации о базе данных можно
использовать следующую хранимую процедуру: spjielpdb [[@dbname=] "name"]
Эта хранимая процедура выдает информацию о текущем размере базы данных
с точностью до десятков килобайт, имя учетной записи, являющейся
владельцем базы данных, идентификационный номер базы данных, дату
создания базы данных и ее текущий статус. Кроме того, эта хранимая
процедура выдает информацию о файлах базы данных: логическое и физическое
имя файла базы данных, его идентификационный номер в базе данных, текущий
и максимальный размер, шаг приращения, а также принадлежность к той или
иной группе файлов.
Для получения информации о файлах базы данных из хранимой процедуры
spjielpdb происходит вызов хранимой процедуры sp_helpfile, которая и
выдает информацию о параметрах файла. Поэтому формат результата
выполнения этих хранимых процедур одинаков. Более подробно формат данных
будет рассмотрен ниже.
Для получения информации о базе данных pubs можно использовать
следующую команду:
ЕХЕС spjielpdb "pubs"
Объем информации, возвращаемый этой командой, достаточно велик, поэтому
возможности привести эту информацию в книге нет. Однако вы можете
выполнить указанную команду в Query Analyzer и посмотреть, что же будет
выдано в ответ.
Для получения информации о конкретном файле базы данных можно
использовать следующую хранимую процедуру: sp_helpfile [[^filename = ]
"name"]
Эта процедура выдает информацию о файле в следующих столбцах: О Name —
логическое имя файла в базе данных;
О Filename— физическое имя файла в операционной системе, которое включает
полный путь к файлу;
О Filegroup— имя группы файлов, к которой принадлежит файл;
О Si ze — текущий размер файла;
О Maxsize— максимальный размер файла, установленный при его создании;
О Growth — шаг прироста размера файла;
О Usage— тип использования файла; возможно одно из двух значений: data
only (файл используется для хранения данных) или log on!у (файл
используется для хранения журнала транзакций).
Для получения информации о группе файлов можно использовать следующую
хранимую процедуру: sp_helpfilegroup [[Ofilegroupname =] "name"]
Эта хранимая процедура выполняется в контексте базы данных, информацию
о которой необходимо получить. В результате выполнения процедуры будет
выдана информация об идентификационном номере группы, количестве
включенных в нее файлов, а также информация о самих файлах.
Для получения информации о группе файлов PRIMARY базы данных pubs можно
использовать следующую команду: ЕХЕС sp_helpf11egroup "primary"
Будет получен примерно следующий результат: groupname groupid
fllecount
PRIMARY 1 1
f11e_in_group fileid filename size maxsize growth
pubs 1 pubs.mdf 2688 KB Unlimited Ш
В столбце Filename будет указан полный путь к файлу.
Для просмотра информации об использовании про
| | скачать работу |
SQL Server 2000 |