sp_certify_removable (Transact-SQL)

Se aplica a:SQL Server

Comprueba que una base de datos se ha configurado correctamente para la distribución en medios extraíbles e informa al usuario si surgen problemas.

Importante

Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Use CREATE DATABASE en su lugar.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_certify_removable
    [ @dbname = ] N'dbname'
    [ , [ @autofix = ] N'autofix' ]
[ ; ]

Argumentos

[ @dbname = ] N'dbname'

Especifica la base de datos que debe comprobarse. @dbname es sysname.

[ @autofix = ] N'autofix'

Asigna la propiedad de la base de datos y de todos sus objetos al administrador del sistema, y quita los usuarios de base de datos creados por el usuario y los permisos que no son predeterminados. @autofix es nvarchar(4), con un valor predeterminado de NULL.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

Si la base de datos está configurada correctamente, sp_certify_removable realice los pasos siguientes:

  • Deja la base de datos sin conexión para que se puedan copiar los archivos.
  • Actualiza las estadísticas de todas las tablas e informa de cualquier problema relacionado con los usuarios o la propiedad.
  • Marca los grupos de archivos de datos como de solo lectura para que los archivos puedan copiarse en medios de solo lectura.

El administrador del sistema debe ser el propietario de la base de datos y de todos sus objetos. El administrador del sistema es un usuario conocido que existe en todos los servidores que ejecutan SQL Server y se puede esperar que exista cuando la base de datos se distribuya e instale más adelante.

Si ejecuta sp_certify_removable sin el AUTO valor y devuelve información sobre cualquiera de las condiciones siguientes:

  • El administrador del sistema no es el propietario de la base de datos.
  • Existe algún usuario creado por el usuario.
  • El administrador del sistema no posee todos los objetos de la base de datos.
  • Se han concedido permisos que no son los predeterminados.

Estas condiciones pueden corregirse de la forma siguiente:

  • Use herramientas y procedimientos de SQL Server y, a continuación, vuelva a ejecutarse sp_certify_removable .
  • Ejecute sp_certify_removable con el AUTO valor .

Este procedimiento almacenado solo comprueba si hay usuarios y permisos de usuario. Puede agregar grupos a la base de datos y conceder permisos a esos grupos. Para más información, vea GRANT (Transact-SQL).

Permisos

Los permisos de ejecución están restringidos a los miembros del rol fijo de servidor sysadmin .

Ejemplos

Los ejemplos siguientes certifican que la base de datos inventory se puede quitar.

EXEC sp_certify_removable inventory, AUTO;