Partilhar via


sp_create_removable (Transact-SQL)

Cria um banco de dados de mídia removível. Cria três ou mais arquivos (um para as tabelas de catálogo de sistema, um para o log de transações e um ou mais para as tabelas de dados) e coloca o banco de dados nesses arquivos.

Observação importanteImportante

Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Recomendamos usar CREATE DATABASE em vez disso.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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'
    É o nome do banco de dados a ser criado para uso em mídia removível. dbname é sysname.

  • [ @syslogical= ] 'syslogical'
    É o nome lógico do arquivo que contém as tabelas de catálogo de sistema. syslogical é sysname.

  • [ @sysphysical= ] 'sysphysical'
    É o nome físico. Isso inclui um caminho totalmente qualificado do arquivo que contém as tabelas de catálogo de sistema. sysphysical é nvarchar (260).

  • [ @syssize= ] syssize
    É o caminho, em megabytes, do arquivo que contém as tabelas de catálogo do sistema. syssize é int. O mínimo syssize é 1.

  • [ @loglogical= ] 'loglogical'
    É o nome lógico do arquivo que contém o log de transações. loglogical é sysname.

  • [ @logphysical= ] 'logphysical'
    É o nome físico. Isso inclui um caminho totalmente qualificado do arquivo que contém o log de transações. logphysical é nvarchar (260).

  • [ @logsize= ] logsize
    É o caminho, em megabytes, do arquivo que contém o log de transações. logsize é int. O mínimo logsize é 1.

  • [ @datalogical1= ] 'datalogical'
    É o nome lógico do arquivo que contém as tabelas de dados. datalogical é sysname.

    Deve ser de 1 a 16 arquivos de dados. Geralmente, mais de um arquivo de dados é criado quando é esperado que o banco de dados seja grande e deve ser distribuído em vários discos.

  • [ @dataphysical1= ] 'dataphysical'
    É o nome físico. Isso inclui um caminho totalmente qualificado do arquivo que contém as tabelas de dados. dataphysical é nvarchar(260).

  • [ @datasize1= ] 'datasize'
    É o tamanho, em megabytes, de um arquivo que contém as tabelas de dados. datasize é int. O mínimo datasize é 1.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

Nenhum

Comentários

Se você quiser fazer uma cópia de seu banco de dados em mídia removível, como um CD, e distribuir o banco de dados a outros usuários, use este procedimento armazenado.

Permissões

Requer a permissão CREATE DATABASE, CREATE ANY DATABASE ou ALTER ANY DATABASE.

Para manter controle sobre o uso do disco em uma instância de SQL Server, a permissão para criar bancos de dados geralmente é limitada a algumas contas de logon.

Permissões em arquivos de dados e de log

Em SQL Server 2005, determinadas permissões são definidas nos arquivos de dados e de log de cada banco de dados. As permissões a seguir são definidas sempre que as seguintes operações são aplicadas a um banco de dados:

Criado

Modificado para adicionar um novo arquivo

Anexado

Backup

Desanexado

Restaurado

As permissões evitam que os arquivos sejam violados acidentalmente caso residam em um diretório com permissões abertas. Para obter mais informações, consulte Protegendo dados e arquivos de log.

Exemplos

O exemplo a seguir cria o banco de dados inventory como um banco de dados removível.

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