Wyłączanie kompresji danych SQL Server w bazach danych Azure DevOps Server

W tym artykule opisano sposób wyłączania kompresji danych SQL Server w bazach danych Azure DevOps Server.

Oryginalna wersja produktu: Microsoft Azure DevOps Server
Oryginalny numer KB: 2712111

Podsumowanie

Azure DevOps Server została zaprojektowana tak, aby korzystać z funkcji Enterprise Edition SQL, takich jak kompresja stron, która nie jest dostępna w innych wersjach SQL Server. Podczas przenoszenia co najmniej jednej bazy danych Azure DevOps Server z Enterprise Edition SQL Server do Enterprise Edition SQL Server (na przykład w ramach operacji odłączania/dołączania kolekcji) konieczne jest wyłączenie tej kompresji.

Aby wyłączyć kompresję w Azure DevOps Server bazach danych, można wykonać względem [dbo].[prc_EnablePrefixCompression] niego. Ta procedura składowana ma parametr , który powinien być ustawiony na wartość true, @onlinejeśli chcesz wyłączyć kompresję podczas korzystania z bazy danych kolekcji za pośrednictwem wdrożenia Azure DevOps Server, ale w przeciwnym razie można ustawić wartość false, aby przyspieszyć operację. W obu przypadkach kroki wykonania tej procedury składowanej będą następujące:

  1. Uruchom SQL Server Management Studio.

  2. Znajdź Azure DevOps Server bazy danych, które zostaną przeniesione. Kliknij prawym przyciskiem myszy bazę danych i wybierz pozycję Nowe zapytanie.

  3. Wpisz jedną z następujących czynności:

    EXEC [dbo].[prc_EnablePrefixCompression] @online = 0, @disable = 1
    
    EXEC [dbo].[prc_EnablePrefixCompression] @online = 1, @disable = 1
    

    Uwaga

    W zależności od tego, czy zamierzasz nadal korzystać z bazy danych podczas wyłączania kompresji, czy nie.

  4. Uruchom (wykonaj) zapytanie i sprawdź powodzenie w obszarze komunikatów.

  5. Powtórz kroki od 1 do 4 dla wszystkich wymaganych baz danych, które zostaną przeniesione.

Wyłączenie kompresji wymaga dodatkowego miejsca na dysku. Poniższe zapytanie, które można wykonać przy użyciu tych samych kroków, co powyżej, zapewni oszacowanie ilości dodatkowego miejsca na dysku, które będzie wymagane po wyłączeniu kompresji.

select sum(used_page_count) * 8 * 2 /1024.0
from sys.partitions p
join sys.dm_db_partition_stats s
on s.partition_id = p.partition_id
and s.object_id = p.object_id
and s.index_id = p.index_id
where p.data_compression_desc = 'page'

Uwaga

  1. Rozmiar zwrócony przez powyższe zapytanie jest wyrażony w megabajtach (MB).
  2. Zaleca się uruchomienie tego zapytania względem każdego Azure DevOps Server baz danych przed wyłączeniem kompresji danych, a następnie upewnienie się, że ilość miejsca na dysku będzie dostępna przed faktycznym wyłączeniem kompresji.

Więcej informacji

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.