sp_create_removable (Transact-SQL)

创建可移动介质数据库。 创建三个或更多文件(一为系统目录表,一为事务日志,其余文件为数据表)并将数据库置于这些文件之中。

重要说明重要提示

后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。但我们建议您使用 CREATE DATABASE

主题链接图标 Transact-SQL 语法约定

语法

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)

ALTER DATABASE (Transact-SQL)

sp_dbremove (Transact-SQL)

sp_detach_db (Transact-SQL)

sp_helpfile (Transact-SQL)

sp_helpfilegroup (Transact-SQL)

系统存储过程 (Transact-SQL)

概念

数据库分离和附加 (SQL Server)