sp_create_removable (Transact-SQL)
创建可移动介质数据库。 创建三个或更多文件(一为系统目录表,一为事务日志,其余文件为数据表)并将数据库置于这些文件之中。
重要提示 |
---|
后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。但我们建议您使用 CREATE DATABASE。 |
语法
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 ]
参数
[ @dbname= ] 'dbname'
为了在可移动介质上使用而创建的数据库的名称。 dbname 的数据类型为 sysname。[ @syslogical= ] 'syslogical'
包含系统目录表的文件的逻辑名称。 syslogical 的数据类型为 sysname。[ @sysphysical= ] 'sysphysical'
物理名称。 其中包含存放系统目录表的文件的完全限定路径。 sysphysical 的数据类型为 nvarchar(260)。[ @syssize= ] syssize
存放系统目录表的文件的大小 (MB)。 syssize 的数据类型为 int。 syssize 的最小值为 1。[ @loglogical= ] 'loglogical'
包含事务日志的文件的逻辑名称。 loglogical 的数据类型为 sysname。[ @logphysical= ] 'logphysical'
物理名称。 其中包含存放事务日志的文件的完全限定路径。 logphysical 的数据类型为 nvarchar(260)。[ @logsize= ] logsize
包含事务日志的文件的大小 (MB)。 logsize 的数据类型为 int。 logsize 的最小值为 1。[ @datalogical1= ] 'datalogical'
包含数据表的文件的逻辑名称。 datalogical 的数据类型为 sysname。必须有 1 到 16 个数据文件。 通常,如果预计数据库很大,必须分布在多个磁盘上,则创建多个数据文件。
[ @dataphysical1= ] 'dataphysical'
物理名称。 其中包括包含数据表的文件的完全限定路径。 dataphysical 的数据类型为 nvarchar(260)。[ @datasize1= ] 'datasize'
包含数据表的文件的大小 (MB)。 datasize 的数据类型为 int。 datasize 的最小值为 1。
返回代码值
0(成功)或 1(失败)
结果集
无
注释
如果要在可移动介质(如光盘)上制作数据库的副本,并将该数据库分发给其他用户,则可使用此存储过程。
权限
要求具有 CREATE DATABASE、CREATE ANY DATABASE 或 ALTER ANY DATABASE 的权限。
为了控制对运行 SQL Server 实例的计算机上的磁盘使用,通常只有少数登录帐户才有创建数据库的权限。
对数据文件和日志文件的权限
从 SQL Server 2005 开始,在对数据库执行某些操作时,将对其数据和日志文件设置相应的权限。 如果这些文件位于具有打开权限的目录中,那么以上权限可以防止文件被意外篡改。
针对数据库的操作 |
针对文件的权限集 |
---|---|
修改以添加新文件 |
创建 |
备份 |
附加 |
还原 |
分离 |
注意 |
---|
SQL Server 2005 Express Edition 不设置数据文件和日志文件权限。 |
示例
以下示例创建作为可移动数据库的数据库 inventory。
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
请参阅
参考
sp_certify_removable (Transact-SQL)
sp_helpfilegroup (Transact-SQL)