sp_create_removable (Transact-SQL)
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 prochaine version de Microsoft 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é. Il est conseillé d'utiliser plutôt CREATE DATABASE.
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 de type sysname.[ @syslogical= ] 'syslogical'
Nom logique du fichier qui contient les tables du catalogue système. syslogical est de type sysname.[ @sysphysical= ] 'sysphysical'
Nom physique. Il comprend un chemin d'accès complet du fichier contenant les tables du catalogue système. sysphysical est de type nvarchar(260).[ @syssize= ] syssize
Taille, en Mo, du fichier contenant les tables du catalogue système. syssize est de type int. La valeur minimale de syssize est 1.[ @loglogical= ] 'loglogical'
Nom logique du fichier contenant le journal des transactions. loglogical est de type sysname.[ @logphysical= ] 'logphysical'
Nom physique. Il comprend un chemin d'accès complet du fichier contenant le journal des transactions. logphysical est de type nvarchar(260).[ @logsize= ] logsize
Taille, en Mo, du fichier contenant le journal des transactions. logsize est de type int. La valeur minimale de logsize est 1.[ @datalogical1= ] 'datalogical'
Nom logique d'un fichier contenant les tables de données. datalogical est de type 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 de type nvarchar(260).[ @datasize1= ] 'datasize'
Taille, en Mo, du fichier contenant les tables de données. datasize est de type int. La valeur minimale de datasize est 1.
Valeurs des codes de retour
0 (succès) ou 1 (échec)
Ensembles de résultats
Aucun
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
Dans SQL Server 2005, certaines autorisations sont définies sur les données et les journaux de chaque base de données. Les autorisations suivantes sont définies chaque fois que les opérations suivantes sont appliquées à une base de données :
Créée |
Modifiée pour ajouter un nouveau fichier |
Attachée |
Sauvegardée |
Détachée |
Restaurée |
Les autorisations empêchent les fichiers d'être accidentellement falsifiés s'ils résident dans un répertoire doté d'autorisations d'ouverture. Pour plus d'informations, consultez Sécurisation des fichiers de données et des fichiers journaux.
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\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
Voir aussi