Update: Der verwendete Speicherplatz in der Tempdb-Datenbank kontinuierlich, wenn Sie eine Abfrage ausführen, die Objekten in der Datenbank Tempdb in SQL Server 2005 erstellt

Fehler #: 50002301 (SQL Hotfix)
Microsoft stellt Updates für Microsoft SQL Server 2005 als downloadbare Datei. Da die kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in früheren SQL Server 2005 enthalten waren.

Problembeschreibung

Microsoft SQL Server 2005 ausführen eine Abfrage, die Objekten in der Datenbank Tempdb erstellt. Ausführung die Abfrage häufig erhöht verwendeten Speicherplatzes in der Datenbank Tempdb fortlaufend. Schließlich wird die Tempdb -Datenbank. Darüber hinaus müssen Sie SQL Server-Dienst die Tempdb -Datenbank bereinigen neu starten.

Wenn dieses Problem auftritt, führen Sie die folgende Anweisung für die Tempdb -Datenbank oft.
SELECT SUM(internal_object_reserved_page_count) AS [internal object pages used],(SUM(internal_object_reserved_page_count)*1.0/128) AS [internal object space in MB]
FROM sys.dm_db_file_space_usage;

Wenn Sie dies tun, erhöht den Wert der Internal_object_reserved_page_count-Spalte bei jedem Ausführen dieser Anweisung.

Dann Fragen Sie dynamische Verwaltungsansicht sys.dm_db_session_space_usage. Wenn Sie dies tun, erhöht den Wert der Spalte Internal_objects_alloc_page_count ohne den Wert der Internal_objects_dealloc_page_count-Spalte.

Ursache

Bei jedem Ausführen der Abfrage erstellt SQL Server interne Objekte in der Datenbank Tempdb . Unter bestimmten Umständen SQL Server nicht die Seiten freigeben, die für interne Objekte in der Datenbank Tempdb reserviert.

Problemlösung

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 6 veröffentlicht. Weitere Informationen zu diesem kumulativen Updatepaket für SQL Server 2005 Service Pack 2 finden Sie im folgenden Artikel der Microsoft Knowledge Base:
946608 kumulative Updatepaket 6 für SQL Server 2005 Service Pack 2
Hinweis Da diese Builds kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in früheren SQL Server 2005 enthalten waren. Microsoft empfiehlt, dass Sie prüfen die neueste Update-Version, die diesen Hotfix enthält. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
937137 der SQL Server 2005 erstellt, die nach der Freigabe von SQL Server 2005 Service Pack 2 veröffentlicht wurden
Microsoft SQL Server 2005-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen SQL Server 2005 Service Pack 2-Hotfix eine Installation von SQL Server 2005 Service Pack 2 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack bereitgestellt wird, in einem nächsten Servicepack für SQL Server enthalten.

Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Weitere Informationen

Weitere Informationen eine vollständige Liste der Vorgänge, die internen Objekte verwenden, finden Sie auf der folgenden Microsoft-Websites:Bestimmen die problematische Sitzung IDs (SPID), die Seiten in der Datenbank Tempdb zu reservieren können Sie Ringpuffer Zuordnung überprüfen. Dazu müssen Sie zunächst das Ablaufverfolgungsflag 1106 aktivieren. Das Ablaufverfolgungsflag 1106 ist standardmäßig nicht aktiviert. Anschließend führen Sie die folgende Anweisung in der Datenbank Tempdb die Zuweisung und Freigabe-Informationen anzeigen.
SELECT record.value('(Record/@id)[1]', 'int') AS record_id,
CONVERT (varchar, DATEADD (ms, -1 * ((inf.cpu_ticks / inf.cpu_ticks_in_ms) - [timestamp]), GETDATE()), 126) AS EventTime,
[timestamp] ,
record.value('(Record/@id)[1]', 'int') AS RingBuffer_Record_Id,
record.value('(Record/ALLOC/Event)[1]', 'int') AS AllocationEventType,
record.value('(Record/ALLOC/SpId)[1]', 'int') AS SpId,
record.value('(Record/ALLOC/EcId)[1]', 'int') AS EcId,
record.value('(Record/ALLOC/PageId)[1]', 'nvarchar(50)') AS AllocatedPageId,
record.value('(Record/ALLOC/AuId)[1]', 'nvarchar(50)') AS AllocationUnitId,
record.value('(Record/ALLOC/LsId)[1]', 'nvarchar(50)') AS LsId
FROM sys.dm_os_sys_info inf CROSS JOIN (
SELECT timestamp, CONVERT (xml, record) AS record
FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = 'RING_BUFFER_ALLOC_TRACE'
AND ( record LIKE '%<Event>23</Event>%' -- uniform extent allocation
OR record LIKE '%<Event>22</Event>%' -- uniform extent deallocation
OR record LIKE '%<Event>24</Event>%' -- mixed extent allocation
OR record LIKE '%<Event>25</Event>%' -- mixed extent deallocation
OR record LIKE '%<Event>10</Event>%' -- page allocation
OR record LIKE '%<Event>11</Event>%' -- page deallocation
)) AS t
ORDER BY record.value('(Record/@id)[1]', 'int') ASC

Vergleicht diese Informationen mit den Informationen aus SQL Server Profiler, die Abfragen Seiten zuweisen und die Seiten in der Datenbank Tempdb nicht freigeben.

Hinweis Wir empfehlen Ablaufverfolgungsflag 1106 nicht da Ablaufverfolgungsflag 1106 wirkt sich auf die Leistung von SQL Server zu verwenden.

Weitere Dateien geändert werden und Informationen zu Komponenten das kumulative Updatepaket anwenden, das den Hotfix enthalten, der im Microsoft Knowledge Base-Artikel beschrieben, klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:
946608 kumulative Updatepaket 6 für SQL Server 2005 Service Pack 2

Referenzen

Informationen zur Liste der Builds, die nach SQL Server Service Pack 2 verfügbar sind, klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:
937137 der SQL Server 2005 erstellt, die nach der Freigabe von SQL Server 2005 Service Pack 2 veröffentlicht wurden
Weitere Informationen zum inkrementellen Dienstmodell für SQL Server klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:
935897 erläutert wird ein inkrementelles Dienstmodell steht der SQL Server-Team zu Hotfixes für gemeldete Probleme
Weitere Informationen zu SQL Server 2005 Service Pack 2 finden Sie im folgenden Artikel der Microsoft Knowledge Base:
913089 so erhalten Sie das neueste Servicepack für SQL Server 2005
Weitere Informationen zu neuen Funktionen und Optimierungen in SQL Server 2005 Service Pack 2 finden Sie auf der folgenden Microsoft-Website:Weitere Informationen zum Benennungsschema für SQL Server-Updates klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:
Neues Benennungsschema für Microsoft SQL Server-Software 822499 Pakete aktualisieren
Um weitere Informationen zur Terminologie für Softwareupdates zu erhalten, klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:
824684 Erläuterung von der standardmäßigen Standardbegriffen bei Microsoft Softwareupdates
Eigenschaften

Artikelnummer: 947204 – Letzte Überarbeitung: 14.01.2017 – Revision: 1

Feedback