Replikacja do tabeli Subscribers zoptymalizowanej pod kątem pamięci

Dotyczy:SQL ServerAzure SQL Managed Instance

Możesz skonfigurować tabele pełniące rolę subskrybentów replikacji migawkowej i replikacji transakcyjnej, z wyjątkiem replikacji transakcyjnej peer-to-peer, jako tabele zoptymalizowane pod kątem pamięci. Tabele zoptymalizowane pod względem pamięci nie są kompatybilne z innymi konfiguracjami replikacji. Ta funkcja jest dostępna od SQL Server 2016 (13.x).

Wymagane są dwie konfiguracje

Aby skonfigurować tabelę zoptymalizowaną pod kątem pamięci jako subskrybenta

  1. Utwórz publikację transakcyjną. Aby uzyskać więcej informacji, zobacz Tworzenie publikacji.

  2. Dodaj artykuły do publikacji. Aby uzyskać więcej informacji, zobacz Define an Article(Definiowanie artykułu).

    W przypadku konfigurowania przy użyciu Transact-SQL ustaw parametr @schema_option procedury składowanej sp_addarticle na
    0x40000000000.

  3. W oknie właściwości artykułu ustaw opcję Włącz optymalizację pamięci na true.

  4. Uruchom zadanie Snapshot Agent, aby wygenerować początkową migawkę dla tej publikacji. Aby uzyskać więcej informacji, zobacz Tworzenie i stosowanie migawki początkowej.

  5. Teraz utwórz nową subskrypcję. W Kreatorze nowej subskrypcji ustaw wartość Subskrypcja zoptymalizowana pod kątem pamięci na wartość true.

Tabele zoptymalizowane pod kątem pamięci powinny teraz zacząć otrzymywać aktualizacje od wydawcy.

Ponowne konfigurowanie istniejącej replikacji transakcji

  1. Przejdź do właściwości subskrypcji w programie Management Studio i ustaw pozycję Subskrypcja zoptymalizowana pod kątem pamięci na wartość true. Zmiany nie są wprowadzane, dopóki nie zainicjalizujesz subskrypcji ponownie.

    W przypadku konfigurowania przy użyciu Transact-SQL ustaw nowy parametr @memory_optimized procedury składowanej sp_addsubscription na true.

  2. Przejdź do właściwości artykułu publikacji w programie Management Studio i ustaw opcję Włącz optymalizację pamięci na wartość true.

    W przypadku konfigurowania przy użyciu Transact-SQL ustaw parametr @schema_option procedury składowanej sp_addarticle na
    0x40000000000.

  3. Tabele zoptymalizowane pod pamięć nie obsługują klastrowanych indeksów. Aby replikacja obsłużyła to ograniczenie przez przekonwertowanie indeksu na indeks nieklastrowany w miejscu docelowym, ustaw opcję Konwertuj indeks klastrowany na nieklastrowany dla artykułu zoptymalizowanego pod kątem pamięci na wartość true.

    W przypadku konfigurowania przy użyciu Transact-SQL ustaw parametr @schema_option procedury składowanej sp_addarticle na 0x0000080000000000.

  4. Ponownie utwórz zrzut.

  5. Ponowne inicjowanie subskrypcji.

Uwagi i ograniczenia

Obsługiwana jest tylko jednokierunkowa replikacja transakcyjna. Replikacja transakcyjna peer-to-peer nie jest obsługiwana.

Nie możesz publikować tabel zoptymalizowanych pod pamięć.

Nie można skonfigurować tabel replikacji na dystrybutorze jako tabel zoptymalizowanych pod kątem pamięci.

Nie można uwzględnić tabel zoptymalizowanych pod pamięć w replikacji scalania.

U subskrybenta można skonfigurować tabele uczestniczące w replikacji transakcyjnej jako zoptymalizowane pod kątem pamięci, ale tabele subskrybenta muszą spełniać wymagania dotyczące tabel zoptymalizowanych pod kątem pamięci. Ten wymóg nakłada następujące ograniczenia:

Modyfikowanie pliku schematu

  • Jeśli użyjesz opcji DURABILITY = SCHEMA_AND_DATAtabeli zoptymalizowanej pod pamięć , tabela musi mieć nieklasterowany indeks klucza głównego.

  • ANSI_PADDING musi mieć wartość ON.