sys.sp_create_removable (Transact-SQL)

platí pro:SQL Server

Vytváří databázi vyměnitelných médií. Vytvoří tři nebo více souborů (jeden pro systémové katalogové tabulky, jeden pro transakční log a jeden nebo více pro datové tabulky) a umístí databázi na tyto soubory.

Důležité

Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Doporučujeme místo toho používat CREATE DATABASE.

Transact-SQL konvence syntaxe

Syntax

sys.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 ]
[ ; ]

Arguments

[ @dbname = ] N'dbname'

Název databáze pro vytvoření pro použití na snímatelných médiích. @dbname je sysname , s výchozím NULL.

[ @syslogical = ] N'syslogical'

Logický název souboru, který obsahuje tabulky systémového katalogu. @syslogical je sysname s výchozím nastavením NULL.

[ @sysphysical = ] N'sysphy'

Fyzické jméno. @sysphysical je nvarchar(260), s výchozím hodnotou NULL. Tato hodnota zahrnuje plně kvalifikovanou cestu souboru, který uchovává tabulky systémového katalogu.

[ @syssize = ] syssize

Velikost souboru obsahujícího systémové katalogové tabulky v megabajtech. @syssize je int, s výchozím nastavením NULL.

[ @loglogical = ] N'loglogical'

Logický název souboru, který obsahuje transakční záznam. @loglogical je sysname s výchozím nastavením NULL.

[ @logphysical = ] N'logfyzické'

Fyzické jméno. @logphysical je nvarchar(260), s výchozím hodnotou NULL. Tato hodnota zahrnuje plně kvalifikovanou cestu souboru, který obsahuje transakční záznam.

[ @logsize = ] logsize

Velikost souboru obsahujícího transakční záznam v megabajtech. @logsize je int, s minimální hodnotou 1.

[ @datalogical1 = ] N'datalogical1'

Logický název souboru, který obsahuje datové tabulky. @datalogical1 je sysname s výchozím nastavením NULL.

Musí existovat 1 mezi a 16 datovými soubory. Obvykle se vytvoří více datových souborů, když se očekává, že databáze bude rozsáhlá, a musí být distribuována na více discích.

[ @dataphysical1 = ] N'dataphysical1'

Fyzické jméno. @dataphysical1 je nvarchar(260), s výchozím hodnotou NULL. Tato hodnota zahrnuje plně kvalifikovanou cestu souboru obsahujícího datové tabulky.

[ @datasize1 = ] datasize1

Velikost souboru obsahujícího datové tabulky v megabajtech. @datasize1 je int, s minimální hodnotou 1.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Sada výsledků

Žádné.

Remarks

Pokud chcete vytvořit kopii své databáze na vyměnitelném médiu, například na kompaktním disku, a distribuovat databázi dalším uživatelům, použijte tento uložený postup.

Permissions

Vyžaduje oprávnění CREATE DATABASE, CREATE ANY DATABASEnebo ALTER ANY DATABASE.

Pro udržení kontroly nad využitím disku na instanci SQL Server je oprávnění k vytváření databází obvykle omezeno na několik přihlašovacích účtů.

Oprávnění k datům a souborům protokolu

Kdykoli jsou na databázi prováděny určité operace, jsou na jejích datech a logovacích souborech nastavena odpovídající oprávnění. Oprávnění zabraňují náhodné manipulaci se soubory, pokud se nacházejí v adresáři s otevřenými oprávněními.

Provoz na databázi Oprávnění nastavená na soubory
Upraveno pro přidání nového souboru Vytvořeno
Záloha Připojený
Obnovené Odděleno

Note

SQL Server nenastavuje oprávnění k datům a logovacím souborům.

Examples

Následující příklad vytváří databázi inventory jako přenosnou databázi.

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