WEBVTT

00:00:00.000 --> 00:00:02.055
>> Datenbankwiederherstellung mit

00:00:02.055 --> 00:00:05.190
lang andauernde Transaktionen
war eine Herausforderung.

00:00:05.190 --> 00:00:07.050
In SQL Server 2019

00:00:07.050 --> 00:00:09.780
wir führen beschleunigte
Datenbankwiederherstellung

00:00:09.780 --> 00:00:11.190
um dieses Problem zu lösen.

00:00:11.190 --> 00:00:13.605
Kevin ist hier, um zu erzählen
uns alle darüber,

00:00:13.605 --> 00:00:15.390
heute auf Data Exposed.

00:00:15.390 --> 00:00:26.130
[MUSIK]

00:00:26.130 --> 00:00:28.755
>> Hallo und willkommen zu einem anderen
Episode von Data Exposed.

00:00:28.755 --> 00:00:30.745
Ich bin dein Gastgeber, Jeroen und heute,

00:00:30.745 --> 00:00:34.415
wir haben Kevin bei uns, über den wir sprechen können
beschleunigte Datenbankwiederherstellung.

00:00:34.415 --> 00:00:35.975
Willkommen Kevin in der Show.

00:00:35.975 --> 00:00:36.665
>> Vielen Dank.

00:00:36.665 --> 00:00:39.125
>> So beschleunigte Datenbankwiederherstellung.

00:00:39.125 --> 00:00:40.750
Was ist das?

00:00:40.750 --> 00:00:41.930
>> Es ist also ein interessantes Feature.

00:00:41.930 --> 00:00:43.340
Wir nennen es ADR kurz.

00:00:43.340 --> 00:00:44.890
>> Okay, sicher.

00:00:44.890 --> 00:00:46.970
>> Es kam von
Blick auf einige der

00:00:46.970 --> 00:00:48.530
Schmerzpunkte, die Kunden

00:00:48.530 --> 00:00:51.770
Ausführen von Datenbanken und Aufbewahren
sie hochverfügbar und

00:00:51.770 --> 00:00:53.270
Teil davon hat mit der Zeit zu tun, die es

00:00:53.270 --> 00:00:55.475
eine Datenbank online zu stellen.

00:00:55.475 --> 00:00:58.970
Es gibt eine Reihe von Phasen, die
eine Datenbank muss durchkommen,

00:00:58.970 --> 00:01:01.340
und wenn Sie eine lange
laufende Transaktion,

00:01:01.340 --> 00:01:04.010
es kann lange dauern
zu bereinigen, und dass

00:01:04.010 --> 00:01:07.080
führt zu Nichtverfügbarkeit, wenn
es macht diese Verarbeitung.

00:01:07.080 --> 00:01:10.545
>> Richtig. Wir wissen also, dass
Die Wiederherstellung ist ein Schmerzpunkt.

00:01:10.545 --> 00:01:13.530
Es zurückzubringen ist
etwas, das DBAs,

00:01:13.530 --> 00:01:15.075
nun, irgendwie Sorgen.

00:01:15.075 --> 00:01:16.790
>> Richtig. Also schaute sich das Team

00:01:16.790 --> 00:01:19.520
dass der ganze Prozess und das Denken
Wie können wir uns das neu vorstellen?

00:01:19.520 --> 00:01:21.335
Also haben sie sich ADR ausgedacht,

00:01:21.335 --> 00:01:23.210
Es basiert auf einem Versionsspeicher.

00:01:23.210 --> 00:01:26.170
Alle Änderungen sind also
versioniert in der Datenbank.

00:01:26.170 --> 00:01:29.920
Das lebt in der Datei
Gruppe Ihrer Wahl.

00:01:30.140 --> 00:01:34.925
Indem wir das nutzen, können wir die
Wiederherstellungsprozess viel schneller.

00:01:34.925 --> 00:01:35.600
>> Cool.

00:01:35.600 --> 00:01:40.965
>> Ich habe einige Dias
die dies demonstrieren.

