

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.

# Zugriff auf die Datenbank tempdb in Microsoft-SQL-Server-DB-Instances in Amazon RDS
<a name="SQLServer.TempDB"></a>

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 mit Ihrer DB-Instance von Microsoft SQL Server](USER_ConnectToMicrosoftSQLServerInstance.md). 

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
<a name="SQLServer.TempDB.Modifying"></a>

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](https://msdn.microsoft.com/en-us/library/ms190768%28v=sql.120%29.aspx) 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
<a name="SQLServer.TempDB.Modifying.Import"></a>

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](https://technet.microsoft.com/en-us/library/ms175527%28v=sql.120%29.aspx) in der Microsoft-Dokumentation.

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

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

## Vorbeugen von Speicherproblemen
<a name="SQLServer.TempDB.Modifying.Full"></a>

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. 

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

# Verkleinern der Datenbank tempdb
<a name="SQLServer.TempDB.Shrinking"></a>

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\$1shrink\$1tempdbfile
<a name="SQLServer.TempDB.Shrinking.Proc"></a>

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.

```
1. use tempdb;
2. GO
3. 
4. select name, * from sys.sysfiles;
5. GO
```

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

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

## Festlegen der Eigenschaft SIZE
<a name="SQLServer.TempDB.Shrinking.Size"></a>

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 [Eine DB-Instance DB-Cluster neu starten](USER_RebootInstance.md).

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

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

# TempDB-Konfiguration für Multi-AZ-Bereitstellungen
<a name="SQLServer.TempDB.MAZ"></a>

Sie sollten einige Punkte zur Verwendung der `tempdb`-Datenbank berücksichtigen, wenn sich Ihre DB-Instance von RDS für SQL Server in einer Multi-AZ-Bereitstellung mit Datenbankspiegelung oder Always-On-Verfügbarkeitsgruppen befindet.

Sie können keine `tempdb`-Daten von Ihrer primären DB-Instance auf Ihre sekundäre DB-Instance replizieren. Wenn Sie ein Failover zu einer sekundären DB-Instance durchführen, ist `tempdb` auf dieser sekundären DB-Instance leer.

Sie können die Konfiguration der `tempdb`-Datenbankoptionen, einschließlich der Einstellungen für Dateigröße und automatische Erweiterung, von Ihrer primären DB-Instance mit Ihrer sekundären DB-Instance synchronisieren. Die Synchronisation der `tempDB`-Konfiguration wird auf allen Versionen von RDS für SQL Server unterstützt. Sie können die automatische Synchronisation der `tempdb`-Konfiguration mithilfe der folgenden gespeicherten Prozedur aktivieren:

```
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'TempDbFile';
```

**Wichtig**  
Bevor Sie die gespeicherte Prozedur `rds_set_system_database_sync_objects` verwenden, stellen Sie sicher, dass Sie Ihre bevorzugte `tempdb`-Konfiguration auf Ihrer primären DB-Instance und nicht auf Ihrer sekundären DB-Instance festgelegt haben. Wenn Sie die Konfigurationsänderung auf Ihrer sekundären DB-Instance vorgenommen haben, könnte Ihre bevorzugte `tempdb`-Konfiguration gelöscht werden, wenn Sie die automatische Synchronisation aktivieren.

Sie können die folgende Funktion verwenden, um zu überprüfen, ob die automatische Synchronisation der `tempdb`-Konfiguration aktiviert ist:

```
SELECT * from msdb.dbo.rds_fn_get_system_database_sync_objects();
```

Wenn die automatische Synchronisation der `tempdb`-Konfiguration aktiviert ist, wird ein Wert für das Feld `object_class` zurückgegeben. Wenn sie deaktiviert ist, wird kein Wert zurückgegeben.

Sie können die folgende Funktion verwenden, um zu ermitteln, wann Objekte zuletzt synchronisiert wurden (in (UTC):

```
SELECT * from msdb.dbo.rds_fn_server_object_last_sync_time();
```

Wenn Sie beispielsweise die `tempdb`-Konfiguration um 01:00 Uhr geändert und dann die Funktion `rds_fn_server_object_last_sync_time` ausgeführt haben, sollte der für `last_sync_time` zurückgegebene Wert nach 01:00 Uhr liegen, was darauf hinweist, dass eine automatische Synchronisation stattgefunden hat.

Wenn Sie auch die Auftragsreplikation von SQL Server Agent verwenden, können Sie die Replikation sowohl für SQL-Agent-Aufträge als auch für die `tempdb`-Konfiguration aktivieren, indem Sie sie im Parameter `@object_type` angeben:

```
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'SQLAgentJob,TempDbFile';
```

Weitere Informationen zur Auftragsreplikation von SQL Server Agent finden Sie unter [Aktivieren der Auftragsreplikation von SQL Server Agent](Appendix.SQLServer.CommonDBATasks.Agent.md#SQLServerAgent.Replicate).

Als Alternative zur Verwendung der gespeicherten Prozedur `rds_set_system_database_sync_objects`, um sicherzustellen, dass `tempdb`-Konfigurationsänderungen automatisch synchronisiert werden, können Sie eine der folgenden manuellen Methoden verwenden:

**Anmerkung**  
Wir empfehlen, die automatische Synchronisation der `tempdb`-Konfiguration mithilfe der gespeicherten Prozedur `rds_set_system_database_sync_objects` zu aktivieren. Durch die automatische Synchronisation müssen Sie diese manuellen Aufgaben nicht jedes Mal ausführen, wenn Sie Ihre `tempdb`-Konfiguration ändern.
+ Ä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](Overview.DBInstance.Modifying.md). 
+ Ä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 [Eine DB-Instance DB-Cluster neu starten](USER_RebootInstance.md).