Zugriff auf die Datenbank tempdb in Microsoft-SQL-Server-DB-Instances in Amazon RDS - Amazon Relational Database Service

Zugriff auf die Datenbank tempdb in Microsoft-SQL-Server-DB-Instances in Amazon RDS

Sie können auf die tempdb-Datenbank auf Ihren Microsoft-SQL-Server-DB-Instances auf Amazon RDS zugreifen. Sie können Code auf tempdb mit Transact-SQL über Microsoft SQL Server Management Studio (SSMS) oder über eine andere Standard-SQL-Clientanwendung ausführen. Weitere Informationen zum Herstellen einer Verbindung zur DB-Instance finden Sie unter Herstellen einer Verbindung zu einer DB-Instance in der Microsoft SQL Server-Datenbank-Engine.

Der Hauptbenutzer der DB-Instance erhält CONTROL-Zugriff auf tempdb, so dass dieser Benutzer die tempdb-Datenbankoptionen ändern kann. Der Hauptbenutzer ist nicht der Besitzer der tempdb-Datenbank. Falls notwendig, kann der Hauptbenutzer anderen Benutzern den CONTROL-Zugriff gewähren, damit diese ebenfalls die tempdb-Datenbankoptionen ändern können.

Anmerkung

Für die tempdb-Datenbank können keine Datenbankkonsolenbefehle (Database Console Commands, DBCC) ausgeführt werden.

Ändern der Datenbankoptionen für tempdb

Sie können die Datenbankoptionen für die tempdb-Datenbank auf den Amazon-RDS-DB-Instances ändern. Weitere Informationen darüber, welche Optionen geändert werden können, finden Sie unter tempdb Database in der Microsoft-Dokumentation.

Datenbankoptionen wie z. B. die Optionen für die maximale Dateigröße bleiben nach einem Neustart der DB-Instance bestehen. Sie können die Datenbankoptionen ändern, um die Leistung beim Datenimport zu optimieren und um Speicherplatzmangel vorzubeugen.

Optimieren der Leistung beim Import von Daten

Setzen Sie die Eigenschaften SIZE und FILEGROWTH der Datenbank "tempdb" auf hohe Zahlenwerte, um beim Importieren von großen Datenmengen in die DB-Instance die Leistung zu optimieren. Weitere Informationen zur Optimierung von tempdb finden Sie unter Optimieren der Leistung von tempdb in der Microsoft-Dokumentation.

Im folgenden Beispiel wird die Größe auf 100 GB und das Datenwachstum auf 10 Prozent eingestellt.

alter database[tempdb] modify file (NAME = N'templog', SIZE=100GB, FILEGROWTH = 10%)

Vorbeugen von Speicherproblemen

Legen Sie einen Wert für die Eigenschaft tempdb fest, damit die MAXSIZE-Datenbank nicht den gesamten verfügbaren Speicherplatz belegt. Im folgenden Beispiel wird diese Eigenschaft auf 2048 MB festgelegt.

alter database [tempdb] modify file (NAME = N'templog', MAXSIZE = 2048MB)

Verkleinern der Datenbank tempdb

Es gibt zwei Möglichkeiten, um die tempdb-Datenbank auf der Amazon-RDS-DB-Instance zu verkleinern. Sie können die Prozedur rds_shrink_tempdbfile verwenden oder einen Wert für die Eigenschaft SIZE definieren.

Verwenden der Prozedur rds_shrink_tempdbfile

Mithilfe der Amazon-RDS-Prozedur msdb.dbo.rds_shrink_tempdbfile verkleinern Sie die tempdb-Datenbank. Sie können rds_shrink_tempdbfile nur aufrufen, wenn Sie CONTROL-Zugriff auf tempdb haben. Durch den Aufruf von rds_shrink_tempdbfile wird keine Betriebsunterbrechung der DB-Instance verursacht.

Die Prozedur rds_shrink_tempdbfile hat die folgenden Parameter.

Parametername Datentyp Standard Erforderlich Beschreibung

@temp_filename

SYSNAME

Erforderlich

Der logische Name der Datei, die verkleinert werden soll.

@target_size

int

Null

optional

Die neue Größe für diese Datei in Megabytes.

Im folgenden Beispiel werden die Namen der Dateien für die tempdb-Datenbank abgerufen.

use tempdb; GO select name, * from sys.sysfiles; GO

Im folgenden Beispiel wird eine tempdb-Datenbankdatei mit dem Namen test_file verkleinert und die neue Größe auf 10 MB festgelegt:

exec msdb.dbo.rds_shrink_tempdbfile @temp_filename = N'test_file', @target_size = 10;

Festlegen der Eigenschaft SIZE

Sie können die tempdb-Datenbank auch verkleinern, indem Sie die Eigenschaft SIZE festlegen und anschließend die DB-Instance neu starten. Weitere Informationen zum Neustart der DB-Instance finden Sie unter Neustarten einer DB-Instance.

Im folgenden Beispiel wird die Eigenschaft SIZE auf 1024 MB festgelegt.

alter database [tempdb] modify file (NAME = N'templog', SIZE = 1024MB)

Überlegungen zu Multi-AZ-Bereitstellungen

Sie sollten einige Punkte berücksichtigen, wenn sich Ihre Amazon-RDS-DB-Instance in einer Multi-AZ-Bereitstellung für Microsoft SQL Server mit Datenbankspiegelung oder AlwaysOn-Verfügbarkeitsgruppen befindet.

Die tempdb-Datenbank kann nicht repliziert werden. Die Daten, die Sie auf Ihrer primären Instance speichern, werden nicht auf der sekundären Instance repliziert.

Bei einer Änderung der Datenbankoptionen für die tempdb-Datenbank können Sie diese Änderungen mit einer der folgenden Methoden in der sekundären Datenbank erfassen:

  • Ändern Sie zuerst die DB-Instance und deaktivieren Sie Multi-AZ. Dann modifizieren Sie "tempdb" und aktivieren abschließend wieder Multi-AZ. Durch diese Methode entsteht keine Ausfallzeit.

    Weitere Informationen finden Sie unter Ändern einer Amazon RDS-DB-Instance.

  • Ändern Sie zuerst tempdb auf der ursprünglichen primären Instance, führen Sie dann manuell ein Failover durch, und ändern Sie dann tempdb auf der neuen primären Instance. Bei dieser Methode kommt es zu einem Ausfall.

    Weitere Informationen finden Sie unter Neustarten einer DB-Instance.