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 = ] '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 ]  

Arguments

[ @dbname = ] 'dbname' Nom de la base de données à créer pour une utilisation sur un support amovible. dbname est sysname.

[ @syslogical = ] 'syslogical' Nom logique du fichier qui contient les tables de catalogue système. syslogical est sysname.

[ @sysphysical = ] 'sysphysical' Nom physique. Il comprend un chemin d'accès complet du fichier contenant les tables du catalogue système. sysphysical est nvarchar(260).

[ @syssize = ] syssize Taille, en mégaoctets, du fichier qui contient les tables de catalogue système. syssize est int. La valeur syssize minimale est 1.

[ @loglogical = ] 'loglogical' Nom logique du fichier qui contient le journal des transactions. loglogical est sysname.

[ @logphysical = ] 'logphysical' Nom physique. Il comprend un chemin d'accès complet du fichier contenant le journal des transactions. logphysical est nvarchar(260).

[ @logsize = ] logsize Taille, en mégaoctets, du fichier qui contient le journal des transactions. logsize est int. La taille minimale des journaux est 1.

[ @datalogical1 = ] 'datalogical' Nom logique d’un fichier qui contient les tables de données. datalogical est sysname.

Il doit exister entre 1 et 16 fichiers de données. Habituellement, plusieurs fichiers de données sont créés lorsqu'il est prévu que la base de données soit volumineuse et qu'elle doive être distribuée sur plusieurs disques.

[ @dataphysical1 = ] 'dataphysical' Nom physique. Il comprend un chemin d'accès complet du fichier contenant les tables de données. dataphysical est nvarchar(260).

[ @datasize1 = ] 'datasize' Taille, en mégaoctets, d’un fichier qui contient des tables de données. datasize est int. La taille minimale des données est 1.

Codet de retour

0 (réussite) ou 1 (échec)

Jeux de résultats

None

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

L'autorisation CREATE DATABASE, CREATE ANY DATABASE ou ALTER ANY DATABASE est obligatoire.

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 données et les 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 accidentellement falsifiés s'ils résident dans un répertoire doté d'autorisations d'ouverture.

Opération sur la base de données Autorisations d'accès aux fichiers définies
Modifiée pour ajouter un nouveau fichier Créé
Sauvegardée 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;  

Voir aussi

Détachement et attachement de base de données (SQL Server)
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)
Procédures stockées système (Transact-SQL)