00:01:40.965 --> 00:01:46.515
Hier haben wir also die
klassischen Wiederherstellungsprozess.

00:01:46.515 --> 00:01:48.350
So beginnt es, Phase 1 ist Analyse.

00:01:48.350 --> 00:01:50.360
Also muss man durchschauen
alle Transaktionen

00:01:50.360 --> 00:01:53.020
im Protokoll vom letzten
Checkpoint vorwärts.

00:01:53.020 --> 00:01:56.150
Redo ist jede Datenänderung

00:01:56.150 --> 00:01:58.700
die nicht beibehalten wurde
in den Datendateien,

00:01:58.700 --> 00:02:01.850
müssen von
das Transaktionsprotokoll,

00:02:01.850 --> 00:02:03.020
den ganzen Weg hindurch von

00:02:03.020 --> 00:02:05.420
der Anfang des Ältesten,
nicht festgeschriebene Transaktionen.

00:02:05.420 --> 00:02:07.790
Das ist also der Punkt, an dem die
Transaktionen wirklich weh.

00:02:07.790 --> 00:02:08.560
>> Richtig, genau.

00:02:08.560 --> 00:02:12.170
>> Es kann minutenlang dauern, bis
eine Stunde oder mehr manchmal.

00:02:12.170 --> 00:02:14.660
Dann wird Phase 3 rückgängig gemacht,

00:02:14.660 --> 00:02:17.270
wo Sie alle Transaktionen rückgängig machen, die

00:02:17.270 --> 00:02:20.975
wurden nicht vor der
Zeit, auf die Sie sich freuen.

00:02:20.975 --> 00:02:23.285
Zum Zeitpunkt der Lektüre

00:02:23.285 --> 00:02:25.375
die Datenbank teilweise verfügbar ist.

00:02:25.375 --> 00:02:28.670
Das bedeutet, dass Sie
Zugriff auf die Datenbank,

00:02:28.670 --> 00:02:33.270
alle Daten, die nicht gesperrt waren
aus den ursprünglichen Transaktionen,

00:02:33.270 --> 00:02:34.320
wird jetzt unter Verschluss sein.

00:02:34.320 --> 00:02:36.200
Auch wenn es
niemand tut sie,

00:02:36.200 --> 00:02:39.230
Sie können nicht auf diese Daten zugreifen
bis das Rückgängigmachen abgeschlossen ist.

00:02:39.230 --> 00:02:41.930
>> Im Grunde ist dies
ein langwieriger Prozess

00:02:41.930 --> 00:02:45.835
und dann erst nach
wir kommen in Phase 3,

00:02:45.835 --> 00:02:47.900
Ich kann anfangen zu tun

00:02:47.900 --> 00:02:49.580
alles, was ich wollte mit
die Datenbank wieder, nicht wahr?

00:02:49.580 --> 00:02:50.165
>> Richtig.

00:02:50.165 --> 00:02:53.585
>> Sagen Sie mir also, wie es war.

00:02:53.585 --> 00:02:55.865
>> Unten sehen Sie nur

00:02:55.865 --> 00:02:59.145
Protokollaufzeichnung mit verschiedenen
Ereignisse im Protokolldatensatz.

00:02:59.145 --> 00:03:00.165
>> Sicher.

00:03:00.165 --> 00:03:02.190
>> ADR ändert das sehr.

00:03:02.190 --> 00:03:03.750
Wir haben die Verarbeitung Version Speicher.

00:03:03.750 --> 00:03:06.375
Sie sehen, dass es als PVS referenziert wird.

00:03:06.375 --> 00:03:09.464
Wenn wir das in den Vorschauen herausstellen,

00:03:09.464 --> 00:03:11.915
PVS lebte in der primären Dateigruppe

00:03:11.915 --> 00:03:13.820
und es gibt keine Fähigkeit
dies zu ändern.

00:03:13.820 --> 00:03:16.780
Das ist also passiert, da
alle diese Versionen lebten.

