Replikacja do usługi Azure SQL Database
Dotyczy:Baza danych Azure SQL
Baza danych SQL w Fabric
Można skonfigurować usługę Azure SQL Database lub Fabric SQL Database jako subskrybenta powiadomień w jednokierunkowej topologii replikacji transakcyjnej lub migawkowej z SQL Server i Azure SQL Managed Instance.
Uwaga
W tym artykule opisano użycie replikacji transakcyjnej do wypychania danych do usługi Azure SQL Database lub usługi Fabric SQL Database. Ten artykuł ma zastosowanie w równym stopniu do usług Azure SQL Database i Fabric SQL Database, chyba że określono inaczej.
To nie jest związane z aktywną replikacją geograficzną, funkcją usługi Azure SQL Database, która umożliwia tworzenie kompletnych, możliwych do odczytu replik poszczególnych baz danych.
Obsługiwane konfiguracje
- Usługa Azure SQL Database lub baza danych SQL Fabric 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.
- Nie można umieścić bazy danych dystrybucji i agentów replikacji w bazie danych w usłudze Azure SQL Database.
- Obsługiwana jest replikacja migawkowa i jednokierunkowa transakcyjna. Replikacja transakcyjna peer-to-peer i replikacja scalania nie są obsługiwane.
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:
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.
Publikowanie w dowolnej usługi 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)
Publikowanie do Fabric SQL Database z bazy danych programu SQL Server jest obsługiwane przez następujące wersje programu SQL Server:
- SQL Server 2022 RTM CU12 i nowsze
Typy replikacji
Istnieją różne typy replikacji:
Replikacja | Azure SQL Database | Zarządzana instancja Azure SQL |
---|---|---|
Standardowa transakcyjna | Tak (tylko jako subskrybent) | Tak |
Migawka | Tak (tylko jako subskrybent) | Tak |
Replikacja łącząca | Nie | Nie |
Peer-to-peer | Nie | Nie |
Dwukierunkowa | Nie | Tak |
Subskrypcje z możliwością aktualizacji | Nie | Nie |
Uwagi
- Obsługiwane są tylko subskrypcje przesyłane do usługi Azure SQL Database.
- Replikację można skonfigurować przy użyciu programu SQL Server Management Studio lub wykonując instrukcje Transact-SQL na serwerze wydającym. Nie można skonfigurować replikacji przy użyciu witryny Azure Portal.
- Aby uwierzytelnić:
- Azure-Arc z włączoną obsługą serwerów SQL zezwalają na używanie replikacji uwierzytelniania Microsoft Entra ID.
- Replikacja może używać uwierzytelniania Microsoft Entra ID z service principal, aby połączyć się z bazą danych SQL Fabric.
- Replikacja może używać tylko loginy uwierzytelniania SQL Server do łączenia się z bazą danych 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
@subscriber_type = 0
jest obsługiwane wsp_addsubscription
dla bazy danych SQL. - Usługa Azure SQL Database nie obsługuje dwukierunkowej, natychmiastowej, aktualizowalnej ani równorzędnej replikacji.
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 Transact-SQL, aby utworzyć subskrypcję typu push 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 rozprowadzana oraz stosowana przez agenta dystrybucji. Za pomocą wydawcy usługi SQL Managed Instance możesz również użyć kopii zapasowej bazy danych, aby zasiać subskrybenta bazy danych Azure SQL.
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
Następujące opcje replikacji nie są obsługiwane przez usługę Azure SQL Database:
- Skopiuj skojarzenia grup plików
- Kopiowanie schematów partycjonowania tabel
- Kopiowanie schematów partycjonowania indeksów
- Kopiowanie statystyk zdefiniowanych przez użytkownika
- Kopiowanie powiązań domyślnych
- Skopiuj powiązania reguł
- Kopiowanie indeksów pełnotekstowych
- Skopiuj 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 hierarchyid 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ę Push przy użyciu nazwy serwera jako subskrybenta (na przykład 'azuresqldbdns.database.windows.net') i nazwy bazy danych Azure SQL Database jako docelowej bazy danych (na przykład AdventureWorks).