Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Připojí databázi k serveru.
Důležité
Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Doporučujeme vám místo toho využít CREATE DATABASE <database_name> FOR ATTACH . Další informace naleznete v tématu CREATE DATABASE. Pro obnovení více logovacích souborů, když jeden nebo více mají nové umístění, použijte CREATE DATABASE <database_name> FOR ATTACH_REBUILD_LOG.
Nepřipojujte ani neobnovujte databáze z neznámých nebo nedůvěryhodných zdrojů. Takové databáze můžou obsahovat škodlivý kód, který by mohl spouštět nezamýšlené Transact-SQL kód nebo způsobit chyby úpravou schématu nebo fyzické struktury databáze. Před použitím databáze z neznámého nebo nedůvěryhodného zdroje spusťte DBCC CHECKDB v databázi na neprodukčním serveru a také zkontrolujte kód, jako jsou uložené procedury nebo jiný uživatelem definovaný kód v databázi.
Syntaxe
sp_attach_db
[ @dbname = ] N'dbname'
, [ { @filename1 ... @filename16 } = ] { N'*filename1*' ... N'*filename16*' }
[ ; ]
Arguments
[ @dbname = ] N'dbname'
Název databáze, která má být připojena k serveru. @dbname je sysname, bez výchozího nastavení.
[ { ... @filename1@filename16 } = ] { N'filename1' ... N'filename16' }
Fyzický název, včetně cesty, databázového souboru. Tento parametr je nvarchar(260), s výchozím hodnotou NULL. Můžete zadat až 16 názvů souborů. Názvy parametrů začínají na @filename1 a postupně se zvyšují na @filename16. Seznam jmen souborů musí obsahovat alespoň primární soubor (.mdf). Primární soubor obsahuje systémové tabulky, které ukazují na jiné soubory v databázi. Seznam musí také obsahovat soubory, které byly přesunuty po odpojení databáze.
Tento parametr se mapuje na FILENAME parametr tvrzení.CREATE DATABASE Další informace naleznete v tématu CREATE DATABASE.
Poznámka:
Když připojíte databázi SQL Server 2005 (9.x) obsahující plnotextové katalogové soubory k novší verzi SQL Serveru, katalogové soubory jsou připojeny z jejich předchozího umístění spolu s ostatními databázovými soubory, stejně jako v SQL Server 2005 (9.x). Pro více informací viz Upgrade Full-Text Search.
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Sada výsledků
Žádné.
Poznámky
Uložená procedura sp_attach_db by měla být vykonávána pouze na databázích, které byly dříve odděleny od databázového serveru pomocí explicitní sp_detach_db operace, nebo na zkopírovaných databázích. Pokud musíte zadat více než 16 souborů, použijte CREATE DATABASE <database_name> FOR ATTACH nebo CREATE DATABASE <database_name> FOR_ATTACH_REBUILD_LOG. Další informace naleznete v tématu CREATE DATABASE.
Každý nespecifikovaný soubor se předpokládá, že je na svém posledním známém místě. Pro použití souboru na jiném místě musíte zadat nové umístění.
V dřívějších verzích nelze připojit databázi vytvořenou novější verzí SQL Serveru.
Poznámka:
Snímek databáze nelze oddělit ani připojit.
Když připojujete replikovanou databázi, která byla zkopírována místo oddělení, zvažte následující podmínky:
Pokud připojíte databázi ke stejné instanci a verzi serveru jako původní databázi, nejsou potřeba další kroky.
Pokud databázi připojíte ke stejné instanci serveru, ale s upgradovanou verzí, musíte po dokončení operace připojení provést sp_vupgrade_replication upgradovat replikaci.
Pokud databázi připojíte k jiné instanci serveru bez ohledu na verzi, musíte po dokončení operace připojení provést sp_removedbreplication odebrat replikaci.
Když je databáze poprvé připojena nebo obnovena do nové instance SQL Serveru, kopie hlavního klíče databáze (DMK) – zašifrovaná hlavním klíčem služby (SMK) – ještě není uložena na serveru. Musíte použít OPEN MASTER KEY příkaz k dešifrování DMK. Jakmile je DMK dešifrován, máte možnost v budoucnu povolit automatické dešifrování tím, že příkazem ALTER MASTER KEY REGENERATE poskytnete serveru kopii DMK zašifrovanou SMK. Když je databáze aktualizována z dřívější verze, DMK by měla být znovu generována pro použití novějšího algoritmu AES. Další informace o opětovném vygenerování DMK naleznete v tématu ALTER MASTER KEY. Doba potřebná k opětovnému vygenerování klíče DMK pro upgrade na AES závisí na počtu objektů chráněných dmK. Opětovné vygenerování klíče DMK pro upgrade na AES je nezbytné pouze jednou a nemá žádný vliv na budoucí regeneraci v rámci strategie obměny klíčů.
Povolení
Pro informace o tom, jak jsou oprávnění spracovávána při připojení databáze, viz VYTVOŘIT DATABÁZI.
Examples
Následující příklad připojuje soubory z AdventureWorks2025 aktuálního serveru.
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';
Související obsah
- Odpojení a připojení databáze (SQL Server)
- sp_detach_db (Transact-SQL)
- sp_helpfile (Transact-SQL)
- sp_removedbreplication (Transact-SQL)
- uložené procedury systému (Transact-SQL)