Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Możesz wykorzystać bazę danych w trybie lustrzanym, którą utrzymujesz dla zapewnienia dostępności, aby odciążyć raportowanie. Aby użyć bazy danych lustrzanej do raportowania, możesz utworzyć migawkę na bazie danych lustrzanej i kierować żądania połączeń od klientów do najnowszej migawki. Migawka bazy danych to statyczna, transakcyjnie spójna migawka tylko do odczytu źródłowej bazy danych, która odzwierciedla stan bazy danych w momencie jej utworzenia. Aby utworzyć migawkę bazy danych w dublowanej bazie danych, baza danych musi być w stanie zsynchronizowanego dublowania.
W przeciwieństwie do samej lustrzanej bazy danych, migawka bazy danych jest dostępna dla klientów. Tak długo, jak serwer lustrzany komunikuje się z serwerem głównym, można kierować klientów raportujących, aby połączyć się z migawką. Należy pamiętać, że ponieważ migawka bazy danych jest statyczna, nowe dane nie są dostępne. Aby udostępnić stosunkowo najnowsze dane użytkownikom, należy okresowo utworzyć nową migawkę bazy danych i skierować przychodzące połączenia klientów na najnowszą migawkę za pomocą aplikacji.
Nowy zrzut bazy danych jest prawie pusty, ale z czasem rośnie, gdy coraz więcej stron bazy danych jest aktualizowanych za pierwszym razem. Ponieważ każda migawka bazy danych zwiększa się przyrostowo, każda migawka bazy danych zużywa tyle zasobów, jak zwykła baza danych. W zależności od konfiguracji serwera lustrzanego i serwera głównego, nadmierna liczba migawek bazy danych w bazie danych lustrzanej może zmniejszyć wydajność bazy danych głównej. Dlatego zalecamy zachowywanie tylko kilku względnie nowych migawek w bazach danych lustrzanych. Zazwyczaj po utworzeniu migawki zastępczej należy przekierować przychodzące zapytania do nowej migawki i usunąć wcześniejszą migawkę po zakończeniu wszystkich bieżących zapytań.
Uwaga / Notatka
Aby uzyskać więcej informacji na temat migawek bazy danych, zobacz Migawki bazy danych (SQL Server).
W przypadku przełączenia roli baza danych i jej migawki zostaną uruchomione ponownie, tymczasowo rozłączając użytkowników. Następnie migawki bazy danych pozostają w instancji serwera, gdzie zostały utworzone, która stała się nową główną bazą danych. Użytkownicy mogą nadal używać migawek po przejściu w tryb failover. Jednak spowoduje to dodatkowe obciążenie nowego serwera głównego. Jeśli wydajność jest problemem w Twoim środowisku, zalecamy utworzenie migawki w nowej lustrzanej bazie danych, gdy stanie się ona dostępna, przekierowanie klientów do nowej migawki i usunięcie wszystkich migawek bazy danych z poprzedniej lustrzanej bazy danych.
Uwaga / Notatka
W przypadku dedykowanego rozwiązania do raportowania, które dobrze skaluje się w poziomie, rozważ replikację. Aby uzyskać więcej informacji, zobacz Replikacja programu SQL Server.
Example
W tym przykładzie są tworzone migawki w zreplikowanej bazie danych.
Załóżmy, że baza danych w sesji dublowania baz danych to AdventureWorks2025. W tym przykładzie tworzone są trzy migawki bazy danych na kopii lustrzanej bazy danych AdventureWorks, która znajduje się na dysku F. Migawki mają nazwy AdventureWorks_0600, AdventureWorks_1200 i AdventureWorks_1800, aby zidentyfikować ich przybliżone czasy tworzenia.
Utwórz pierwszą migawkę bazy danych na lustrzanej kopii
AdventureWorks2025.CREATE DATABASE AdventureWorks_0600 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_0600.SNP') AS SNAPSHOT OF AdventureWorks2022Utwórz drugą migawkę bazy danych na odbiciu
AdventureWorks2025. Użytkownicy, którzy nadal używająAdventureWorks_0600, mogą nadal z niego korzystać.CREATE DATABASE AdventureWorks_1200 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1200.SNP') AS SNAPSHOT OF AdventureWorks2022W tym momencie nowe połączenia klienta mogą być programowo kierowane do najnowszej migawki.
Utwórz trzecią migawkę na lustrze
AdventureWorks2025. Użytkownicy, którzy nadal używająAdventureWorks_0600lubAdventureWorks_1200mogą nadal ich używać.CREATE DATABASE AdventureWorks_1800 ON (NAME = 'datafile', FILENAME = 'F:\AdventureWorks_1800.SNP') AS SNAPSHOT OF AdventureWorks2022W tym momencie nowe połączenia klienta mogą być programowo kierowane do najnowszej migawki.
Powiązane zadania
Zobacz też
Migawki bazy danych (SQL Server)
Łączenie klientów z sesją dublowania bazy danych (SQL Server)