SlideShare ist ein Scribd-Unternehmen logo
SQL Server
Transaktion Protokoll
deep dive
Sascha Lorenz, PSG Projekt Service GmbH
lorenz@psg.de
Warum sich damit beschäftigen?
• Verständnis & Ausbildung
• Recovery
• Audit
• Data Capture
Die LDF Datei…
• Ein einziges Ärgernis…
Das Versprechen…
Atomicity
Consistency
Isolation
Durability
Grundlagen
• Wiederherstellungsmodelle
– Einfach
– Vollständig
– Massenprotokolliert
• Backup
– Voll
– Differentiell
– Transaktion
Grundlagen
• Trennung von mdf/ndf‘s und ldf !
• Protokoll Dateien können endlos wachsen
und nicht von selbst schrumpfen.
• Vielen Admins sind sie ein Ärgernis. 
Das Transaktion Protokoll
• Während die Datenbank Dateien (mdf & ndf‘s)
aus 8 KB Seiten aufgebaut sind, besteht das
Transaktion Protokoll (ldf) aus sogenannten
VLF (Virtuell Log Files). Diese haben KEINE
einheitliche Größe.
• In den VLF werden „Log Records“ gespeichert.
Status eines VLF
• Active (aktiver Teil…)
– Mindestens ein „aktiver“ Log Record
ist Teil des VLF
• Recoverable
– Wartet auf das nächste Backup
• Reusable
– Kann überschrieben werden
• Unused
– Wurde noch nie genutzt
Log Buffer
• Ein „neuer“ Buffer ! 
• Log Records werden erst im Log Buffer
gesammelt und dann in einem Rutsch
geschrieben (Performance, Performance…)
VLF
• Virtuelle Files in der ldf
• Autogrowth
• Wie viele VLFs hat mein Log File?
– DBCC loginfo;
Ldf Erweiterungen
• <= 64MB = 4 VLFs
• > 64MB & <= 1GB = 8 VLFs
• > 1GB = 16 VLFs
Wartung Protokolldatei
• Zu viele VLFs…
– Fragmentierung (extern & intern)
• Zu wenig VLFs…
VLFs
Logisches Log
Bereit für
Backup
VLFs
Logisches Log
Bereit für
Backup
VLFs
Logisches Log
VLFs
Logisches Log
VLFs
Logisches Log
VLFs
Logisches Log
Habe ich ein Problem?
• sys.dm_os_wait_stats
– WRITELOG
• Perfmon
– Average Disk sec/Read & …/Write
• Limits des Log Managers
Log File Latenz / In-flight
• Vor SQL 2008 : 480 KB
• Ab SQL 2008 : 3840 KB
• 32 Bit : 8 ausstehende IO‘s
• 64 Bit : 32 ausstehende IO‘s
Beispiel in-flight Latenz
Quelle: http://sqlcat.com/sqlcat/b/technicalnotes/archive/2008/12/09/diagnosing-transaction-log-performance-issues-and-limits-of-the-log-manager.aspx
Beispiel in-flight Latenz
Quelle: http://sqlcat.com/sqlcat/b/technicalnotes/archive/2008/12/09/diagnosing-transaction-log-performance-issues-and-limits-of-the-log-manager.aspx
Ein Blick ins Log
• sys.fn_dblog
• DBCC TRACEON(2537)
• DBCC TRACEOFF(2537)
Decode it…
2 Byte : Status Bits
2 Bytes: Offset to find number of columns
X Bytes: Fixed Length Columns
2 Bytes: Total Number of Columns in the data row
1 Bit per column, Rounded up: Nullability Bitmap
2 Bytes: Number of Variable Length Columns within
the data row
2 Bytes per variable length column :
Row Offset marking the end of each variable length
column
X Bytes: Variable Length Columns
Quelle: http://sqlfascination.com/2010/02/03/how-do-you-decode-a-simple-entry-in-the-transaction-log-part-1/
fn_dump_dblog()
SELECT
*
FROM
fn_dump_dblog (
NULL, NULL, N'DISK', 1, N‚F:BACKUPLog4711.trn',
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,
DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT);
So… Hoffe, das war
für den Moment „deep“ genug…
Bei Fragen: lorenz@psg.de

