sp_certify_removable (Transact-SQL)

Vérifie qu'une base de données est correctement configurée pour la distribution sur support de sauvegarde amovible et rend compte à l'utilisateur des éventuels problèmes.

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é. Mieux vaut utiliser CREATE DATABASE.

Icône Lien de rubriqueConventions de syntaxe de Transact-SQL

Syntaxe

sp_certify_removable [ @dbname= ] 'dbname'
          [ , [ @autofix = ] 'auto' ]

Arguments

  • [ @dbname = ] 'dbname'
    Spécifie la base de données à vérifier. dbname est de type sysname.

  • [ @autofix=] 'auto'
    Donne la propriété de la base de données et de tous les objets de base de données à l'administrateur système, et supprime les utilisateurs de base de données créés par l'utilisateur et les autorisations autres que celles par défaut. auto est de type nvarchar(4), avec NULL comme valeur par défaut.

Valeurs des codes renvoyés

0 (succès) ou 1 (échec)

Notes

Si la base de données est correctement configurée, sp_certify_removable exécute les opérations suivantes :

  • Elle met la base de données hors ligne pour permettre la copie des fichiers.

  • Elle met à jour les statistiques de toutes les tables et rend compte des éventuels problèmes de propriété et d'utilisateur.

  • Elle marque également les groupes de fichiers de données en lecture seule pour que ces fichiers puissent être copiés sur des supports en lecture seule.

L'administrateur système doit être le propriétaire de la base de données et de tous les objets de la base de données. L'administrateur système est un utilisateur connu qui existe sur tous les serveurs exécutant MicrosoftSQL Server. Il interviendra également ultérieurement lors de la distribution et de l'installation de la base de données.

Si vous exécutez sp_certify_removable sans la valeur auto et que cette procédure stockée fait part de l'une des conditions suivantes :

  • L'administrateur système n'est pas le propriétaire de la base de données.

  • Il existe des utilisateurs créés par l'utilisateur.

  • L'administrateur système ne possède pas tous les objets de la base de données.

  • Des autorisations non établies par défaut ont été accordées.

Vous pouvez y remédier des deux manières suivantes :

  • Utilisez les outils et procédures SQL Server, puis exécutez de nouveau sp_certify_removable.

  • Contentez-vous d'exécuter sp_certify_removable avec la valeur auto.

Remarquez que cette procédure stockée ne recherche que les utilisateurs et les autorisations des utilisateurs. Vous pouvez ajouter des groupes à la base de données et leur accorder des autorisations. Pour plus d'informations, consultez GRANT (Transact-SQL).

Autorisations

Les autorisations d'exécution sont limitées aux membres du rôle de serveur fixe sysadmin.

Exemple

Cet exemple certifie que la base de données inventory est prête à être supprimée.

EXEC sp_certify_removable inventory, AUTO