Sdílet prostřednictvím


sp_attach_single_file_db (Transact-SQL)

platí pro:SQL Server

Připojí databázi, která je pouze jedním datovým souborem, k aktuálnímu serveru. sp_attach_single_file_db Nelze použít s více datovými soubory.

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. Tento postup nepoužívejte na replikované databázi.

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.

Transact-SQL konvence syntaxe

Syntaxe

sp_attach_single_file_db
    [ @dbname = ] N'dbname'
    , [ @physname = ] N'physname'
[ ; ]

Arguments

[ @dbname = ] N'dbname'

Název databáze, která má být připojena k serveru. @dbname je sysname, bez výchozího nastavení.

[ @physname = ] N'fyzické jméno'

Fyzický název, včetně cesty, databázového souboru. @physname je nvarchar(260), bez výchozího nastavení.

Tento argument se zobrazuje na FILENAME parametr CREATE DATABASE tvrzení. 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ší serverové instanci 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

Používejte sp_attach_single_file_db pouze u databází, které byly dříve odpojeny od serveru pomocí explicitní sp_detach_db operace, nebo u zkopírovaných databází.

sp_attach_single_file_db Funguje pouze v databázích, které mají jeden logovací soubor. Když sp_attach_single_file_db připojí databázi k serveru, vytvoří nový logovací soubor. Pokud je databáze pouze pro čtení, logovací soubor se vytvoří na svém předchozím místě.

Poznámka:

Snímek databáze nelze oddělit ani připojit.

Tento postup nepoužívejte na replikované databázi.

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 odpojí AdventureWorks2025 a poté připojí jeden soubor na AdventureWorks2025 aktuální 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';