Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Voegt een database toe die slechts één databestand bevat aan de huidige server.
sp_attach_single_file_db Kan niet met meerdere databestanden worden gebruikt.
Belangrijk
Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. We raden aan om het in plaats daarvan te gebruiken CREATE DATABASE <database_name> FOR ATTACH . Zie CREATE DATABASEvoor meer informatie. Gebruik deze procedure niet op een gerepliceerde database.
Koppel geen databases aan of herstel deze niet van onbekende of onbetrouwbare bronnen. Dergelijke databases kunnen schadelijke code bevatten die onbedoelde Transact-SQL code kan uitvoeren of fouten kan veroorzaken door het schema of de structuur van de fysieke database te wijzigen. Voordat u een database van een onbekende of niet-vertrouwde bron gebruikt, voert u DBCC CHECKDB- uit op de database op een niet-productieserver en onderzoekt u ook de code, zoals opgeslagen procedures of andere door de gebruiker gedefinieerde code, in de database.
Transact-SQL syntaxis-conventies
Syntaxis
sp_attach_single_file_db
[ @dbname = ] N'dbname'
, [ @physname = ] N'physname'
[ ; ]
Arguments
[ @dbname = ] N'dbname'
De naam van de database die aan de server gekoppeld moet worden. @dbname is een systeemnaam, zonder standaard.
[ @physname = ] N'physname'
De fysieke naam, inclusief pad, van het databasebestand. @physname is nvarchar(260), zonder standaard.
Dit argument is gekoppeld aan de FILENAME parameter van de CREATE DATABASE uitspraak. Zie CREATE DATABASEvoor meer informatie.
Opmerking
Wanneer je een SQL Server 2005 (9.x) database met full-text catalogusbestanden toevoegt aan een nieuwere serverinstantie van SQL Server, worden de catalogusbestanden van hun vorige locatie gekoppeld samen met de andere databasebestanden, net als in SQL Server 2005 (9.x). Voor meer informatie, zie Upgrade Full-Text Search.
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Resultaatset
Geen.
Opmerkingen
sp_attach_single_file_db Gebruik alleen op databases die eerder losgekoppeld waren van de server door een expliciete sp_detach_db bewerking te gebruiken of op gekopieerde databases.
sp_attach_single_file_db Werkt alleen op databases die één logbestand hebben. Wanneer sp_attach_single_file_db de database aan de server wordt gekoppeld, wordt er een nieuw logbestand aangemaakt. Als de database alleen-lezen is, wordt het logbestand op de vorige locatie gebouwd.
Opmerking
Een databasesnapshot kan niet worden losgekoppeld of toegevoegd.
Gebruik deze procedure niet op een gerepliceerde database.
Permissions
Voor informatie over hoe machtigingen worden behandeld wanneer een database wordt toegevoegd, zie DATABASE AANMAKEN.
Voorbeelden
Het volgende voorbeeld koppelt AdventureWorks2025 en voegt vervolgens één bestand toe aan AdventureWorks2025 de huidige server.
USE master;
GO
EXECUTE sp_detach_db @dbname = 'AdventureWorks2022';
EXECUTE sp_attach_single_file_db
@dbname = 'AdventureWorks2022',
@physname = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Data\AdventureWorks2022_Data.mdf';