J'ai une procédure stockée "copie" pour une base de données. Au cours de la copie, je sauvegarde la base de données avec quelque chose comme:Supprimer le fichier de sauvegarde dans transact-sql lors de la copie/restauration de la base de données
exec('backup database [' + @source + '] ' +
'to disk = N''' + @backupdir + '\copybackup'' ' +
'with noformat, noinit, name=N''copybackup-full'', ' +
'SKIP, NOREWIND, NOUNLOAD, STATS = 10;');
Et puis créer et base de données vide, et lui rendre:
exec('create database [' + @dest + '];');
exec('restore database [' + @dest + '] ' +
'from disk = N''' + @backupdir + '\copybackup'' ' +
'with file = 1, ' +
'move N''' + @source + ''' to N''' + @dbdir + '\' + @dest +
'.mdf'', ' +
'move N''' + @source + '_log'' to N''' + @dbdir + '\' + @dest +
'_log.ldf'', ' +
'NOUNLOAD, REPLACE, STATS = 10;');
Donc, tout va bien et bon. Sauf, maintenant je me retrouve avec un fichier sur @backupdir \ copybackup que je ne veux vraiment pas. Comment puis-je m'en débarrasser?
Puisqu'il s'agit d'une procédure stockée, je ne veux pas avoir à tout emballer dans un fichier séquentiel ou quelque chose d'autre sur le serveur lui-même. Je voudrais m'en occuper de T-SQL juste ici quand je crée le désordre en premier lieu. J'ai traversé la MS Docs, mais pas de joie. (SQL Server 2005, s'il vous plaît)
Idées?
@casperOne: Ne pas éditer mon code. Pas votre message, pas votre code, et vous avez foiré la dernière ligne d'indentation de toute façon. Ne touchez pas. –
@clintp: Pas votre place pour indiquer qui et qui ne modifie pas le message. Voir la FAQ pour plus de détails. – casperOne
Ne vous en souciez pas. C'est dur. Il y a des possibilités, et puis il y a des manières. –