Weitere ähnliche Inhalte

Was ist angesagt?

Überblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12cÜberblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12c
Ileana Somesan
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005
Jürg Stuker
 
Storage Spaces Direct - Introduction
Storage Spaces Direct - IntroductionStorage Spaces Direct - Introduction
Storage Spaces Direct - Introduction
[MVP] Florian Klaffenbach
 
Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?
Dierk Lenz
 
Datenbankkonsolidierung
DatenbankkonsolidierungDatenbankkonsolidierung
Datenbankkonsolidierung
Dierk Lenz
 
AOUG 2019 Oracle Centrally Managed Users 18c / 19c
AOUG 2019 Oracle Centrally Managed Users 18c / 19cAOUG 2019 Oracle Centrally Managed Users 18c / 19c
AOUG 2019 Oracle Centrally Managed Users 18c / 19c
Stefan Oehrli
 
Oracle Database Appliance X4-2
Oracle Database Appliance X4-2Oracle Database Appliance X4-2
Oracle Database Appliance X4-2
Ileana Somesan
 
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Peter Kirchner
 
OEM Cloud Control - Hochverfügbar von Kopf bis Fuß
OEM Cloud Control - Hochverfügbar von Kopf bis Fuß OEM Cloud Control - Hochverfügbar von Kopf bis Fuß
OEM Cloud Control - Hochverfügbar von Kopf bis Fuß
DanielHillinger
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
FromDual GmbH
 
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)
Ulrike Schwinn
 
Oracle Engineered Systems - Chance oder Risiko?
Oracle Engineered Systems - Chance oder Risiko?Oracle Engineered Systems - Chance oder Risiko?
Oracle Engineered Systems - Chance oder Risiko?
Trivadis
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und Docker
Stefan Oehrli
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle Tools
Christian Gohmann
 
Oracle Database Appliance X5-2
Oracle Database Appliance X5-2Oracle Database Appliance X5-2
Oracle Database Appliance X5-2
Ileana Somesan
 
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
BCC - Solutions for IBM Collaboration Software
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
FromDual GmbH
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
Karin Patenge
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
Lenz Grimmer
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
Communardo GmbH
 

Was ist angesagt? (20)

Überblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12cÜberblick Oracle Datenbank 12c
Überblick Oracle Datenbank 12c
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005
 
Storage Spaces Direct - Introduction
Storage Spaces Direct - IntroductionStorage Spaces Direct - Introduction
Storage Spaces Direct - Introduction
 
Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?Oracle Data Guard: Mit oder ohne Broker?
Oracle Data Guard: Mit oder ohne Broker?
 
Datenbankkonsolidierung
DatenbankkonsolidierungDatenbankkonsolidierung
Datenbankkonsolidierung
 
AOUG 2019 Oracle Centrally Managed Users 18c / 19c
AOUG 2019 Oracle Centrally Managed Users 18c / 19cAOUG 2019 Oracle Centrally Managed Users 18c / 19c
AOUG 2019 Oracle Centrally Managed Users 18c / 19c
 
Oracle Database Appliance X4-2
Oracle Database Appliance X4-2Oracle Database Appliance X4-2
Oracle Database Appliance X4-2
 
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
Spontan testen! Das eigene Test Lab, für jeden in der Cloud!
 
OEM Cloud Control - Hochverfügbar von Kopf bis Fuß
OEM Cloud Control - Hochverfügbar von Kopf bis Fuß OEM Cloud Control - Hochverfügbar von Kopf bis Fuß
OEM Cloud Control - Hochverfügbar von Kopf bis Fuß
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)
Komprimierung in der Oracle Datenbank (Stand 11gR2, 12c)
 
Oracle Engineered Systems - Chance oder Risiko?
Oracle Engineered Systems - Chance oder Risiko?Oracle Engineered Systems - Chance oder Risiko?
Oracle Engineered Systems - Chance oder Risiko?
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und Docker
 
