Datendateien hinzufügen und ausgleichen - AWS Präskriptive Leitlinien

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Datendateien hinzufügen und ausgleichen

Die mitgelieferten SQL Server-Datenbanken EnterpriseOne können häufig von zusätzlichen Dateien profitieren. Zusätzliche Dateien ermöglichen einen optimalen Ausgleich zwischen Speicher- und Prozessorkernen. Das Ausgleichen der Dateien ist ein mehrstufiger Prozess. Viele dieser Schritte erfordern exklusiven Zugriff auf die Datenbankobjekte, sodass Sie andere Systeme, die auf die Datenbank zugreifen, offline ausführen müssten. EnterpriseOne

Berechnungen der Dateigröße abschließen

Um die passende Größe der Datenbankdateien zu ermitteln, untersuchen Sie zunächst die Größe der aktuellen ROW-Daten mithilfe der folgenden Abfrage.

USE JDE_PRIST920 SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0) AS SpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'

Führen Sie dann die folgenden Berechnungen durch und füllen Sie die Spalte Ihr Wert:

Linien Name Beispiel Ihr Wert Beschreibung
1 Aktuelle Größe der Zeile 1 TB Die Ergebnisse der vorherigen Abfrage.
2 Geplantes Wachstum 20 % Erwartetes Wachstum in den nächsten Monaten, einschließlich einer Sicherheitsmarge.
3 Erforderliche Größe 1,2 TB Zeile 1 multipliziert mit Zeile 2.
4 Anzahl der Dateien 8 Die Anzahl der angezielten Dateien.
5 Größe pro Datei 150 GB Zeile 3 geteilt durch Zeile 4.
6 Prozentsatz für automatisches Wachstum 10 % Die Größe für automatisches Wachstum. Für eine minimale Fragmentierung sind 10 % ein gutes Ziel.
7 Größe für die automatische Vergrößerung 15 GB Zeile 5 multipliziert mit Zeile 6.

Neue Dateien erstellen

Verwenden Sie das folgende Skript als Vorlage, um Dateien zur Datenbank hinzuzufügen. Ändern Sie die folgenden Parameter:

  • Ändern Sie JDE-PRIST920, um den Namen der Datenbank zu ändern, zu der Sie Dateien hinzufügen möchten.

  • Für NAME geben Sie den logischen Namen für jede Datei ein, die Sie hinzufügen möchten.

  • Für FILENAME geben Sie den physischen Namen für jede Datei ein, die Sie hinzufügen möchten.

  • Für FILEGROWTH verwenden Sie den Wert, den Sie in Zeile 7 der vorherigen Tabelle berechnet haben.

  • Für SIZE geben Sie den Wert aus Zeile 5 der vorherigen Tabelle an.

USE master; GO ALTER DATABASE JDE_PRIST920 MODIFY FILE (NAME = JDE_PRIST920_Data, FILEGROWTH = 15GB); GO ALTER DATABASE JDE_PRIST920 ADD FILE (NAME = JDE_PRIST920_Data2, FILENAME = 'M:\DATA\PRIST920_Data2.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data3, FILENAME = 'M:\DATA\PRIST920_Data3.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data4, FILENAME = 'M:\DATA\PRIST920_Data4.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data5, FILENAME = 'M:\DATA\PRIST920_Data5.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data6, FILENAME = 'M:\DATA\PRIST920_Data6.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data7, FILENAME = 'M:\DATA\PRIST920_Data7.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data8, FILENAME = 'M:\DATA\PRIST920_Data8.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_TEMP, FILENAME = 'M:\DATA\PRIST920_TEMP.ndf', SIZE=150GB, FILEGROWTH = 15GB) GO

Vorübergehende Leerung der MDF-Datei

Wenn die Dateien erstellt wurden, migrieren Sie die Daten von den MDF- zu den NDF-Dateien, indem Sie für jede Datei den folgenden Befehl ausführen. Passen Sie die Dateinamen an die Dateinamen in Ihrer Datenbank an.

USE JDE_PRIST920 DBCC SHRINKFILE (JDE_PRIST920_Data, EMPTYFILE)

Der EMPTYFILE-Befehl generiert einen Fehler, da einige Inhalte nicht in eine NDF-Datei verschoben werden können. Sie können diese Fehlermeldung ignorieren.

Fehlermeldung beim Leeren der MDF-Datei

Größenänderung der MDF-Datei

Führen Sie den folgenden Befehl aus, um die Größe der MDF-Datei auf die Zielgröße zu reduzieren. Passen Sie die Dateigröße so an, dass sie dem Wert aus Zeile 5 der Berechnung in der Tabelle entspricht.

JDE_PRIST920 DBCC SHRINKFILE (JDE_PRIST920_Data, 150000);

Gelegentlich schlägt der SHRINKFILE-Befehl aufgrund der Platzierung von Inhalten fehl, die nicht in eine NDF-Datei verschoben werden konnten. In diesem Fall müssen Sie möglicherweise den Befehl DBCC DBREINDEX ausführen, den Prozess erneut starten, um die Datei zu leeren, und den Vorgang SHRINKFILE erneut versuchen.

Bereinigen

Wenn die Zieldateien erstellt wurden und die MDF-Datei die richtige Größe hat, verwenden Sie den folgenden Befehl, um die Daten aus der TEMP-Datei zurück in die MDF-Datei zu migrieren. Passen Sie die Dateinamen an die Dateinamen in Ihrer Datenbank an.

DBCC SHRINKFILE (JDE_PRIST920_TEMP, EMPTYFILE)

Wenn die Datei leer ist, können Sie sie mit dem folgenden Befehl entfernen:

ALTER DATABASE JDE_PRIST920; REMOVE FILE JDE_PRIST920_TEMP;

Ergebnisse validieren

Führen Sie die folgenden Skripte aus, um die aktuelle Speicherauslastung der Datenbank nach dem Ausgleich zu überprüfen.

USE JDE_PRIST920 SELECT DB_NAME() AS DbName, type_desc, CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0 AS SpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'; SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0) AS TotalSpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'

Die Ausgabe sollte folgendermaßen oder ähnlich aussehen. Die Dateien werden selten perfekt ausbalanciert sein, da einige Inhalte nur in der MDF-Datei existieren können.

Überprüfen der Festplattenspeichernutzung nach dem Ausgleich