Procédure : attacher un fichier de base de données à SQL Server Express

Vous pouvez attacher un fichier de base de données à une instance de SQL Server 2005 Express Edition (SQL Server Express) à l'aide de l'outil sqlcmd. Par exemple, si vous avez des fichiers de base de données existants provenant d'une installation antérieure de SQL Server Express, vous pouvez les attacher à une nouvelle installation de SQL Server Express. De même, si vous souhaitez restaurer une base de données endommagée à partir d'une copie sauvegardée, vous pouvez attacher le fichier de base de données sauvegardée.

Remarque relative à la sécuritéRemarque relative à la sécurité

Nous vous recommandons de ne pas attacher ou restaurer des bases de données provenant de sources inconnues ou non approuvées. Ces bases de données sont suceptibles de contenir du code malveillant qui peut exécuter du code Transact-SQL imprévisible ou causer des erreurs en modifiant le schéma ou la structure physique de la base de données. Avant d'utiliser une base de données issue d'une source inconnue ou non approuvée, exécutez DBCC CHECKDB sur la base de données sur un serveur non productif et examinez également le code, notamment les procédures stockées ou le code défini par l'utilisateur, de la base de données.

Pour attacher un fichier de base de données

  1. Ouvrez l'invite de commandes sur le serveur.

  2. À partir de l'invite de commandes, connectez-vous à une instance de SQL Server à l'aide de la commande suivante sqlcmd :

    sqlcmd -S Server\Instance
    

    Server représente le nom d'un ordinateur et Instance celui de l'instance.

  3. Une fois connecté, tapez les commandes suivantes :

    USE [master]
    GO
    CREATE DATABASE [database_name] ON 
    ( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\<database name>.mdf' ),
    ( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\<database name>.ldf' )
     FOR ATTACH ;
    GO
    

    Dans la commande précédente, database_name correspond au nom de la base de données que vous voulez attacher, FileName au chemin et au nom du fichier de base de données et du fichier journal, et FOR ATTACH spécifie que la base de données est créée en attachant un ensemble existant de fichiers du système d'exploitation.

  4. Pour vérifier que la base de données est attachée, tapez les deux commandes suivantes :

    select name from sys.databases
    go
    
  5. L'outil sqlcmd affiche les noms de toutes les bases de données attachées à cette instance de SQL Server Express. Dans la liste, vous devez voir le nom de la base de données entré à l'étape 3.

[!REMARQUE]

Pour plus d'informations sur l’attachement d’une base de données, consultez Attachement et détachement des bases de données, et CREATE DATABASE (Transact-SQL) dans la documentation en ligne de SQL Server.