sp_certify_removable (Transact-SQL)
Область применения: SQL Server
Проверяет, правильно ли настроена база данных для установочного или съемного носителя, и сообщает обо всех проблемах пользователю.
Внимание
Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте CREATE DATABASE .
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_certify_removable
[ @dbname = ] N'dbname'
[ , [ @autofix = ] N'autofix' ]
[ ; ]
Аргументы
[ @dbname = ] N'dbname'
Указывает проверяемую базу данных. @dbname — sysname.
[ @autofix = ] N'autofix'
Делает системного администратора владельцем базы данных и всех ее объектов, а также удаляет все разрешения, не соответствующие разрешениям по умолчанию, и всех пользователей базы данных, созданных пользователями. @autofix — nvarchar(4), с значением по умолчаниюNULL
.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
Если база данных настроена правильно, sp_certify_removable
выполните следующие действия.
- Переводит базу данных в режим «вне сети», чтобы позволить копировать файлы.
- Обновляет статистику по всем таблицам и сообщает обо всех проблемах, связанных с владельцами и пользователями.
- Помечает файловые группы данных как «только для чтения», чтобы эти файлы можно было скопировать на носители, предназначенные только для чтения.
Владельцем базы данных и всех объектов базы данных должен быть системный администратор. Системный администратор — известный пользователь, который существует на всех серверах, на которых запущен SQL Server, и может существовать, когда база данных будет позже распределена и установлена.
При выполнении sp_certify_removable
AUTO
без значения и возвращается информация о любом из следующих условий:
- Системный администратор не является владельцем базы данных.
- Существует хотя бы один пользователь, созданный пользователем.
- Системный администратор не владеет всеми объектами в базе данных.
- Были предоставлены разрешения, не соответствующие разрешениям по умолчанию.
Эти состояния можно исправить следующими способами:
- Используйте средства и процедуры SQL Server, а затем снова запустите.
sp_certify_removable
- Запустите
sp_certify_removable
со значениемAUTO
.
Эта хранимая процедура проверяет только разрешения пользователей и пользователей. К базе данных можно добавить группы и предоставить им разрешения. Дополнительные сведения см. в статье GRANT.
Разрешения
Разрешения на выполнение ограничены членами предопределенных ролей сервера sysadmin .
Примеры
Следующий пример подтверждает, что база данных inventory
готова к удалению.
EXEC sp_certify_removable inventory, AUTO;