Compartir vía


sp_create_removable (Transact-SQL)

Se aplica a: SQL Server

Crea una base de datos de medios extraíbles. Genera tres archivos o más (uno para las tablas de catálogo del sistema, otro para el registro de transacciones y uno o más archivos para las tablas de datos) y coloca la base de datos en esos archivos.

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. Se recomienda usar CREATE DATABASE en su lugar.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_create_removable
    [ [ @dbname = ] N'dbname' ]
    [ , [ @syslogical = ] N'syslogical' ]
    [ , [ @sysphysical = ] N'sysphysical' ]
    [ , [ @syssize = ] syssize ]
    [ , [ @loglogical = ] N'loglogical' ]
    [ , [ @logphysical = ] N'logphysical' ]
    [ , [ @logsize = ] logsize ]
    [ , [ @datalogical1 = ] N'datalogical1' ]
    [ , [ @dataphysical1 = ] N'dataphysical1' ]
    [ , [ @datasize1 = ] datasize1 ]
    [ , ... ]
    [ , [ @datalogical16 = ] N'datalogical16' ]
    [ , [ @dataphysical16 = ] N'dataphysical16' ]
    [ , [ @datasize16 = ] datasize16 ]
[ ; ]

Argumentos

[ @dbname = ] N'dbname'

Nombre de la base de datos que se va a crear para su uso en medios extraíbles. @dbname es sysname, con un valor predeterminado de NULL.

[ @syslogical = ] N'syslogical'

Nombre lógico del archivo que contiene las tablas del catálogo del sistema. @syslogical es sysname, con un valor predeterminado de NULL.

[ @sysphysical = ] N'sysphysical'

Nombre físico. @sysphysical es nvarchar(260), con un valor predeterminado de NULL. Este valor incluye una ruta de acceso completa del archivo que contiene las tablas del catálogo del sistema.

[ @syssize = ] syssize

Tamaño, en megabytes, del archivo que contiene las tablas del catálogo del sistema. @syssize es int, con un valor predeterminado de NULL.

[ @loglogical = ] N'loglogical'

Nombre lógico del archivo que contiene el registro de transacciones. @loglogical es sysname, con un valor predeterminado de NULL.

[ @logphysical = ] N'logphysical'

Nombre físico. @logphysical es nvarchar(260), con un valor predeterminado de NULL. Este valor incluye una ruta de acceso completa del archivo que contiene el registro de transacciones.

[ @logsize = ] logsize

Tamaño, en megabytes, del archivo que contiene el registro de transacciones. @logsize es int, con un valor mínimo de 1.

[ @datalogical1 = ] N'datalogical1'

Nombre lógico de un archivo que contiene las tablas de datos. @datalogical1 es sysname, con un valor predeterminado de NULL.

Debe haber archivos de datos entre 1 y 16 . Normalmente, se crea más de un archivo de datos cuando se espera que la base de datos sea grande y se debe distribuir en varios discos.

[ @dataphysical1 = ] N'dataphysical1'

Nombre físico. @dataphysical1 es nvarchar(260), con un valor predeterminado de NULL. Este valor incluye una ruta de acceso completa de un archivo que contiene tablas de datos.

[ @datasize1 = ] datasize1

Tamaño, en megabytes, de un archivo que contiene tablas de datos. @datasize1 es int, con un valor mínimo de 1.

Valores de código de retorno

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

Conjunto de resultados

Ninguno.

Comentarios

Utilice este procedimiento almacenado si desea realizar una copia de la base de datos en un medio extraíble (como un disco compacto) y distribuir la base de datos a otros usuarios.

Permisos

Requiere el permiso CREATE DATABASE, CREATE ANY DATABASE o ALTER ANY DATABASE.

Para mantener el control del uso del disco en una instancia de SQL Server, el permiso para crear bases de datos suele limitarse a un número reducido de cuentas de inicio de sesión.

Permisos en los archivos de datos y de registro

Siempre que se realizan ciertas operaciones en una base de datos, los permisos correspondientes se establecen en sus datos y archivos de registro. Los permisos impiden que los archivos se manipulen accidentalmente si residen en un directorio que tiene permisos abiertos.

Operación en la base de datos Permisos establecidos en archivos
Modificado para agregar un nuevo archivo Creado
Copia de seguridad realizada Vinculado
Restaurada Separada

Nota:

SQL Server no establece permisos de archivo de registro ni datos.

Ejemplos

En el ejemplo siguiente se crea la base de datos inventory como una base de datos extraíble.

EXEC sp_create_removable 'inventory',
    'invsys',
    'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invsys.mdf',
    2,
    'invlog',
    'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invlog.ldf',
    4,
    'invdata',
    'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invdata.ndf',
    10;