Replikacja do subskrybentów tabel zoptymalizowanych pod kątem pamięci

Dotyczy:SQL ServerAzure SQL Managed Instance

Tabele działające jako subskrybenci replikacji migawkowej i transakcyjnej, z wyłączeniem równorzędnej replikacji transakcyjnej, można skonfigurować jako tabele zoptymalizowane pod kątem pamięci. Inne konfiguracje replikacji nie są zgodne z tabelami zoptymalizowanymi pod kątem pamięci. 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 wartość Włącz optymalizację pamięci na wartość 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 zostaną zastosowane do momentu ponownego zainicjowania subskrypcji.

    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 kątem pamięci nie obsługują indeksów klastrowanych. Aby zapewnić obsługę replikacji przez przekonwertowanie go na indeks nieklastrowany w miejscu docelowym, ustaw wartość 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. Transakcyjna replikacja równorzędna nie jest obsługiwana.

Nie można opublikować tabel zoptymalizowanych pod kątem pamięci.

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

Replikacja scalania nie może zawierać tabel zoptymalizowanych pod kątem pamięci.

Po stronie subskrybenta tabele uczestniczące w replikacji transakcyjnej można skonfigurować jako tabele zoptymalizowane pod kątem pamięci, ale tabele subskrybenta muszą spełniać wymagania dotyczące tabel zoptymalizowanych pod kątem pamięci. Wymaga to następujących ograniczeń.

Modyfikowanie pliku schematu

  • Jeśli używasz opcji DURABILITY = SCHEMA_AND_DATA tabeli zoptymalizowanej pod kątem pamięci, tabela musi mieć nieklastrowany indeks klucza podstawowego.

  • ANSI_PADDING musi być włączona.