Suggérer une traduction
 
Suggestions d'autres utilisateurs :

progress indicator
Aucune autre suggestion.
Cliquez pour évaluer et commenter
TechNet
Bibliothèque TechNet
SQL Server
SQL Server 2012
Documentation du produit
Moteur de base de données
Fonctionnalités et tâches...
Bases de données
 Attacher une base de données
Réduire tout/Développer tout Réduire tout
Affichage du contenu :  côte à côteAffichage du contenu : côte à côte
Attach a Database

This topic describes how to attach a database in SQL Server 2012 by using SQL Server Management Studio or Transact-SQL. You can use this feature to copy, move, or upgrade a SQL Server database.

In This Topic

Prerequisites

  • The database must first be detached. Attempting to attach a database that has not been detached will return an error. For more information, see Detach a Database.

  • When you attach a database, all data files (MDF and NDF files) must be available. If any data file has a different path from when the database was first created or last attached, you must specify the current path of the file.

Recommendations

We recommend that you move databases by using the ALTER DATABASE planned relocation procedure, instead of using detach and attach. For more information, see Move User Databases.

Arrow icon used with Back to Top link[Top]

Security

File access permissions are set during a number of database operations, including detaching or attaching a database. For information about file permissions that are set whenever a database is detached and attached, see Securing Data and Log Files in SQL Server 2008 R2 Books Online.

We recommend that you do not attach or restore databases from unknown or untrusted sources. Such databases could contain malicious code that might execute unintended Transact-SQL code or cause errors by modifying the schema or the physical database structure. Before you use a database from an unknown or untrusted source, run DBCC CHECKDB on the database on a nonproduction server and also examine the code, such as stored procedures or other user-defined code, in the database. For more information about attaching databases and information about changes that are made to metadata when you attach a database, see Database Detach and Attach (SQL Server).

Permissions

Requires CREATE DATABASE, CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

Arrow icon used with Back to Top link[Top]

To Attach a Database

  1. In SQL Server Management Studio Object Explorer, connect to an instance of the SQL Server Database Engine, and then expand that instance.

  2. Right-click Databases and click Attach.

  3. In the Attach Databases dialog box, to specify the database to be attached, click Add; and in the Locate Database Files dialog box, select the disk drive where the database resides and expand the directory tree to find and select the .mdf file of the database; for example:

    C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\AdventureWorks2012_Data.mdf

    Important noteImportant

    Trying to select a database that is already attached generates an error.

    Databases to attach

    Displays information about the selected databases.

    <no column header>

    Displays an icon indicating the status of the attach operation. The possible icons are described in the Status description, below).

    MDF File Location

    Displays the path and file name of the selected MDF file.

    Database Name

    Displays the name of the database.

    Attach As

    Optionally, specifies a different name for the database to attach as.

    Owner

    Provides a drop-down list of possible database owners from which you can optionally select a different owner.

    Status

    Displays the status of the database according to the following table.

    Icon

    Status text

    Description

    (No icon)

    (No text)

    Attach operation has not been started or may be pending for this object. This is the default when the dialog is opened.

    Green, right-pointing triangle

    In progress

    Attach operation has been started but it is not complete.

    Green check mark

    Success

    The object has been attached successfully.

    Red circle containing a white cross

    Error

    Attach operation encountered an error and did not complete successfully.

    Circle containing two black quadrants (on left and right) and two white quadrants (on top and bottom)

    Stopped

    Attach operation was not completed successfully because the user stopped the operation.

    Circle containing a curved arrow pointing counter-clockwise

    Rolled Back

    Attach operation was successful but it has been rolled back due to an error during attachment of another object.

    Message

    Displays either a blank message or a "File not found" hyperlink.

    Add

    Find the necessary main database files. When the user selects an .mdf file, applicable information is automatically filled in the respective fields of the Databases to attach grid.

    Remove

    Removes the selected file from the Databases to attach grid.

    "<database_name>" database details

    Displays the names of the files to be attached. To verify or change the pathname of a file, click the Browse button ().

    NoteNote

    If a file does not exist, the Message column displays "Not found." If a log file is not found, it exists in another directory or has been deleted. You need to either update the file path in the database details grid to point to the correct location or remove the log file from the grid. If an . ndf data file is not found, you need to update its path in the grid to point to the correct location.

    Original File Name

    Displays the name of the attached file belonging to the database.

    File Type

    Indicates the type of file, Data or Log.

    Current File Path

    Displays the path to the selected database file. The path can be edited manually.

    Message

    Displays either a blank message or a "File not found" hyperlink.

Arrow icon used with Back to Top link[Top]

