Partager via


sp_create_removable (Transact-SQL)

S’applique à : SQL Server

Cette procédure crée une base de données sur un support amovible. Elle crée trois fichiers minimum (un pour les tables de catalogue système, un pour le journal des transactions et un ou plus pour les tables de données) et place la base de données sur ces fichiers.

Important

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Nous vous recommandons d’utiliser CREATE DATABASE à la place.

Conventions de la syntaxe Transact-SQL

Syntaxe

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'

Nom de la base de données à créer pour une utilisation sur un support amovible. @dbname est sysname, avec la valeur par défaut NULL.

[ @syslogical = ] N’syslogical'

Nom logique du fichier qui contient les tables de catalogue système. @syslogical est sysname, avec la valeur par défaut NULL.

[ @sysphysical = ] N’sysphysical'

Nom physique. @sysphysical est nvarchar(260), avec la valeur par défaut NULL. Cette valeur inclut un chemin complet du fichier qui contient les tables de catalogue système.

[ @syssize = ] syssize

Taille, en mégaoctets, du fichier qui contient les tables de catalogue système. @syssize est int, avec la valeur par défaut NULL.

[ @loglogical = ] N’loglogical'

Nom logique du fichier qui contient le journal des transactions. @loglogical est sysname, avec la valeur par défaut NULL.

[ @logphysical = ] N’logphysical'

Nom physique. @logphysical est nvarchar(260), avec la valeur par défaut NULL. Cette valeur inclut un chemin complet du fichier qui contient le journal des transactions.

[ @logsize = ] logsize

Taille, en mégaoctets, du fichier qui contient le journal des transactions. @logsize est int, avec une valeur minimale de 1.

[ @datalogical1 = ] N’datalogical1'

Nom logique d’un fichier qui contient les tables de données. @datalogical1 est sysname, avec la valeur par défaut NULL.

Il doit y avoir des fichiers entre 1 les fichiers de 16 données. En règle générale, plusieurs fichiers de données sont créés lorsque la base de données est censée être volumineuse et doivent être distribuées sur plusieurs disques.

[ @dataphysical1 = ] N’dataphysical1'

Nom physique. @dataphysical1 est nvarchar(260), avec la valeur par défaut NULL. Cette valeur inclut un chemin complet d’un fichier qui contient des tables de données.

[ @datasize1 = ] datasize1

Taille, en mégaoctets, d’un fichier qui contient des tables de données. @datasize1 est int, avec une valeur minimale de 1.

Valeurs des codes de retour

0 (réussite) or 1 (échec).

Jeu de résultats

Aucune.

Notes

Si vous souhaitez faire une copie de votre base de données sur un support amovible (par exemple un CD-ROM) pour la distribuer à d'autres utilisateurs, utilisez cette procédure stockée.

autorisations

Requiert l’autorisation CREATE DATABASE, CREATE ANY DATABASE ou ALTER ANY DATABASE.

Pour garder le contrôle de l'utilisation du disque sur une instance de SQL Server, l'autorisation de création de bases de données est généralement limitée à quelques comptes de connexion.

Autorisations sur les fichiers de données et les fichiers journaux

Chaque fois que certaines opérations sont effectuées sur une base de données, les autorisations correspondantes sont définies sur les données et les fichiers journaux. Les autorisations empêchent les fichiers d’être falsifiés accidentellement s’ils résident dans un répertoire ouvert.

Opération sur la base de données Autorisations définies sur les fichiers
Modifié pour ajouter un nouveau fichier Créé
Sauvegardé Lié
Restauré Détachée

Remarque

SQL Server ne définit pas les autorisations de données et de fichier journal.

Exemples

L'exemple suivant crée la base de données inventory comme base de données amovible.

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