suchen
HeimDatenbankMySQL-Tutorial Tempdb initial size和dbcc shrinkfile

Tempdb initial size和dbcc shrinkfile 在使用sql server时您可能遇到过下面的情况,tempdb的数据文件初始大小为3mb, 随着对tempdb的使用,tempdb文件逐渐变得很大(例如30GB),导致了磁盘空间不足。 此时您需要立刻释放tempdb文件所占用的空间,这时你会

Tempdb initial size和dbcc shrinkfile

在使用sql server时您可能遇到过下面的情况,tempdb的数据文件初始大小为3mb, 随着对tempdb的使用,tempdb文件逐渐变得很大(例如30GB),导致了磁盘空间不足。 此时您需要立刻释放tempdb文件所占用的空间,这时你会有两个选择:

  • 重启SQL Server。大家都知道SQL Server重启时会创建一个新的tempdb。由于tempdb的initial size并不会随着文件大小的增长而增长,重启SQL Server就会创建一个新的3MB的tempdb。
  • 使用DBCC命令收缩tempdb的大小。如果当前tempdb实际被使用到的空间其实不大,只是文件尺寸很大的话,您可能会考虑使用dbcc shrinkfile来收缩tempdb。通常情况下,这种方案是可行。但是您需要警惕一个潜在的风险。下面是我最近遇到的一个实际的案例。
  •  

    客户尝试使用dbcc shrinkfile依然无法收缩,但发现tempdb大小没有变化,仍然是30GB。客户搜索到了下面的这篇文章:

    Shrink TempDB Transaction Log fails after overflow

     

    于是尝试使用dbcc freesystemcache('ALL') , 然后使用dbcc shrinkfile,但发现tempdb仍然无法收缩。遇到这样情况可能是因为在使用dbcc freesystemcache('ALL')时,依然有session在引用tempdb,所以无法清除所有的internal objects,导致无法收缩。于是客户决定重启sql server。奇怪的是,SQL Server重启后,客户发现tempdb没有变回初始大小的3mb,而是依旧保持了30GB的尺寸。打开SSMS查看tempdb的初始大小,非常奇怪的,initial size变成了30GB…

       

       

    为什么会出现这样的结果呢?原因是dbcc shrinkfile会把tempdb的initial size设置为语句运行完之后tempdb文件的当前大小。所以当shrinkfile没能成功收缩tempdb时,tempdb的initial size就变成了30GB,即使重启SQL Server, tempdb依旧还是占用了30GB的空间。

       

    因此在执行dbcc shrinkfile前要千万小心咯。你需要确保没有session引用tempdb的情况下执行dbcc freesystemcache('ALL'), 之后再进行收缩。如果无法保证,那么就只能通过执行alter database,将initial size缩小,然后重启SQL Server来收缩tempdb了。Alter database语句如下:

    name='tempdev',size=10mb)

    请注意,如果指定的size小于当前大小,文件是不会缩小的,但initial size会变成指定的size.

       

    更多信息

    ===

     

    上述讨论所的知识点和技巧都是针对tempdb的,请不要将其应用于user database。关于user database的情况我会在后续的文章里介绍。

    posted on

    Stellungnahme
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    MySQLs Rolle: Datenbanken in WebanwendungenMySQLs Rolle: Datenbanken in WebanwendungenApr 17, 2025 am 12:23 AM

    Die Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

    MySQL: Erstellen Sie Ihre erste DatenbankMySQL: Erstellen Sie Ihre erste DatenbankApr 17, 2025 am 12:22 AM

    Zu den Schritten zum Erstellen einer MySQL -Datenbank gehören: 1. Erstellen einer Datenbank und Tabelle, 2. Daten einfügen, und 3. Durchführen von Abfragen. Verwenden Sie zunächst die Anweisungen für erstellte und creatEtable, um die Datenbank und Tabelle zu erstellen, und verwenden Sie dann die Anweisung InsertInto, um die Daten einzulegen, und verwenden Sie schließlich die Auswahlanweisung, um die Daten abzufragen.

    MySQL: Ein anfängerfreundlicher Ansatz zur DatenspeicherungMySQL: Ein anfängerfreundlicher Ansatz zur DatenspeicherungApr 17, 2025 am 12:21 AM

    MySQL ist für Anfänger geeignet, da es einfach zu bedienen und leistungsfähig ist. 1.Mysql ist eine relationale Datenbank und verwendet SQL für CRUD -Operationen. 2. Es ist einfach zu installieren und erfordert, dass das Stammbenutzerkennwort konfiguriert wird. 3.. Verwenden Sie Einfügen, Aktualisieren, Löschen und Wählen Sie, um Datenvorgänge auszuführen. 4. OrderBy, wo und Join kann für komplexe Abfragen verwendet werden. 5. Debugging erfordert die Überprüfung der Syntax und verwenden Sie Erklärungen zur Analyse der Abfrage. 6. Die Optimierungsvorschläge umfassen die Verwendung von Indizes, die Auswahl des richtigen Datentyps und der guten Programmiergewohnheiten.

    Ist MySQL Anfänger-freundlich? Bewertung der LernkurveIst MySQL Anfänger-freundlich? Bewertung der LernkurveApr 17, 2025 am 12:19 AM

    MySQL ist für Anfänger geeignet, weil: 1) Einfach zu installieren und konfigurieren, 2) Rich Learning Resources, 3) Intuitive SQL -Syntax, 4) leistungsstarke Toolunterstützung. Anfänger müssen jedoch Herausforderungen wie Datenbankdesign, Abfrageoptimierung, Sicherheitsmanagement und Datensicherung überwinden.

    Ist SQL eine Programmiersprache? Klärung der TerminologieIst SQL eine Programmiersprache? Klärung der TerminologieApr 17, 2025 am 12:17 AM

    Ja, sqlisaprogrammingLuagespezialisierteForDatamanagement.1) Es ist dieklarativ, fokussierte Waagewhattoachieveratherthanhow.2)

    Erklären Sie die Säureeigenschaften (Atomizität, Konsistenz, Isolation, Haltbarkeit).Erklären Sie die Säureeigenschaften (Atomizität, Konsistenz, Isolation, Haltbarkeit).Apr 16, 2025 am 12:20 AM

    Säureattribute umfassen Atomizität, Konsistenz, Isolation und Haltbarkeit und sind der Eckpfeiler des Datenbankdesigns. 1. Atomizität stellt sicher, dass die Transaktion entweder vollständig erfolgreich oder vollständig gescheitert ist. 2. Konsistenz stellt sicher, dass die Datenbank vor und nach einer Transaktion konsistent bleibt. 3. Isolation stellt sicher, dass sich Transaktionen nicht stören. 4. Persistenz stellt sicher, dass Daten nach der Transaktionsuntersuchung dauerhaft gespeichert werden.

    MySQL: Datenbankverwaltungssystem vs. ProgrammierspracheMySQL: Datenbankverwaltungssystem vs. ProgrammierspracheApr 16, 2025 am 12:19 AM

    MySQL ist nicht nur ein Datenbankverwaltungssystem (DBMS), sondern auch eng mit Programmiersprachen zusammen. 1) Als DBMS wird MySQL verwendet, um Daten zu speichern, zu organisieren und abzurufen und Indizes zu optimieren, können die Abfrageleistung verbessern. 2) Kombinieren Sie SQL mit Programmiersprachen, eingebettet in Python, und unter Verwendung von ORM -Tools wie SQLalchemy kann die Operationen vereinfachen. 3) Die Leistungsoptimierung umfasst Indexierung, Abfrage, Caching, Bibliothek und Tabellenabteilung und Transaktionsmanagement.

    MySQL: Verwalten von Daten mit SQL -BefehlenMySQL: Verwalten von Daten mit SQL -BefehlenApr 16, 2025 am 12:19 AM

    MySQL verwendet SQL -Befehle, um Daten zu verwalten. 1. Grundlegende Befehle umfassen Auswahl, Einfügen, Aktualisieren und Löschen. 2. Die erweiterte Verwendung umfasst die Funktionen, Unterabfragen und Aggregate. 3. Häufige Fehler sind Syntax-, Logik- und Leistungsprobleme. 4. Die Optimierungstipps umfassen die Verwendung von Indizes, die Vermeidung von Auswahl* und die Verwendung von Limit.

    See all articles

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
    1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Chat -Befehle und wie man sie benutzt
    1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    SAP NetWeaver Server-Adapter für Eclipse

    SAP NetWeaver Server-Adapter für Eclipse

    Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

    Sicherer Prüfungsbrowser

    Sicherer Prüfungsbrowser

    Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

    Herunterladen der Mac-Version des Atom-Editors

    Herunterladen der Mac-Version des Atom-Editors

    Der beliebteste Open-Source-Editor

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    Dreamweaver Mac

    Dreamweaver Mac

    Visuelle Webentwicklungstools