To attach a database

  1. Connect to the Database Engine.

  2. From the Standard bar, click New Query.

  3. Use the CREATE DATABASE statement with the FOR ATTACH close.

    Copy and paste the following example into the query window and click Execute. This example attaches the files of the AdventureWorks2012 database and renames the database to MyAdventureWorks.

    CREATE DATABASE MyAdventureWorks 
        ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'), 
        (FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf') 
        FOR ATTACH; 
    
    NoteNote

    Alternatively, you can use the sp_attach_db or sp_attach_single_file_db stored procedure. However, these procedures will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. We recommend that you use CREATE DATABASE … FOR ATTACH instead.

Arrow icon used with Back to Top link[Top]

After you upgrade a database by using the attach method, the database becomes available immediately and is automatically upgraded. If the database has full-text indexes, the upgrade process either imports, resets, or rebuilds them, depending on the setting of the Full-Text Upgrade Option server property. If the upgrade option is set to Import or Rebuild, the full-text indexes will be unavailable during the upgrade. Depending the amount of data being indexed, importing can take several hours, and rebuilding can take up to ten times longer. Note also that when the upgrade option is set to Import, if a full-text catalog is not available, the associated full-text indexes are rebuilt.

If the compatibility level of a user database was 90 or 100 before upgrade, it remains the same after upgrade. If the compatibility level was 80 or less before upgrade, in the upgraded database, the compatibility level is set to 90, which is the lowest supported compatibility level in SQL Server 2012. For more information, see ALTER DATABASE Compatibility Level (Transact-SQL).

Arrow icon used with Back to Top link[Top]

Attacher une base de données

Cette rubrique explique comment attacher une base de données dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL. Vous pouvez utiliser cette fonctionnalité pour copier, déplacer, ou mettre à niveau une base de données SQL Server.

Dans cette rubrique

Conditions préalables

  • La base de données doit d'abord être détachée. Toute tentative d'attachement d'une base de données qui n'a pas été détachée retourne une erreur. Pour plus d'informations, consultez Détacher une base de données.

  • Lorsque vous attachez une base de données, tous les fichiers de données (fichiers MDF et NDF) doivent être disponibles. Si un fichier de données possède un chemin différent de celui qui existait lorsque la base de données a été créée pour la première fois ou attachée pour la dernière fois, vous devez spécifier le chemin actuel du fichier.

Recommandations

Nous vous recommandons de déplacer les bases de données à l'aide de la procédure de déplacement planifié ALTER DATABASE, plutôt qu'à l'aide de la méthode de détachement et d'attachement. Pour plus d'informations, consultez Déplacer des bases de données utilisateur.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Sécurité

Les autorisations d'accès au fichier sont définies au cours de plusieurs opérations de base de données, notamment le détachement ou l'attachement d'une base de données. Pour plus d'informations sur les autorisations de fichier définies lors du détachement et de l'attachement d'une base de données, consultez Sécurisation des fichiers de données et des fichiers journaux dans la documentation en ligne de SQL Server 2008 R2.

Nous vous recommandons de ne pas attacher ni restaurer de bases de données provenant de sources inconnues ou non approuvées. Ces bases de données peuvent contenir du code malveillant susceptible d'exécuter du code Transact-SQL indésirable ou de provoquer des erreurs en modifiant le schéma ou la structure physique des bases 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 plus d'informations sur la façon de joindre des bases de données et des informations à propos des modifications apportées aux métadonnées lorsque vous joignez une base de données, consultez Attacher et détacher une base de données (SQL Server).

Autorisations

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

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Pour attacher une base de données

  1. Dans l'Explorateur d'objets SQL Server Management Studio, connectez-vous à une instance du Moteur de base de données SQL Server, puis développez-la.

  2. Cliquez avec le bouton droit sur Bases de données, puis cliquez sur Attacher.

  3. Dans la boîte de dialogue Attacher des bases de données, pour spécifier la base de données à attacher, cliquez sur Ajouter, dans la boîte de dialogue Rechercher les fichiers de base de données, sélectionnez l'unité de disque contenant la base de données et développez l'arborescence pour rechercher et sélectionner le fichier .mdf de la base de données. Par exemple :

    C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\AdventureWorks2012_Data.mdf

    ImportantImportant

    Une tentative de sélection d'une base de données déjà attachée génère une erreur.

    Bases de données à attacher

    Affiche des informations sur les bases de données sélectionnées.

    <aucun en-tête de colonne>

    Affiche une icône indiquant l'état de l'opération d'attachement. Les icônes possibles sont décrites dans la section État ci-dessous.

    Emplacement du fichier MDF

    Affiche le chemin d'accès et le nom du fichier MDF sélectionné.

    Nom de la base de données

    Affiche le nom de la base de données.

    Attacher en tant que

    Permet de spécifier éventuellement un autre nom sous lequel la base de données doit être attachée.

    Propriétaire

    Fournit une liste déroulante des propriétaires de bases de données possibles dans laquelle vous pouvez sélectionner un autre propriétaire.

    État

    Affiche l'état de la base de données conformément au tableau ci-après.

    Icône

    Texte d'état

    Description

    (Aucune icône)

    (Aucun texte)

    L'opération d'attachement n'a pas démarré ou est peut-être en attente pour cet objet. Il s'agit de la valeur par défaut lorsque la boîte de dialogue est ouverte.

    Triangle vert dirigé vers la droite

    En cours

    L'opération d'attachement a démarré, mais n'est pas terminée.

    Coche verte

    Réussi

    L'attachement de l'objet a réussi.

    Cercle rouge contenant une croix blanche

    Erreur

    L'opération d'attachement a rencontré une erreur et ne s'est pas terminée correctement.

    Cercle contenant deux quartiers noirs (à gauche et à droite) et deux quartiers blancs (en haut et en bas)

    Arrêté

    L'opération d'attachement n'a pas réussi, car l'utilisateur l'a interrompue.

    Cercle contenant une flèche courbe pointant dans le sens inverse des aiguilles d'une montre

    Restauré

    L'opération d'attachement a réussi, mais a été restaurée en raison d'une erreur lors de l'attachement d'un autre objet.

    Message

    Affiche un message vierge ou un lien hypertexte « Fichier introuvable ».

    Ajouter

    Permet de rechercher les principaux fichiers de base de données nécessaires. Lorsque l'utilisateur sélectionne un fichier .mdf, les informations applicables sont automatiquement remplies dans les champs respectifs de la grille Bases de données à attacher.

    Supprimer

    Supprime le fichier sélectionné de la grille Bases de données à attacher.

    Détails de la base de données « <database_name> »

    Affiche le nom des fichiers à attacher. Pour vérifier ou modifier le nom du chemin d'accès d'un fichier, cliquez sur le bouton Parcourir ().

    RemarqueRemarque

    Si un fichier n'existe pas, la colonne Message affiche « Introuvable ». Si un fichier journal est introuvable, cela signifie qu'il se trouve dans un autre répertoire ou qu'il a été supprimé. Vous devez mettre à jour le chemin d'accès du fichier dans la grille Détails de la base de données pour désigner l'emplacement correct ou supprimer le fichier journal de la grille. Si un fichier de données .ndf est introuvable, vous devez mettre à jour son chemin d'accès dans la grille pour désigner l'emplacement correct.

    Nom du fichier d'origine

    Affiche le nom du fichier attaché appartenant à la base de données.

    Type de fichier

    Indique le type du fichier (Données ou Journal).

    Chemin d'accès au fichier actuel

    Affiche le chemin d'accès au fichier de base de données sélectionné. Le chemin d'accès peut être modifié manuellement.

    Message

    Affiche un message vierge ou un lien hypertexte « Fichier introuvable ».

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Pour attacher une base de données

  1. Connectez-vous au Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Utilisez l'instruction CREATE DATABASE avec la clause FOR ATTACH.

    Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter. Cet exemple attache les fichiers de la base de données AdventureWorks2012 et renomme la base de données MyAdventureWorks.

    CREATE DATABASE MyAdventureWorks 
        ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'), 
        (FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf') 
        FOR ATTACH; 
    
    RemarqueRemarque

    Vous pouvez également utiliser la procédure stockée sp_attach_db ou sp_attach_single_file_db. Toutefois, ces procédures seront supprimées dans une future 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é. Nous vous recommandons d'utiliser plutôt CREATE DATABASE … FOR ATTACH.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Après avoir mis à niveau une base de données à l'aide de la méthode par attachement, cette base de données est immédiatement disponible et est automatiquement mise à niveau. Si la base de données comprend des index de recherche en texte intégral, la mise à niveau les importe, les réinitialise ou les reconstruit, selon le paramètre de la propriété de serveur Option de mise à niveau des index de recherche en texte intégral. Si l'option de mise à niveau a la valeur Importer ou Reconstruire, les index de recherche en texte intégral ne seront pas disponibles pendant la mise à niveau. Selon le volume de données indexé, l'importation peut prendre plusieurs heures et la reconstruction jusqu'à dix fois plus longtemps. Notez également que lorsque l'option de mise à niveau est Importer, si un catalogue de texte intégral n'est pas disponible, les index de recherche en texte intégral associés sont reconstruits.

Si le niveau de compatibilité d'une base de données utilisateur était à 90 ou 100 avant la mise à niveau, il reste le même après la mise à niveau. Si le niveau de compatibilité était à 80 ou moins avant la mise à niveau, dans la base de données mise à niveau, le niveau de compatibilité est défini à 90, ce qui correspond au niveau de compatibilité le plus bas pris en charge dans SQL Server 2012. Pour plus d'informations, consultez Niveau de compatibilité ALTER DATABASE (Transact-SQL).

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Contenu de la communauté   Qu'est-ce que le Contenu de la communauté ?
Ajouter du contenu RSS  Annotations
Processing
© 2012 Microsoft. Tous droits réservés. Conditions d'utilisation | Marques | Confidentialité
Page view tracker