Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Bifogar en databas till en server.
Viktigt!
Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Vi rekommenderar att du använder CREATE DATABASE <database_name> FOR ATTACH det istället. Mer information finns i SKAPA DATABAS. För att bygga om flera loggfiler när en eller flera har en ny plats, använd CREATE DATABASE <database_name> FOR ATTACH_REBUILD_LOG.
Koppla inte till eller återställ databaser från okända eller opålitliga källor. Sådana databaser kan innehålla skadlig kod som kan köra oavsiktlig Transact-SQL kod eller orsaka fel genom att ändra schemat eller den fysiska databasstrukturen. Innan du använder en databas från en okänd eller obetrodd källa kör du DBCC CHECKDB på databasen på en icke-produktionsserver och undersöker även koden, till exempel lagrade procedurer eller annan användardefinierad kod, i databasen.
Syntax
sp_attach_db
[ @dbname = ] N'dbname'
, [ { @filename1 ... @filename16 } = ] { N'*filename1*' ... N'*filename16*' }
[ ; ]
Arguments
[ @dbname = ] N'dbname'
Namnet på databasen som ska kopplas till servern. @dbname är sysname, utan standard.
[ { @filename1 ... @filename16 } = ] { N'filnamn1' ... N'filename16' }
Det fysiska namnet, inklusive sökväg, på en databasfil. Denna parameter är nvarchar(260), med standardvärdet .NULL Du kan ange upp till 16 filnamn. Parameternamnen börjar på @filename1 och ökar till @filename16. Filnamnslistan måste innehålla minst den primära filen (.mdf). Den primära filen innehåller systemtabeller som pekar på andra filer i databasen. Listan måste också inkludera filer som flyttats efter att databasen avkopplats.
Denna parameter motsvarar parametern FILENAME i satsen CREATE DATABASE . Mer information finns i SKAPA DATABAS.
Anmärkning
När du kopplar en SQL Server 2005 (9.x)-databas som innehåller fulltextkatalogfiler till en nyare version av SQL Server, bifogas katalogfilerna från sin tidigare plats tillsammans med de andra databasfilerna, precis som i SQL Server 2005 (9.x). För mer information, se Uppgradera Full-Text Sök.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Resultatuppsättning
Ingen.
Anmärkningar
Den lagrade sp_attach_db proceduren bör endast utföras på databaser som tidigare var frånkopplade från databasservern genom en explicit sp_detach_db operation eller på kopierade databaser. Om du måste ange fler än 16 filer, använd CREATE DATABASE <database_name> FOR ATTACH eller CREATE DATABASE <database_name> FOR_ATTACH_REBUILD_LOG. Mer information finns i SKAPA DATABAS.
Varje ospecificerad fil antas vara på sin senaste kända plats. För att använda en fil på en annan plats måste du ange den nya platsen.
En databas som skapats av en nyare version av SQL Server kan inte kopplas i tidigare versioner.
Anmärkning
En databassnapshot kan inte kopplas loss eller bifogas.
När du bifogar en replikerad databas som kopierats istället för att vara frånkopplad, överväg följande villkor:
Om du kopplar databasen till samma serverinstans och version som den ursprungliga databasen krävs inga ytterligare steg.
Om du kopplar databasen till samma serverinstans men med en uppgraderad version måste du köra sp_vupgrade_replication för att uppgradera replikeringen när anslutningsåtgärderna har slutförts.
Om du kopplar databasen till en annan serverinstans, oavsett version, måste du köra sp_removedbreplication för att ta bort replikeringen när anslutningsåtgärden har slutförts.
När en databas först kopplas till eller återställs till en ny instans av SQL Server lagras ännu inte en kopia av databasens huvudnyckel (DMK) – krypterad av tjänstehuvudnyckeln (SMK) – i servern. Du måste använda satsen OPEN MASTER KEY för att dekryptera DMK. När DMK har dekrypterats har du möjlighet att aktivera automatisk dekryptering i framtiden genom att använda satsen ALTER MASTER KEY REGENERATE för att ge servern en kopia av DMK, krypterad med SMK. När en databas uppgraderas från en tidigare version bör DMK genereras om för att använda den nyare AES-algoritmen. Mer information om hur du återskapar DMK finns i ALTER MASTER KEY. Den tid det tar att återskapa DMK-nyckeln för att uppgradera till AES beror på antalet objekt som skyddas av DMK. Det är bara nödvändigt att återskapa DMK-nyckeln för att uppgradera till AES en gång och har ingen effekt på framtida regenereringar som en del av en nyckelrotationsstrategi.
Permissions
För information om hur behörigheter hanteras när en databas är kopplad, se SKAPA DATABAS.
Examples
Följande exempel bifogar filer från AdventureWorks2025 den aktuella servern.
EXECUTE sp_attach_db
@dbname = N'AdventureWorks2022',
@filename1 = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Data\AdventureWorks2022_Data.mdf',
@filename2 = N'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Data\AdventureWorks2022_log.ldf';