Share via


sp_create_removable (Transact-SQL)

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.

Nota importanteImportante

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

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL (Transact-SQL)

Sintaxis

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

Argumentos

  • [ @dbname= ] 'dbname'
    Es el nombre de la base de datos que se creará para usarla en medios extraíbles. dbname es de tipo sysname.

  • [ @syslogical= ] 'syslogical'
    Es el nombre lógico del archivo que contiene las tablas del catálogo del sistema. syslogical es de tipo sysname.

  • [ @sysphysical= ] 'sysphysical'
    Es el nombre físico. Se incluye la ruta de acceso completa al archivo que contiene las tablas del catálogo del sistema. sysphysical es de tipo nvarchar(260).

  • [ @syssize= ] syssize
    Es el tamaño, en megabytes, del archivo que contiene las tablas del catálogo del sistema. syssize es de tipo int. El valor mínimo de syssize es 1.

  • [ @loglogical= ] 'loglogical'
    Es el nombre lógico del archivo que contiene el registro de transacciones. loglogical es de tipo sysname.

  • [ @logphysical= ] 'logphysical'
    Es el nombre físico. Se incluye la ruta de acceso completa al archivo que contiene el registro de transacciones. logphysical es de tipo nvarchar(260).

  • [ @logsize= ] logsize
    Es el tamaño, en megabytes, del archivo que contiene el registro de transacciones. logsize es de tipo int. El valor mínimo de logsize es 1.

  • [ @datalogical1= ] 'datalogical'
    Es el nombre lógico de un archivo que contiene las tablas de datos. datalogical es de tipo sysname.

    Debe ser un número de archivos de datos comprendido entre 1 y 16. Normalmente, se crea más de un archivo de datos cuando se espera que la base de datos tenga un gran tamaño y deba distribuirse en varios discos.

  • [ @dataphysical1= ] 'dataphysical'
    Es el nombre físico. Se incluye la ruta de acceso completa a un archivo que contiene tablas de datos. dataphysical es de tipo nvarchar(260).

  • [ @datasize1= ] 'datasize'
    Es el tamaño, en megabytes, de un archivo que contiene tablas de datos. datasize es de tipo int. El valor mínimo de datasize es 1.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos 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 archivos de datos y de registro

A partir de SQL Server 2005, siempre que ciertas operaciones se realizan en una base de datos, los permisos correspondientes se establecen en sus datos y archivos de registro. Los permisos evitan que los archivos se modifiquen accidentalmente si residen en un directorio sin restricción de permisos.

Operación en base de datos

Permisos establecidos en archivos

Modificada para agregar un nuevo archivo

Creado

Copia de seguridad

Adjuntada

Restaurada

Separada

[!NOTA]

SQL Server 2005 Express Edition no establece permisos en archivos de datos y de registro.

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\MSSQL11.MSSQLSERVER\MSSQL\Data\invsys.mdf'
, 2, 
   'invlog',
   'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\invlog.ldf', 4,
   'invdata',
   'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\invdata.ndf', 
10

Vea también

Referencia

sp_certify_removable (Transact-SQL)

ALTER DATABASE (Transact-SQL)

sp_dbremove (Transact-SQL)

sp_detach_db (Transact-SQL)

sp_helpfile (Transact-SQL)

sp_helpfilegroup (Transact-SQL)

Procedimientos almacenados del sistema (Transact-SQL)

Conceptos

Adjuntar y separar bases de datos (SQL Server)