tempdb-Datenbank in Parallel Data Warehouse
tempdb ist eine SQL Server-PDW-Systemdatenbank, in der lokale temporäre Tabellen für Benutzerdatenbanken gespeichert werden. Temporäre Tabellen werden häufig verwendet, um die Abfrageleistung zu verbessern. Sie können beispielsweise eine temporäre Tabelle verwenden, um ein Skript zu modularisieren und berechnete Daten wiederzuverwenden.
Weitere Informationen zu Systemdatenbanken finden Sie unter Systemdatenbanken.
Wichtige Begriffe und Konzepte
lokale temporäre Tabelle
Eine lokale temporäre Tabelle verwendet das Präfix #vor dem Tabellennamen und ist eine temporäre Tabelle, die von einer lokalen Benutzersitzung erstellt wird. Jede Sitzung kann nur auf die Daten in lokalen temporären Tabellen für eine eigene Sitzung zugreifen.
Jede Sitzung kann die Metadaten für lokale temporäre Tabellen in allen Sitzungen anzeigen. Beispielsweise können alle Sitzungen die Metadaten für alle lokalen temporären Tabellen mit der SELECT * FROM tempdb.sys.tables
Abfrage anzeigen.
Globale temporäre Tabelle
Globale temporäre Tabellen, die in SQL Server mit der ##-Syntax unterstützt werden, werden in dieser Version von SQL Server PDW nicht unterstützt.
pdwtempdb
pdwtempdb ist die Datenbank, in der lokale temporäre Tabellen gespeichert werden.
PDW implementiert keine temporären Tabellen mithilfe der SQL Servertempdb-Datenbank . Stattdessen speichert PDW sie in einer Datenbank namens pdwtempdb. Diese Datenbank ist auf jedem Computeknoten vorhanden und für den Benutzer über die PDW-Schnittstellen unsichtbar. In der Admin-Konsole wird auf der Speicherseite diese in einer PDW-Systemdatenbank mit dem Namen tempdb-sql berücksichtigt.
tempdb
tempdb ist die SQL Server tempdb-Datenbank. Es verwendet minimale Protokollierung. SQL Server verwendet tempdb auf den Computeknoten, um temporäre Tabellen zu speichern, die sie im Laufe der Ausführung von SQL Server-Vorgängen benötigt.
SQL Server PDW legt Tabellen aus tempdb ab, wenn:
Die DROP TABLE-Anweisung wird ausgeführt.
Eine Sitzung wird getrennt. Es werden nur temporäre Tabellen für die Sitzung verworfen.
Das Anwendung wird heruntergefahren.
Der Knoten "Steuerelement" verfügt über ein Clusterfailover.
Allgemeine Hinweise
SQL Server PDW führt dieselben Vorgänge für temporäre Tabellen und permanente Tabellen aus, sofern nicht explizit anders angegeben. Beispielsweise werden die Daten in lokalen temporären Tabellen wie permanente Tabellen entweder verteilt oder über die Computeknoten repliziert.
Einschränkungen
Einschränkungen und Einschränkungen für die SQL Server PDWtempdb-Datenbank . Sie können folgende Aktionen nicht ausführen:
Erstellen Sie eine globale temporäre Tabelle, die mit ## beginnt.
Führen Sie eine Sicherung oder Wiederherstellung von tempdb aus.
Ändern Sie Berechtigungen für tempdb mit den Anweisungen GRANT, DENY oder REVOKE .
Führen Sie DBCC SHRINKLOG für tempdb tempdbaus.
Führen Sie DDL-Vorgänge auf tempdb aus. Es gibt einige Ausnahmen davon. Ausführliche Informationen finden Sie in der folgenden Liste der Einschränkungen und Einschränkungen für lokale temporäre Tabellen.
Einschränkungen und Einschränkungen für lokale temporäre Tabellen. Sie können folgende Aktionen nicht ausführen:
Umbenennen einer temporären Tabelle
Erstellen Sie Partitionen, Ansichten oder nicht gruppierte Indizes in einer temporären Tabelle. ALTER INDEX kann zum Neuerstellen eines gruppierten Indexes für eine mit einer Tabelle erstellte Tabelle verwendet werden.
Ändern Sie Berechtigungen für temporäre Tabellen mit den Anweisungen GRANT, DENY oder REVOKE.
Führen Sie Datenbankkonsolenbefehle für temporäre Tabellen aus.
Verwenden Sie denselben Namen für zwei oder mehr temporäre Tabellen innerhalb desselben Batches. Wenn in einem Batch mehrere lokale temporäre Tabellen verwendet werden, muss jede einen eindeutigen Namen aufweisen. Wenn mehrere Sitzungen denselben Batch ausführen und dieselbe lokale temporäre Tabelle erstellen, fügt SQL Server PDW intern ein numerisches Suffix an den lokalen temporären Tabellennamen an, um Standard einen eindeutigen Namen für jede lokale temporäre Tabelle zu enthalten.
Hinweis
Sie können Statistiken für eine temporäre Tabelle erstellen und aktualisieren.ALTER INDEX kann verwendet werden, um einen gruppierten Index neu zu erstellen.
Berechtigungen
Jeder Benutzer ist berechtigt, temporäre Objekte in tempdb zu erstellen. Benutzer haben nur Zugriff auf ihre eigenen Objekte, es sei denn, ihnen wurden zusätzliche Berechtigungen zugewiesen. Die CONNECT-Berechtigung für tempdb kann widerrufen werden, um Benutzer daran zu hindern, die tempdb-Datenbank zu verwenden. Von diesem Schritt wird jedoch abgeraten, da einige Routinevorgänge auf die Verwendung von tempdb angewiesen sind.
Related Tasks
Aufgaben | Beschreibung |
---|---|
Erstellen Sie eine Tabelle in tempdb. | Sie können eine temporäre Benutzertabelle mit den CREATE TABLE- und CREATE TABLE AS SELECT-Anweisungen erstellen. Weitere Informationen finden Sie unter CREATE TABLE und CREATE TABLE AS SELECT. |
Anzeigen einer Liste vorhandener Tabellen in tempdb. | SELECT * FROM tempdb.sys.tables; |
Anzeigen einer Liste vorhandener Spalten in tempdb. | SELECT * FROM tempdb.sys.columns; |
Anzeigen einer Liste vorhandener Objekte in tempdb. | SELECT * FROM tempdb.sys.objects; |