Sdílet prostřednictvím


Zrcadlení databáze a snímky databáze (SQL Server)

platí pro:SQL Server

Pokud chcete odlehčit reportování, můžete využít zrcadlovou databázi, kterou udržujete za účelem zajištění dostupnosti. Pokud chcete použít zrcadlovou databázi pro vytváření sestav, můžete vytvořit snímek databáze na zrcadlové databázi a směrovat žádosti klientů o připojení k nejnovějšímu snímku. Snímek databáze je statický, pouze pro čtení, transakčně konzistentní záznam zdrojové databáze v podobě, v jaké existovala v okamžiku vytvoření snímku. Pokud chcete vytvořit snímek databáze na zrcadlové databázi, musí být databáze ve stavu synchronizovaného zrcadlení.

Na rozdíl od samotné zrcadlové databáze je snímek databáze přístupný klientům. Pokud zrcadlový server komunikuje s hlavním serverem, můžete klientům generování sestav nasměrovat připojení k snímku. Mějte na paměti, že vzhledem k tomu, že snímek databáze je statický, nejsou nová data k dispozici. Pokud chcete uživatelům zpřístupnit relativně nedávná data, musíte pravidelně vytvářet nový snímek databáze a aplikace směrovat příchozí klientská připojení k nejnovějšímu snímku.

Nový snímek databáze je téměř prázdný, ale postupně roste s tím, jak se aktualizuje více stránek databáze poprvé. Vzhledem k tomu, že každý snímek v databázi postupně roste, každý snímek databáze spotřebovává tolik prostředků jako normální databáze. V závislosti na konfiguracích zrcadlového serveru a hlavního serveru může nadměrné množství snímků databáze na zrcadlové databázi snížit výkon hlavní databáze. Proto doporučujeme zachovat jen několik relativně nedávných snímků v zrcadlových databázích. Po vytvoření náhradního snímku byste obvykle měli příchozí dotazy přesměrovat na nový snímek a po dokončení aktuálních dotazů vynechat předchozí snímek.

Poznámka:

Další informace o snímcích databáze najdete v tématu Snímky databáze (SQL Server).

Pokud dojde k přepnutí role, databáze a její snímky se restartují, dočasně odpojí uživatele. Snímky databáze pak zůstanou na instanci serveru, ve které byly vytvořeny, což se stalo novou hlavní databází. Uživatelé můžou snímky dál používat i po převzetí služeb. Tím se ale na nový hlavní server načte další zatížení. Pokud ve vašem prostředí představuje výkon problém, doporučujeme vytvořit snímek na nové zrcadlové databázi, jakmile bude k dispozici, přesměrovat klienty na tento nový snímek a odstranit všechny snímky databází z původní zrcadlové databáze.

Poznámka:

Pro dedikované řešení pro vytváření sestav, které se dobře škáluje, zvažte replikaci. Další informace naleznete v tématu Replikace SQL Serveru.

Example

Tento příklad vytvoří snímky v zrcadlené databázi.

Předpokládejme, že databáze relace pro zrcadlení databází je AdventureWorks2025. Tento příklad vytvoří tři snímky databáze na zrcadlové kopii AdventureWorks databáze, která se nachází na F jednotce. Snímky jsou pojmenovány AdventureWorks_0600, AdventureWorks_1200a AdventureWorks_1800 identifikovat jejich přibližné časy vytváření.

  1. Vytvořte první snímek databáze na zrcadle AdventureWorks2025.

    CREATE DATABASE AdventureWorks_0600  
    ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_0600.SNP')  
       AS SNAPSHOT OF AdventureWorks2022  
    
  2. Vytvořte druhý snímek databáze na zrcadleníAdventureWorks2025. Uživatelé, kteří ho stále používají AdventureWorks_0600 , ho můžou dál používat.

    CREATE DATABASE AdventureWorks_1200  
    ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1200.SNP')  
       AS SNAPSHOT OF AdventureWorks2022  
    

    V tuto chvíli je možné nová připojení klientů směrovat programově na nejnovější snímek.

  3. Vytvořte třetí snímek na zrcadle AdventureWorks2025. Uživatelé, kteří je stále používají AdventureWorks_0600 nebo AdventureWorks_1200 můžou dál používat.

    CREATE DATABASE AdventureWorks_1800  
    ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1800.SNP')  
        AS SNAPSHOT OF AdventureWorks2022  
    

    V tuto chvíli je možné nová připojení klientů směrovat programově na nejnovější snímek.

Související úkoly

Viz také

Snímky databáze (SQL Server)
Připojení klientů k relaci zrcadlení databáze (SQL Server)