sp_attach_single_file_db (Transact-SQL)sp_attach_single_file_db (Transact-SQL)

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)nonAzure SQL DatabasenonAzure SQL Data Warehouse nonParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Associe au serveur actif une base de données qui ne possède qu'un seul fichier de données.Attaches a database that has only one data file to the current server. sp_attach_single_file_db ne peut pas être utilisé avec plusieurs fichiers de données.sp_attach_single_file_db cannot be used with multiple data files.

Important

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server.This feature will be removed in a future version of 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é.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.Nous vous recommandons d’utiliser CREATE DATABASE nom_base_de_données pour attacher à la place. We recommend that you use CREATE DATABASE database_name FOR ATTACH instead. Pour plus d’informations, consultez CREATE DATABASE (SQL Server Transact-SQL).For more information, see CREATE DATABASE (SQL Server Transact-SQL). N'utilisez pas cette procédure sur une base de données répliquée.Do not use this procedure on a replicated database.

Important

Nous vous recommandons de ne pas attacher ni restaurer de bases de données provenant de sources inconnues ou non approuvées.We recommend that you do not attach or restore databases from unknown or untrusted sources. Ces bases de données peuvent contenir du code malveillant susceptible d'exécuter du code Transact-SQLTransact-SQL indésirable ou de provoquer des erreurs en modifiant le schéma ou la structure physique des bases de données.Such databases could contain malicious code that might execute unintended Transact-SQLTransact-SQL code or cause errors by modifying the schema or the physical database structure. 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.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.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax


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

ArgumentsArguments

[ @dbname= ] 'dbname'[ @dbname= ] 'dbname'
Nom de la base de données à attacher au serveur.Is the name of the database to be attached to the server. Le nom doit être unique.The name must be unique. dbname est sysname, avec NULL comme valeur par défaut.dbname is sysname, with a default of NULL.

[ @physname= ] 'physical_name'[ @physname= ] 'physical_name'
Nom physique, y compris le chemin d'accès, du fichier de base de données.Is the physical name, including path, of the database file. physical_name est nvarchar (260), avec NULL comme valeur par défaut.physical_name is nvarchar(260), with a default of NULL.

Note

Cet argument crée un mappage vers le paramètre FILENAME de l'instruction CREATE DATABASE.This argument maps to the FILENAME parameter of the CREATE DATABASE statement. Pour plus d’informations, consultez CREATE DATABASE (SQL Server Transact-SQL).For more information, see CREATE DATABASE (SQL Server Transact-SQL).

Quand vous attachez une base de données SQL Server 2005SQL Server 2005 qui contient des fichiers catalogue de texte intégral à une instance de serveur SQL Server 2017SQL Server 2017 , 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 2005SQL Server 2005.When you attach a SQL Server 2005SQL Server 2005 database that contains full-text catalog files onto a SQL Server 2017SQL Server 2017 server instance, the catalog files are attached from their previous location along with the other database files, the same as in SQL Server 2005SQL Server 2005. Pour plus d’informations, consultez Mise à niveau de la fonction de recherche en texte intégral.For more information, see Upgrade Full-Text Search.

Valeurs des codes de retourReturn Code Values

0 (réussite) ou 1 (échec)0 (success) or 1 (failure)

Jeux de résultatsResult Sets

AucuneNone

NotesRemarks

Utilisez sp_attach_single_file_db uniquement sur les bases de données qui ont été préalablement détachées du serveur à l’aide d’explicite sp_detach_db opération ou sur des bases de données copiées.Use sp_attach_single_file_db only on databases that were previously detached from the server by using an explicit sp_detach_db operation or on copied databases.

sp_attach_single_file_db fonctionne uniquement sur les bases de données qui ont un seul fichier journal.sp_attach_single_file_db works only on databases that have a single log file. Lorsque sp_attach_single_file_db attache la base de données sur le serveur, il crée un nouveau fichier journal.When sp_attach_single_file_db attaches the database to the server, it builds a new log file. Si la base de données est en lecture seule, le journal est créé au même endroit que le précédent.If the database is read-only, the log file is built in its previous location.

Note

Un instantané de base de données ne peut pas être détaché ni attaché.A database snapshot cannot be detached or attached.

N'utilisez pas cette procédure sur une base de données répliquée.Do not use this procedure on a replicated database.

PermissionsPermissions

Pour plus d’informations sur la gestion des autorisations lorsqu’une base de données est attachée, consultez CREATE DATABASE ( SQL Server Transact-SQL ) .For information about how permissions are handled when a database is attached, see CREATE DATABASE (SQL Server Transact-SQL).

ExemplesExamples

Dans l'exemple suivant, AdventureWorks2012AdventureWorks2012 est détaché, puis un des fichiers d' AdventureWorks2012AdventureWorks2012 est attaché au serveur actif.The following example detaches AdventureWorks2012AdventureWorks2012 and then attaches one file from AdventureWorks2012AdventureWorks2012 to the current server.

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\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_Data.mdf';  

Voir aussiSee Also

Attacher et détacher une base de données (SQL Server) Database Detach and Attach (SQL Server)
sp_detach_db ( Transact-SQL ) sp_detach_db (Transact-SQL)
sp_helpfile ( Transact-SQL ) sp_helpfile (Transact-SQL)
Procédures stockées système (Transact-SQL)System Stored Procedures (Transact-SQL)