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