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;