Datentransfer mit Oracle Tools
Datentransfer mit Oracle ToolsDatentransfer mit Oracle Tools
Datentransfer mit Oracle Tools
 
Oracle Database Appliance X5-2
Oracle Database Appliance X5-2Oracle Database Appliance X5-2
Oracle Database Appliance X5-2
 
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
 

Ähnlich wie SQL Server Transaction Log Deep Dive Session - PASS Hamburg

Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
Digicomp Academy AG
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
panagenda
 
20111006 roadshow-io-performance
20111006 roadshow-io-performance20111006 roadshow-io-performance
20111006 roadshow-io-performance
Werner Fischer
 
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam istShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
David Schneider
 
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Loopback.ORG
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2
panagenda
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Karin Patenge
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point Admins
SharepointUGDD
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-Architektur
Markus Flechtner
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
Samuel Zürcher
 
Oracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/OOracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/O
Martin Klier
 
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFSDOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
JomaSoft
 
Basisinfrastruktur aus Entwicklersicht
Basisinfrastruktur aus EntwicklersichtBasisinfrastruktur aus Entwicklersicht
Basisinfrastruktur aus Entwicklersicht
cmahnke
 
Oracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für EinsteigerOracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für Einsteiger
Martin Klier
 
Windows Powershell
Windows PowershellWindows Powershell
Windows Powershell
Thomas Wilhelm Wiefel
 
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
OPITZ CONSULTING Deutschland
 
PrintTalk 2.0, XJDF & WebToPrint
PrintTalk 2.0, XJDF & WebToPrintPrintTalk 2.0, XJDF & WebToPrint
PrintTalk 2.0, XJDF & WebToPrint
Stefan Meissner
 
Roadshow: «Whats new in sql server 2014»
Roadshow: «Whats new in sql server 2014»Roadshow: «Whats new in sql server 2014»
Roadshow: «Whats new in sql server 2014»
Digicomp Academy AG
 

Ähnlich wie SQL Server Transaction Log Deep Dive Session - PASS Hamburg (20)

Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
AdminCamp 2014: Quo Vadis – Wohin mit IBM Notes/Domino?
 
20111006 roadshow-io-performance
20111006 roadshow-io-performance20111006 roadshow-io-performance
20111006 roadshow-io-performance
 
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam istShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
 
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsb...
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2
 
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickBig Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im Überblick
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point Admins
 
Oracle Datenbank-Architektur
Oracle Datenbank-ArchitekturOracle Datenbank-Architektur
Oracle Datenbank-Architektur
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
Oracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/OOracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/O
 
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFSDOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
 
Transaktionssysteme
TransaktionssystemeTransaktionssysteme
Transaktionssysteme
 
in memory datenbanken
in memory datenbankenin memory datenbanken
in memory datenbanken
 
Basisinfrastruktur aus Entwicklersicht
Basisinfrastruktur aus EntwicklersichtBasisinfrastruktur aus Entwicklersicht
Basisinfrastruktur aus Entwicklersicht
 
Oracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für EinsteigerOracle Datenbank Architektur - nicht nur für Einsteiger
Oracle Datenbank Architektur - nicht nur für Einsteiger
 
Windows Powershell
Windows PowershellWindows Powershell
Windows Powershell
 
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...Spezialitäten der Oracle Lizenzierung -  DOAG Konferenz 2010 - OPITZ CONSULTI...
Spezialitäten der Oracle Lizenzierung - DOAG Konferenz 2010 - OPITZ CONSULTI...
 
PrintTalk 2.0, XJDF & WebToPrint
PrintTalk 2.0, XJDF & WebToPrintPrintTalk 2.0, XJDF & WebToPrint
PrintTalk 2.0, XJDF & WebToPrint
 
Roadshow: «Whats new in sql server 2014»
Roadshow: «Whats new in sql server 2014»Roadshow: «Whats new in sql server 2014»
Roadshow: «Whats new in sql server 2014»
 