00:03:16.780 --> 00:03:19.550
Wir haben Feedback erhalten, das
Kunden möchten

00:03:19.550 --> 00:03:22.280
in der Lage sein, anzugeben, welche
Dateigruppe, in der sie lebt.

00:03:22.280 --> 00:03:26.180
Ich habe eine Massendateigruppe oder
sehr schnelle Dateigruppe, was auch immer.

00:03:26.180 --> 00:03:27.740
Jetzt sind Sie also mit

00:03:27.740 --> 00:03:31.130
release-Kandidaten und mit
die GA-Version, wenn sie herauskommt,

00:03:31.130 --> 00:03:33.910
können Sie angeben, welche
Dateigruppe und ändern Sie sie,

00:03:33.910 --> 00:03:35.880
es gibt Prozess für
es auch zu ändern.

00:03:35.880 --> 00:03:38.120
Aber lassen Sie uns durchgehen, was
der Wiederherstellungsprozess

00:03:38.120 --> 00:03:39.755
sieht aus wie bei ADR.

00:03:39.755 --> 00:03:42.110
So beginnt es mit der Analyse,

00:03:42.110 --> 00:03:45.695
die unverändert von
was Sie vorher hatten.

00:03:45.695 --> 00:03:47.015
>> Es ist das gleiche Verhalten, nicht wahr?

00:03:47.015 --> 00:03:49.805
>> Richtig. Wir haben
das Konzept eines sLogs.

00:03:49.805 --> 00:03:52.705
Ein sLog ist ein In-Memory-Protokoll

00:03:52.705 --> 00:03:55.640
dass nur diejenigen erfasst werden, die
Systemtransaktionen

00:03:55.640 --> 00:03:57.005
die nicht versioniert werden können.

00:03:57.005 --> 00:03:59.150
So können die meisten Datenversionen, die Sie

00:03:59.150 --> 00:04:01.715
vor und nach
Bilder der Daten.

00:04:01.715 --> 00:04:04.070
So einige Schemaänderungen,

00:04:04.070 --> 00:04:06.195
einige Dinge wie diese,
kann nicht versioniert werden.

00:04:06.195 --> 00:04:06.570
>> Sicher.

00:04:06.570 --> 00:04:07.890
>> Also werden diese im sLog aufgezeichnet.

00:04:07.890 --> 00:04:09.195
Die Idee ist also, dass es

00:04:09.195 --> 00:04:11.580
sehr wenige signifikante.

00:04:11.580 --> 00:04:13.920
>> Es wird eine kleine
Projektionen, oder?

00:04:13.920 --> 00:04:17.525
>> So Teil der Analyse
und Redo-Phase ist

00:04:17.525 --> 00:04:23.100
Neuerstellen dieser Speicherprotokolle
aus den Transaktionsprotokolldatensätzen.

00:04:23.230 --> 00:04:25.850
Also redo aus dem sLog,

00:04:25.850 --> 00:04:28.300
ist nur die Nutzung des Versionsspeichers.

00:04:28.300 --> 00:04:31.195
Weil wir vorher und nachher
Versionen aller dieser Zeilen,

00:04:31.195 --> 00:04:34.010
so ist es sehr schnell und
dann wiederholen Sie

00:04:34.010 --> 00:04:38.905
das Protokoll nur aus dem
letzten Checkpoint vorwärts.

00:04:38.905 --> 00:04:42.810
An diesem Punkt wird Ihre Datenbank
ist vollständig verfügbar.

00:04:43.420 --> 00:04:46.910
Rückgängig wird gerade rückgängig gemacht

00:04:46.910 --> 00:04:48.875
die Versionen, so dass Sie nur

00:04:48.875 --> 00:04:51.710
zeigen Sie auf die vorherige Version
anstelle der aktuellen Version.

00:04:51.710 --> 00:04:55.345
Sie müssen nicht physisch rückgängig machen
transaktion und umgekehrt.

00:04:55.345 --> 00:04:59.825
>> Das wird also ein Weg
schneller als der ältere normalerweise?

