sp_create_removable (Transact-SQL)

Создает базу данных съемных носителей. Создает три или более файлов (один для таблиц системных каталогов, один для журнала транзакций, а также один или более для таблиц данных) и размещает в них базу данных.

ms173585.note(ru-ru,SQL.90).gifВажно!
В будущей версии 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
    Размер файла, содержащего таблицы системных каталогов (в мегабайтах). Аргумент syssize имеет тип int. Минимальным значением аргумента syssize является 1.
  • [ @loglogical= ] 'loglogical'
    Логическое имя файла, содержащего журнал транзакций. Аргумент loglogical имеет тип sysname.
  • [ @logphysical= ] 'logphysical'
    Физическое имя. Включает в себя полный путь к файлу, содержащему журнал транзакций. Аргумент logphysical имеет тип nvarchar(260).
  • [ @logsize= ] logsize
    Размер файла, содержащего журнал транзакций (в мегабайтах). Аргумент logsize имеет тип int. Минимальным значением аргумента logsize является 1.
  • [ @datalogical1= ] 'datalogical'
    Логическое имя файла, содержащего таблицы данных. Аргумент datalogical имеет тип sysname.

    Можно создать от 1 до 16 файлов данных. Обычно создание более одного файла данных требуется для больших баз данных, распространяемых на нескольких дисках.

  • [ @dataphysical1= ] 'dataphysical'
    Физическое имя. Включает в себя полный путь к файлу, содержащему таблицы данных. Аргумент dataphysical имеет тип nvarchar(260).
  • [ @datasize1= ] 'datasize'
    Размер файла, содержащего таблицы данных (в мегабайтах). Аргумент datasize имеет тип int. Минимальным значением аргумента datasize является 1.

Значения кодов возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Результирующие наборы

Нет

Замечания

Используйте данную хранимую процедуру для создания копий баз данных на таких съемных носителях как компакт-диски, и распространения их среди других пользователей.

Разрешения

Необходимы разрешения CREATE DATABASE, CREATE ANY DATABASE или ALTER ANY DATABASE.

Чтобы обеспечить контроль над использованием диска в экземпляре SQL Server, разрешение на создание баз данных обычно предоставляется небольшому количеству учетных записей.

Разрешения на файлы данных и журналов

В SQL Server 2005 для файлов данных и журналов каждой базы данных установлены некоторые разрешения. Следующие разрешения задаются при применении следующих операций к базе данных.

Создание

Изменение для добавления нового файла

Присоединение

Создание резервной копии

Отсоединение

Восстановление

Эти разрешения предотвращают случайное повреждение файлов, хранящихся в каталоге, имеющем разрешения на открытие файлов. Дополнительные сведения см. в разделе Защита данных и файлов журналов.

ms173585.note(ru-ru,SQL.90).gifПримечание.
Microsoft SQL Server 2005 Express Edition не устанавливает разрешения на файлы данных и журналов.

Примеры

В ходе выполнения следующего примера создается удаляемая база данных inventory.

EXEC sp_create_removable 'inventory', 
   'invsys',
   'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\invsys.mdf'
, 2, 
   'invlog',
   'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\invlog.ldf', 4,
   'invdata',
   'C:\Program Files\Microsoft SQL Server\MSSQL.1\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 2005