SQL Server Transaction Log Deep Dive Session - PASS Hamburg

  • 1. SQL Server Transaktion Protokoll deep dive Sascha Lorenz, PSG Projekt Service GmbH lorenz@psg.de
  • 2. Warum sich damit beschäftigen? • Verständnis & Ausbildung • Recovery • Audit • Data Capture
  • 3. Die LDF Datei… • Ein einziges Ärgernis…
  • 5. Grundlagen • Wiederherstellungsmodelle – Einfach – Vollständig – Massenprotokolliert • Backup – Voll – Differentiell – Transaktion
  • 6. Grundlagen • Trennung von mdf/ndf‘s und ldf ! • Protokoll Dateien können endlos wachsen und nicht von selbst schrumpfen. • Vielen Admins sind sie ein Ärgernis. 
  • 7. Das Transaktion Protokoll • Während die Datenbank Dateien (mdf & ndf‘s) aus 8 KB Seiten aufgebaut sind, besteht das Transaktion Protokoll (ldf) aus sogenannten VLF (Virtuell Log Files). Diese haben KEINE einheitliche Größe. • In den VLF werden „Log Records“ gespeichert.
  • 8. Status eines VLF • Active (aktiver Teil…) – Mindestens ein „aktiver“ Log Record ist Teil des VLF • Recoverable – Wartet auf das nächste Backup • Reusable – Kann überschrieben werden • Unused – Wurde noch nie genutzt
  • 9. Log Buffer • Ein „neuer“ Buffer !  • Log Records werden erst im Log Buffer gesammelt und dann in einem Rutsch geschrieben (Performance, Performance…)
  • 10. VLF • Virtuelle Files in der ldf • Autogrowth • Wie viele VLFs hat mein Log File? – DBCC loginfo;
  • 11. Ldf Erweiterungen • <= 64MB = 4 VLFs • > 64MB & <= 1GB = 8 VLFs • > 1GB = 16 VLFs
  • 12. Wartung Protokolldatei • Zu viele VLFs… – Fragmentierung (extern & intern) • Zu wenig VLFs…
  • 19. Habe ich ein Problem? • sys.dm_os_wait_stats – WRITELOG • Perfmon – Average Disk sec/Read & …/Write • Limits des Log Managers
  • 20. Log File Latenz / In-flight • Vor SQL 2008 : 480 KB • Ab SQL 2008 : 3840 KB • 32 Bit : 8 ausstehende IO‘s • 64 Bit : 32 ausstehende IO‘s
  • 21. Beispiel in-flight Latenz Quelle: http://sqlcat.com/sqlcat/b/technicalnotes/archive/2008/12/09/diagnosing-transaction-log-performance-issues-and-limits-of-the-log-manager.aspx
  • 22. Beispiel in-flight Latenz Quelle: http://sqlcat.com/sqlcat/b/technicalnotes/archive/2008/12/09/diagnosing-transaction-log-performance-issues-and-limits-of-the-log-manager.aspx
  • 23. Ein Blick ins Log • sys.fn_dblog • DBCC TRACEON(2537) • DBCC TRACEOFF(2537)
  • 24. Decode it… 2 Byte : Status Bits 2 Bytes: Offset to find number of columns X Bytes: Fixed Length Columns 2 Bytes: Total Number of Columns in the data row 1 Bit per column, Rounded up: Nullability Bitmap 2 Bytes: Number of Variable Length Columns within the data row 2 Bytes per variable length column : Row Offset marking the end of each variable length column X Bytes: Variable Length Columns Quelle: http://sqlfascination.com/2010/02/03/how-do-you-decode-a-simple-entry-in-the-transaction-log-part-1/
  • 25. fn_dump_dblog() SELECT * FROM fn_dump_dblog ( NULL, NULL, N'DISK', 1, N‚F:BACKUPLog4711.trn', DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT);
  • 26. So… Hoffe, das war für den Moment „deep“ genug… Bei Fragen: lorenz@psg.de