00:04:59.825 --> 00:05:01.880
>> Viel schneller. Wir hatten einen Kunden in

00:05:01.880 --> 00:05:04.280
das Labor innerhalb der letzten paar
Wochen, die einige Tests mit

00:05:04.280 --> 00:05:10.050
ADR und sie hatten eine sehr
aktive Update-Workload.

00:05:10.050 --> 00:05:13.065
Sie hatten eine lange
Transaktion mit ihm.

00:05:13.065 --> 00:05:14.430
Sie taten das, dies,

00:05:14.430 --> 00:05:17.450
und machte einen Rollback von diesem
lang andauernde Transaktion.

00:05:17.450 --> 00:05:20.555
Ohne ADR dauerte es etwa eine
Minuten-und-eineinhalb, um dies zu tun.

00:05:20.555 --> 00:05:24.765
>> Was noch nicht
zu schlecht, aber okay, lang.

00:05:24.765 --> 00:05:26.190
>> ja. In ihrem Geschäft

00:05:26.190 --> 00:05:28.105
es macht einen großen Unterschied.

00:05:28.105 --> 00:05:30.680
Also versuchten sie es erneut
das gleiche Szenario

00:05:30.680 --> 00:05:32.780
mit ADR und der Zeit, die es dauerte

00:05:32.780 --> 00:05:36.720
Um diese Wiederherstellung zu tun, betrug die Wiederherstellung null Sekunden.

00:05:36.720 --> 00:05:38.505
Sie konnten nicht messen
es war so schnell.

00:05:38.505 --> 00:05:40.110
>> Das ist beeindruckend.

00:05:40.110 --> 00:05:43.580
>> Also sind sie wieder da
auf der Strecke, dass viel schneller,

00:05:43.580 --> 00:05:47.425
was einen großen Unterschied macht
auch, weil in ihrem Geschäft,

00:05:47.425 --> 00:05:49.560
Ausfälle sind Einbußen.

00:05:49.560 --> 00:05:51.375
>> Also Millisekunden zählen, oder?

00:05:51.375 --> 00:05:52.230
>> Sehr viel.

00:05:52.230 --> 00:05:53.880
>> Wenn wir also diesem Kunden helfen können

00:05:53.880 --> 00:05:55.575
von eineinhalb Minuten verschoben,

00:05:55.575 --> 00:05:58.305
Sie sagten, im Grunde Null,

00:05:58.305 --> 00:05:59.895
das ist beeindruckend. Also wow.

00:05:59.895 --> 00:06:02.930
So alle unsere Kunden

00:06:02.930 --> 00:06:05.810
wollen wahrscheinlich
versuchen Sie dies und aktivieren Sie dies.

00:06:05.810 --> 00:06:08.450
Können Sie mir also sagen, wie ich das mache?

00:06:08.450 --> 00:06:09.470
Ich habe jetzt eine Datenbank,

00:06:09.470 --> 00:06:12.995
Ich habe es auf der normalen
Also, was mache ich?

00:06:12.995 --> 00:06:14.585
>> Also mit Azure SQL-Datenbank,

00:06:14.585 --> 00:06:16.775
es ist standardmäßig global aktiviert.

00:06:16.775 --> 00:06:19.130
Es war standardmäßig eingeschaltet
weltweit seit Monaten.

00:06:19.130 --> 00:06:20.540
So müssen Sie nicht
dort etwas tun.

00:06:20.540 --> 00:06:22.520
Sie haben es bereits genutzt.

00:06:22.520 --> 00:06:23.740
>> Cool.

00:06:23.740 --> 00:06:26.940
>> Für SQL Server-Datenbanken

00:06:26.940 --> 00:06:29.060
es ist standardmäßig deaktiviert, da

00:06:29.060 --> 00:06:31.610
etwas Overhead auf dem Bereich der

00:06:31.610 --> 00:06:35.880
ein bis fünf Prozent für
die Versionen im Auge zu behalten.

