SQL Server 2008 Kompression und Volltext Indizierung kontrollieren

Im Rahmen des Kölner SQL Server 2000/2005 nach 2008 Migrations-Workshop kamen zwei Fragen auf, die ich im Nachgang noch beantworten möchte.

1. Welchen Einfluss hat die Komprimierung auf den Plattenplatzbedarf in der jeweiligen Datenbank?

Bei der Tabellen Kompression wird zunächst eine Schattentabelle in der Datenbank erzeugt, die die Daten in komprimierter Form auf nimmt. Ist die Kompression abgeschlossen, wird die originale Tabelle umbenannt und die komprimierte Tabelle bekommt den Namen der originalen Tabelle. Danach wir die Ursprungstabelle gelöscht. Wir groß der zusätzlich Plattenplatz während des Kompression ist ergibt sich aus dem Wert der Größe der originalen Tabelle + geschätzte Größe der komprimierten Tabelle = insgesamt notwendiger Plattenplatzbedarf.

Mit der Stored Procedure sp_estimate_data_compression_savings kann das Einsparungspotential abgeschätzt werden, siehe folgendes Beispiel:

USE AdventureWorks;
GO
EXEC sp_estimate_data_compression_savings 'Produktion', 'AuftragsHistorie', NULL, NULL, 'PAGE';

Markus Fischer hatte bereits hier den Link zu dem Kompressions-Whitepaper für den SQL Server 2008 veröffentlicht. Hier der Link zur Sicherheit noch einmal: https://msdn.microsoft.com/en-us/library/dd894051.aspx

2. Kann die Volltext Indizierung im SQL Server mit dem Resource Governor gesteuert werden?

Der Resource Governor kann den Voltext Indexing Prozess nicht kontrollieren, da es sich um einen Hintergrund Task handelt. Windows System Resource Manager kann diese Aufgabe jedoch übernehmen. Anmerkung: Der WSRM ist eine Feature des Windows Servers 2008. Bis Windows Server 2003 nur über separate Installation in der Enterprise Edition enthalten.
Die Volltext Abfragen können aber sehr wohl vom Resource Governor kontrolliert werden – wie jede andere Abfrage auch.
Siehe auch https://msdn.microsoft.com/en-us/library/ms142541.aspx  

-Ralph Kemperdick