Replikacja do usługi Azure SQL Database
Dotyczy: Azure SQL Database
Usługę Azure SQL Database można skonfigurować jako subskrybenta wypychania w jednokierunkowej topologii replikacji transakcyjnej lub migawki z programu SQL Server i usługi Azure SQL Managed Instance.
Uwaga
W tym artykule opisano użycie replikacji transakcyjnej w usłudze Azure SQL Database. Nie jest ona powiązana z aktywną replikacją geograficzną — funkcją usługi Azure SQL Database, która umożliwia tworzenie kompletnych replik do odczytu poszczególnych baz danych.
Obsługiwane konfiguracje
- Usługa Azure SQL Database może być tylko subskrybentem wypychania wydawcy i dystrybutora programu SQL Server.
- Wystąpienie programu SQL Server działające jako wydawca i/lub dystrybutor może być wystąpieniem programu SQL Server uruchomionym lokalnie, wystąpienia zarządzanego Azure SQL lub wystąpieniem programu SQL Server uruchomionym na maszynie wirtualnej platformy Azure w chmurze.
- Bazy danych dystrybucji i agentów replikacji nie można umieścić w bazie danych w usłudze Azure SQL Database.
- Obsługiwane są replikacje migawki i jednokierunkowe transakcyjne. Nie są obsługiwane replikacje równorzędna transakcyjna i scalająca.
Wersje
Aby pomyślnie przeprowadzić replikację do bazy danych w usłudze Azure SQL Database, wydawcy i dystrybutory programu SQL Server muszą używać co najmniej jednej z następujących wersji:
Publikowanie w dowolnej usłudze Azure SQL Database z bazy danych programu SQL Server jest obsługiwane przez następujące wersje programu SQL Server:
- SQL Server 2016 i wersje nowsze
- SQL Server 2014 RTM CU10 (12.0.4427.24) lub SP1 CU3 (12.0.2556.4)
- SQL Server 2012 SP2 CU8 (11.0.5634.1) lub SP3 (11.0.6020.0)
Uwaga
Próba skonfigurowania replikacji przy użyciu nieobsługiwanej wersji może spowodować wystąpienie błędu MSSQL_REPL20084 (proces nie może nawiązać połączenia z subskrybentem) i MSSQL_REPL40532 (nie można otworzyć nazwy> serwera <żądanej podczas logowania. Logowanie nie powiodło się.).
Aby korzystać ze wszystkich funkcji usługi Azure SQL Database, musisz używać najnowszych wersji programu SQL Server Management Studio (SSMS) i narzędzi SQL Server Data Tools.
Typy replikacji
Istnieją różne typy replikacji:
Replikacja | Azure SQL Database | Wystąpienie zarządzane Azure SQL |
---|---|---|
Transakcyjna w warstwie Standardowa | Tak (tylko jako subskrybent) | Tak |
Migawka | Tak (tylko jako subskrybent) | Tak |
Scal replikację | Nie | Nie |
Komunikacja równorzędna | Nie | Nie |
Dwukierunkowa | Nie | Tak |
Subskrypcje z możliwością aktualizacji | Nie | Nie |
Uwagi
- Obsługiwane są tylko subskrypcje wypychane do usługi Azure SQL Database.
- Replikację można skonfigurować przy użyciu programu SQL Server Management Studio lub wykonując instrukcje Języka Transact-SQL w wydawcy. Nie można skonfigurować replikacji przy użyciu witryny Azure Portal.
- Replikacja może używać tylko identyfikatorów logowania uwierzytelniania programu SQL Server do nawiązywania połączenia z usługą Azure SQL Database.
- Zreplikowane tabele muszą mieć klucz podstawowy.
- Musisz mieć istniejącą subskrypcję platformy Azure.
- Subskrybent usługi Azure SQL Database może znajdować się w dowolnym regionie.
- Pojedyncza publikacja w programie SQL Server może obsługiwać zarówno subskrybentów usługi Azure SQL Database, jak i programu SQL Server (lokalnie i programu SQL Server na maszynie wirtualnej platformy Azure).
- Zarządzanie replikacją, monitorowanie i rozwiązywanie problemów muszą być wykonywane z programu SQL Server, a nie z usługi Azure SQL Database.
- Tylko w sp_addsubscription dla usługi SQL Database jest obsługiwana tylko
@subscriber_type = 0
ta usługa. - Usługa Azure SQL Database nie obsługuje replikacji dwukierunkowej, natychmiastowej, możliwej do zaktualizowania ani replikacji równorzędnej.
Architektura replikacji
Scenariusze
Typowy scenariusz replikacji
- Utwórz publikację replikacji transakcyjnej w bazie danych programu SQL Server.
- W programie SQL Server użyj Kreatora nowej subskrypcji lub instrukcji Języka Transact-SQL, aby utworzyć wypychanie do subskrypcji do usługi Azure SQL Database.
- W przypadku pojedynczych baz danych i baz danych w puli w usłudze Azure SQL Database początkowy zestaw danych to migawka utworzona przez agenta migawek i dystrybuowana i stosowana przez agenta dystrybucji. Za pomocą wydawcy usługi SQL Managed Instance możesz również użyć kopii zapasowej bazy danych, aby zainicjować subskrybenta usługi Azure SQL Database.
Scenariusz migracji danych
- Replikacja transakcyjna umożliwia replikowanie danych z bazy danych programu SQL Server do usługi Azure SQL Database.
- Przekieruj aplikacje klienta lub warstwy środkowej, aby zaktualizować kopię bazy danych.
- Zatrzymaj aktualizowanie wersji tabeli programu SQL Server i usuń publikację.
Ograniczenia
Replikacja z następującymi opcjami nie jest obsługiwana przez usługę Azure SQL Database:
- Kopiowanie skojarzenia grup plików
- Kopiowanie schematów partycjonowania tabel
- Kopiowanie schematów partycjonowania indeksu
- Kopiowanie statystyk zdefiniowanych przez użytkownika
- Kopiowanie powiązań domyślnych
- Kopiowanie powiązań reguły
- Kopiowanie indeksów pełnotekstowych
- Kopiowanie kodu XML XSD
- Kopiowanie indeksów XML
- Uprawnienia do kopiowania
- Kopiowanie indeksów przestrzennych
- Kopiowanie filtrowanych indeksów
- Kopiowanie atrybutu kompresji danych
- Kopiowanie atrybutu kolumny rozrzedzonej
- Konwertowanie strumienia plików na typy danych MAX
- Konwertowanie identyfikatora hierarchii na typy danych MAX
- Konwertowanie typów danych przestrzennych na typy MAX
- Kopiowanie właściwości rozszerzonych
Ograniczenia do określenia
- Sortowanie kopii
- Wykonywanie w serializowanej transakcji dostawcy usług
Przykłady
Utwórz publikację i subskrypcję wypychaną. Aby uzyskać więcej informacji, zobacz:
- Tworzenie publikacji
- Utwórz subskrypcję wypychaną przy użyciu nazwy serwera jako subskrybenta (na przykład N'azuresqldbdns.database.windows.net) i nazwy bazy danych Azure SQL Database jako docelowej bazy danych (na przykład AdventureWorks).