00:06:36.190 --> 00:06:41.015
Sie müssten es also einschalten und
das ist nur, ändern Datenbanksatz,

00:06:41.015 --> 00:06:42.635
Beschleunigte Datenbankwiederherstellung entspricht

00:06:42.635 --> 00:06:46.410
auf und optional mit
Dateigruppe gleich.

00:06:46.410 --> 00:06:47.310
>> Etwas.

00:06:47.310 --> 00:06:49.810
>> ja. Also sehr einfach DDL.

00:06:49.810 --> 00:06:51.710
>> Was passiert dann?

00:06:51.710 --> 00:06:54.410
>> Dann beginnt die Verfolgung
Versionen und Sie erhalten den Vorteil.

00:06:54.410 --> 00:06:55.970
>> Cool. Ist das direkt,

00:06:55.970 --> 00:06:58.065
sofort, oder ist das wie,

00:06:58.065 --> 00:06:59.250
Es ist ein Neustart erforderlich.

00:06:59.250 --> 00:07:01.740
>> Kein Neustart. Sie sind nur online.

00:07:01.740 --> 00:07:03.705
>> Cool. Also wow.

00:07:03.705 --> 00:07:05.160
Also im Grunde ist dies wie

00:07:05.160 --> 00:07:08.545
eine sehr coole Technologie, um
eine Datenbank sehr schnell wiederherstellen.

00:07:08.545 --> 00:07:10.730
Was bekomme ich sonst noch davon?

00:07:10.730 --> 00:07:12.140
Ich meine, das ist wirklich
sehr beeindruckend, aber

00:07:12.140 --> 00:07:13.580
diese sind wie zusätzliche Vorteile.

00:07:13.580 --> 00:07:15.590
>> So gibt es einen zusätzlichen Nutzen in

00:07:15.590 --> 00:07:19.115
dass wegen der Art und Weise, wie
wir die Versionen wiederverwenden,

00:07:19.115 --> 00:07:22.470
wir müssen nicht halten, wie
viel Transaktionsprotokoll online.

00:07:22.470 --> 00:07:24.920
So können Sie die
Transaktionsprotokoll viel mehr

00:07:24.920 --> 00:07:28.725
aggressiv bis zum letzten
Checkpoint, als Sie vorher konnten.

00:07:28.725 --> 00:07:30.530
Das heißt, wenn Sie
hat die Situation,

00:07:30.530 --> 00:07:32.540
wir haben eine lange
Transaktion, die Sie hält

00:07:32.540 --> 00:07:34.460
von der Möglichkeit,

00:07:34.460 --> 00:07:36.620
Ihr Protokoll und die Transaktion
Log beginnt zu explodieren,

00:07:36.620 --> 00:07:38.665
das passiert nicht
mit eingeschaltetem ADR.

00:07:38.665 --> 00:07:41.400
>> Also im Grunde ist das
den zusätzlichen Nutzen.

00:07:41.400 --> 00:07:43.650
Keine lange Transaktion
Protokoll ziehen.

00:07:43.650 --> 00:07:44.505
>> Genau.

00:07:44.505 --> 00:07:45.990
>> Ich weiß, was ich tun werde,

00:07:45.990 --> 00:07:47.660
Ich meine, MySQL-Server wurde

00:07:47.660 --> 00:07:49.760
Beschleunigen einer Datenbank
Erholung jetzt.

00:07:49.760 --> 00:07:51.470
Nach diesem Video werde ich das tun.

00:07:51.470 --> 00:07:52.805
Vielen Dank für das Teilen.

00:07:52.805 --> 00:07:53.345
>> Vielen Dank.

00:07:53.345 --> 00:07:55.940
>> Vielen Dank für die Erklärung.
Das war ganz klar.

00:07:55.940 --> 00:07:57.575
Danke für das Aufpassen.

00:07:57.575 --> 00:08:00.990
Bitte mögen und abonnieren Sie und
bleiben Sie für die nächste eingestellt. Danke.

00:08:00.990 --> 00:08:13.210
[MUSIK]

