Partager via


sp_attach_single_file_db (Transact-SQL)

Associe au serveur actif une base de données qui ne possède qu'un seul fichier de données. sp_attach_single_file_db ne peut pas être utilisée avec plusieurs fichiers de données.

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é. Nous vous recommandons d'utiliser plutôt CREATE DATABASE database_name FOR ATTACH.Pour plus d'informations, consultez CREATE DATABASE (SQL Server Transact-SQL).N'utilisez pas cette procédure sur une base de données répliquée.

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

Nous vous recommandons de ne pas attacher ou 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 autre qu'un serveur de production 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.

S'applique à : SQL Server (SQL Server 2008 via la version actuelle).

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

sp_attach_single_file_db [ @dbname= ] 'dbname'
    , [ @physname= ] 'physical_name'

Arguments

  • [ @dbname= ] 'dbname'
    Nom de la base de données à attacher au serveur. Le nom doit être unique. dbname est de type sysname, avec NULL comme valeur par défaut.

  • [ @physname= ] 'physical_name'
    Nom physique, y compris le chemin d'accès, du fichier de base de données. physical_name est de type nvarchar(260), avec NULL comme valeur par défaut.

    Notes

    Cet argument correspond au paramètre FILENAME de l'instruction CREATE DATABASE.Pour plus d'informations, consultez CREATE DATABASE (SQL Server Transact-SQL).

    Lorsque vous attachez une base de données SQL Server 2005 qui contient des fichiers catalogue de texte intégral à une instance de serveur SQL Server 2014, les fichiers catalogue sont attachés à partir de leur emplacement précédent avec les autres fichiers de base de données, les mêmes que dans SQL Server 2005. Pour plus d'informations, consultez Mise à niveau de la fonction de recherche en texte intégral.

Valeurs des codes de retour

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

Jeux de résultats

Aucun

Notes

N'utilisez sp_attach_single_file_db que sur les bases de données préalablement détachées du serveur par une opération sp_detach_db explicite ou sur des bases de données copiées.

sp_attach_single_file_db ne fonctionne que sur les bases de données qui possède un seul fichier journal. Lorsque sp_attach_single_file_db attache la base de données au serveur, elle crée un nouveau fichier journal. Si la base de données est en lecture seule, le journal est créé au même endroit que le précédent.

Notes

Il n'est pas possible de détacher ni d'attacher un instantané de base de données.

N'utilisez pas cette procédure sur une base de données répliquée.

Autorisations

Pour plus d'informations sur la gestion des autorisations lors de l'attachement d'une base de données, consultez CREATE DATABASE (SQL Server Transact-SQL).

Exemples

Dans l'exemple suivant, AdventureWorks2012 est détaché, puis un des fichiers d' AdventureWorks2012 est attaché au serveur actif.

USE master;
GO
EXEC sp_detach_db @dbname = 'AdventureWorks2012';
EXEC sp_attach_single_file_db @dbname = 'AdventureWorks2012', 
    @physname = 
N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_Data.mdf';

Voir aussi

Référence

sp_detach_db (Transact-SQL)

sp_helpfile (Transact-SQL)

Procédures stockées système (Transact-SQL)

Concepts

Attacher et détacher une base de données (SQL Server)