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
Soubory protokolů dat a transakcí databáze je možné odpojit a pak je znovu připojit ke stejné nebo jiné instanci SQL Serveru. Odpojení a připojení databáze je užitečné, pokud chcete databázi změnit na jinou instanci SQL Serveru na stejném počítači nebo přesunout databázi.
Povolení
Oprávnění k přístupu k souborům se nastavují během několika databázových operací, včetně odpojení nebo připojení databáze.
Důležité
Doporučujeme nepřiložit nebo obnovit 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. Než použijete databázi z neznámého nebo nedůvěryhodného zdroje, spusťte na databázi na neprodukčním serveru databázi dbCC CHECKDB (Transact-SQL) a také zkontrolujte kód, jako jsou uložené procedury nebo jiný uživatelem definovaný kód v databázi.
Odpojení databáze
Odpojení databáze ji odebere z instance SQL Serveru, ale ponechá databázi nedotčenou ve svých datových souborech a souborech transakčních protokolů. Tyto soubory lze pak použít k připojení databáze k jakékoli instanci SQL Serveru, včetně serveru, ze kterého byla databáze odpojena.
Databázi nemůžete odpojit, pokud platí některá z následujících možností:
Databáze se replikuje a publikuje. Pokud se replikuje, musí být databáze nepublikovaná. Než ho budete moct odpojit, musíte publikování zakázat spuštěním sp_replicationdboption.
Poznámka:
Pokud nemůžete použít
sp_replicationdboption, můžete replikaci odstranit spuštěním sp_removedbreplication.Na databázi existuje snímek databáze.
Než můžete databázi odpojit, musíte odstranit všechny její snímky. Další informace najdete v tématu Smazání snímku databáze (Transact-SQL).
Poznámka:
Snímek databáze nelze oddělit ani připojit.
Databáze je součástí skupiny dostupnosti AlwaysOn.
Databázi nejde odpojit, dokud ji neodeberete ze skupiny dostupnosti. Další informace najdete v tématu Odebrání primární databáze ze skupiny dostupnosti AlwaysOn.
Databáze se zrcadlí v relaci zrcadlení databáze.
Databázi nelze odpojit, dokud není relace ukončena. Pro více informací viz Odstranění zrcadlení databáze (SQL Server).
Databáze je podezřelá. Podezřelá databáze se nedá odpojit. než ho budete moct odpojit, musíte ho umístit do nouzového režimu. Další informace o tom, jak umístit databázi do režimu tísňového volání, naleznete v tématu ALTER DATABASE (Transact-SQL).
Databáze je systémová databáze.
Zálohování, obnovení a odpojení
Odpojení databáze jen pro čtení ztratí informace o rozdílových základech rozdílových záloh. Další informace naleznete v tématu rozdílové zálohování (SQL Server).
Reakce na chyby odpojení
Chyby vygenerované při odpojení databáze mohou zabránit tomu, aby se databáze zavřela čistě a transakční protokol se znovu sestavil. Pokud se zobrazí chybová zpráva, proveďte následující opravné akce:
Znovu připojte všechny soubory přidružené k databázi, nejen primární soubor.
Vyřešte problém, který způsobil chybovou zprávu.
Odpojte databázi znovu.
Připojení databáze
Můžete připojit zkopírovanou nebo odpojenou databázi SQL Serveru. Když připojíte databázi SYSTÉMU SQL Server 2005 (9.x), která obsahuje soubory fulltextového katalogu k instanci serveru SQL Server, soubory katalogu jsou připojeny z předchozího umístění spolu s ostatními databázovými soubory, stejně jako v SYSTÉMU SQL Server 2005 (9.x). Další informace naleznete v tématu Upgrade Full-Text Vyhledávání.
Při připojování databáze musí být k dispozici všechny datové soubory (.mdf a .ndf soubory). Pokud má některý datový soubor jinou cestu než při prvním vytvoření nebo posledním připojení databáze, musíte zadat aktuální cestu k souboru.
Poznámka:
Pokud je připojený primární datový soubor jen pro čtení, databázový stroj předpokládá, že databáze je jen pro čtení.
Při prvním připojení šifrované databáze k instanci SQL Serveru musí vlastník databáze otevřít hlavní klíč databáze (DMK) spuštěním následujícího příkazu: OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password' Doporučujeme povolit automatické dešifrování dmK spuštěním následujícího příkazu: ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY. Další informace naleznete v tématu CREATE MASTER KEY (Transact-SQL) a ALTER MASTER KEY (Transact-SQL).
Požadavek na připojení souborů protokolu částečně závisí na tom, jestli je databáze pro čtení a zápis nebo jen pro čtení, a to následujícím způsobem:
Pro databázi pro čtení i zápis můžete obvykle připojit soubor protokolu v novém umístění. V některých případech ale opětovné připojení databáze vyžaduje jeho existující soubory protokolu. Proto je důležité vždy ponechat všechny odpojené soubory protokolu, dokud databáze nebude úspěšně připojena bez nich.
Pokud databáze pro čtení i zápis obsahuje jeden soubor protokolu a nezadáte pro soubor protokolu nové umístění, operace připojení bude vypadat ve starém umístění souboru. Pokud se najde starý soubor protokolu, použije se bez ohledu na to, zda byla databáze vypnuta čistě. Pokud se ale starý soubor protokolu nenajde a databáze byla čistě vypnutá a nemá žádný aktivní řetěz protokolů, operace připojení se pokusí vytvořit nový soubor protokolu pro databázi.
Pokud je připojený primární datový soubor jen pro čtení, databázový stroj předpokládá, že databáze je jen pro čtení. Pro databázi jen pro čtení musí být soubor protokolu nebo soubory dostupné v umístění určeném v primárním souboru databáze. Nový soubor protokolu nejde sestavit, protože SQL Server nemůže aktualizovat umístění protokolu uloženého v primárním souboru.
Změny metadat při připojování databáze
Při odpojení databáze jen pro čtení a následné opětovné připojení se informace o zálohování aktuální rozdílové základny ztratí.
Rozdílová základna je nejnovější úplné zálohování všech dat v databázi nebo v podmnožině souborů nebo skupin souborů databáze. Bez informací master o základním zálohování se databáze stane nesynchronizovanou s databází určenou jen pro čtení, takže rozdílové zálohy, které byly následně pořízeny, můžou poskytovat neočekávané výsledky. Proto pokud používáte rozdílové zálohy s databází jen pro čtení, měli byste vytvořit novou rozdílovou základnu tak, že po opětovném připojení databáze vytvoříte úplnou zálohu. Informace o rozdílových zálohách najdete v tématu Rozdílové zálohy (SQL Server).
Při připojení dojde k spuštění databáze. Připojení databáze ji obvykle umístí do stejného stavu, ve kterém byla při odpojení nebo zkopírování. Operace připojení a odpojení však obě deaktivují řetězení vlastnictví napříč databázemi. Informace o tom, jak povolit řetězení vlastnictví mezi databázemi, najdete v odstavci Možnost konfigurace serveru.
Důležité
Ve výchozím nastavení a pro zabezpečení jsou možnosti is_broker_enabled, is_honor_broker_priority_on a is_trustworthy_on vždy vypnuté při připojení databáze. Informace o tom, jak tyto možnosti nastavit, naleznete v tématu ALTER DATABASE (Transact-SQL). Další informace o metadatech naleznete v tématu Správa metadat při zpřístupnění databáze na jiném serveru.
Zálohování, obnovení a připojení
Stejně jako všechny databáze, které jsou plně nebo částečně offline, není možné připojit databázi s obnovovacími soubory. Pokud zastavíte sekvenci obnovení, můžete databázi připojit. Potom můžete restartovat sekvenci obnovení.
Připojení databáze k jiné instanci serveru
Důležité
V dřívějších verzích nelze připojit databázi vytvořenou novější verzí SQL Serveru. To brání fyzickému použití databáze se starší verzí databázového stroje. Týká se to ale stavu metadat a nemá vliv na úroveň kompatibility databáze. Další informace naleznete v tématu ALTER DATABASE (Transact-SQL) úroveň kompatibility.
Pokud chcete uživatelům a aplikacím poskytnout konzistentní prostředí, budete muset při připojení databáze k jiné instanci serveru znovu vytvořit některá nebo všechna metadata pro databázi v jiné instanci serveru. Tato metadata zahrnují například přihlášení a úlohy. Další informace naleznete v tématu Správa metadat při zpřístupnění databáze na jiném serveru.
Související úkoly
| Task | Article |
|---|---|
| Odpojení databáze |
-
sp_detach_db (Transact-SQL) - Odpojit databázi |
| Připojení databáze |
-
CREATE DATABASE - Připojení databáze - sp_attach_db (Transact-SQL) - sp_attach_single_file_db (Transact-SQL) |
| Aktualizace databáze pomocí operací odpojení a připojení | - Aktualizace databáze pomocí odpojení a připojení (Transact-SQL) |
| Přesun databáze pomocí operací odpojení a připojení | - Přesunutí databáze pomocí odpojení a připojení (Transact-SQL) |
| Odstranění snímku databáze | - Odstranění snímku databáze (Transact-SQL) |