SQLSERVER拯救某个时间点被误删除的数据
SQLSERVER 拯救 某个 时间 点被误 删除 的 数据 http://blog.csdn.net/dba_huangzj/article/details/8491327 要 拯救 某个 时间 点被误 删除 的 数据 ,需要你在那个 时间 点之前有一个完整 数据 库备份。 而且,需要你的 数据 库恢复模式为:完整恢复模式
SQLSERVER拯救某个时间点被误删除的数据
http://blog.csdn.net/dba_huangzj/article/details/8491327
要拯救某个时间点被误删除的数据,需要你在那个时间点之前有一个完整数据库备份。
而且,需要你的数据库恢复模式为:“完整恢复模式”
如何查看你的数据库恢复模式为完整恢复模式,运行下面SQL
<span>1</span> <span>SELECT</span><span> recovery_model, recovery_model_desc </span><span>2</span> <span>FROM</span><span> sys.databases </span><span>3</span> <span>WHERE</span> name <span>=</span> <span>'</span><span>GPOSDB</span><span>'</span>
在创建完一个新数据库之后,强烈建议做一次数据库完整备份
-------------------------------------------------------------------华丽的分割线-----------------------------------------------------------------------
先创建测试表
<span> 1</span> <span>/*</span> <span> 2</span> <span>由于tempdb永远为简单恢复模式,所以不适合做案例。 </span><span> 3</span> <span>这里使用我的测试机器里的<strong>数据</strong>库GPOSDB </span><span> 4</span> <span>*/</span> <span> 5</span> <span>USE</span> <span>[</span><span>GPOSDB</span><span>]</span> <span> 6</span> <span>GO</span> <span> 7</span> <span>IF</span> <span>OBJECT_ID</span>(<span>'</span><span>testRestore</span><span>'</span>) <span>IS</span> <span>NOT</span> <span>NULL</span> <span> 8</span> <span>DROP</span> <span>TABLE</span><span> testRestore </span><span> 9</span> <span>GO</span> <span>10</span> <span>CREATE</span> <span>TABLE</span><span> testRestore </span><span>11</span> <span> ( </span><span>12</span> id <span>INT</span> <span>IDENTITY</span>(<span>1</span>, <span>1</span><span>) , </span><span>13</span> NAME <span>VARCHAR</span>(<span>50</span><span>) </span><span>14</span> );
插入测试数据
<span> 1</span> <span>--</span><span>插入测试<strong>数据</strong>: </span> <span> 2</span> <span>INSERT</span> <span>INTO</span><span> testRestore(Name) </span><span> 3</span> <span>SELECT</span> <span>'</span><span>test1</span><span>'</span> <span> 4</span> <span>UNION</span> <span>ALL</span> <span> 5</span> <span>SELECT</span> <span>'</span><span>test2</span><span>'</span> <span> 6</span> <span>UNION</span> <span>ALL</span> <span> 7</span> <span>SELECT</span> <span>'</span><span>test3</span><span>'</span> <span> 8</span> <span>UNION</span> <span>ALL</span> <span> 9</span> <span>SELECT</span> <span>'</span><span>test4</span><span>'</span> <span>10</span> <span>UNION</span> <span>ALL</span> <span>11</span> <span>SELECT</span> <span>'</span><span>test5</span><span>'</span> <span>12</span> <span>UNION</span> <span>ALL</span> <span>13</span> <span>SELECT</span> <span>'</span><span>test6</span><span>'</span> <span>14</span> <span>UNION</span> <span>ALL</span> <span>15</span> <span>SELECT</span> <span>'</span><span>test7</span><span>'</span> <span>16</span> <span>UNION</span> <span>ALL</span> <span>17</span> <span>SELECT</span> <span>'</span><span>test8</span><span>'</span>
<span>1</span> <span>SELECT</span> <span>*</span> <span>FROM</span> testRestore
先来一个数据库完整备份,在22:32的时候完整备份数据库
<span>1</span> <span>BACKUP</span> <span>DATABASE</span> <span>[</span><span>GPOSDB</span><span>]</span> <span>2</span> <span>TO</span> <span>DISK</span><span>=</span><span>'</span><span>D:\GPOSDB_FULLBACKUP2013-07-23.bak</span><span>'</span> <span>3</span> <span>WITH</span><span> INIT </span><span>4</span> <span>go</span>
模拟删除表数据,这里使用waitfor time,目的是使删除数据的时间准确一点,这里选择22:34的时候删除数据方便后面还原某个时间点之前的数据
<span>1</span> <span>USE</span> <span>[</span><span>GPOSDB</span><span>]</span> <span>2</span> <span>GO</span> <span>3</span> <span>WAITFOR</span> TIME <span>'</span><span>22:34</span><span>'</span> <span>4</span> <span>DELETE</span> <span>FROM</span> dbo.testRestore
查询一下数据是否删除
<span>1</span> <span>USE</span> <span>[</span><span>GPOSDB</span><span>]</span> <span>2</span> <span>GO</span> <span>3</span> <span>SELECT</span> <span>*</span> <span>FROM</span> dbo.testRestore
断开与GPOSDB数据库的连接,如果还有连接就kill掉连接,然后执行事务日志备份,在22:36的时候执行事务日志备份
<span> 1</span> <span>--</span><span><strong>删除</strong>了表中的<strong>数据</strong>之后最少要等3分钟才执行下面SQL语句,不然的话等一下还原事务日志的时候会报错</span> <span> 2</span> <span>--</span><span>必须断开所有与GPOSDB<strong>数据</strong>库的连接</span> <span> 3</span> <span>USE</span><span> master </span><span> 4</span> <span>GO</span> <span> 5</span> <span>BACKUP</span> <span>LOG</span> <span>[</span><span>GPOSDB</span><span>]</span> <span>TO</span> <span>DISK</span> <span>=</span> N<span>'</span><span>D:\GPOSDB_LOGBACKUP2013-07-23.bak</span><span>'</span> <span>WITH</span> NO_TRUNCATE , NOFORMAT, NAME <span>=</span> N<span>'</span><span>GPOSDB-事务日志备份</span><span>'</span>, SKIP, NORECOVERY , STATS <span>=</span> <span>10</span><span>, CHECKSUM </span><span> 6</span> <span>GO</span> <span> 7</span> <span>DECLARE</span> <span>@backupSetId</span> <span>AS</span> <span>INT</span> <span> 8</span> <span>SELECT</span> <span>@backupSetId</span> <span>=</span><span> position </span><span> 9</span> <span>FROM</span><span> msdb..backupset </span><span>10</span> <span>WHERE</span> database_name <span>=</span> N<span>'</span><span>GPOSDB</span><span>'</span> <span>AND</span> backup_set_id <span>=</span> ( <span>SELECT</span> <span>11</span> <span>MAX</span><span>(backup_set_id) </span><span>12</span> <span>FROM</span><span> msdb..backupset </span><span>13</span> <span>WHERE</span> database_name <span>=</span> N<span>'</span><span>GPOSDB</span><span>'</span> <span>14</span> <span> ) </span><span>15</span> <span>IF</span> <span>@backupSetId</span> <span>IS</span> <span>NULL</span> <span>--</span><span>这里是验证事务日志备份是否成功,如果没有断开与GPOSDB<strong>数据</strong>库的连接备份事务日志可能会失败</span> <span>16</span> <span>BEGIN</span> <span>17</span> <span>RAISERROR</span>(N<span>'</span><span>验证失败。找不到<strong>数据</strong>库“GPOSDB”的备份信息。</span><span>'</span>, <span>16</span>, <span>1</span><span>) </span><span>18</span> <span>END</span> <span>19</span> <span>RESTORE</span> VERIFYONLY <span>FROM</span> <span>DISK</span> <span>=</span> N<span>'</span><span>D:\GPOSDB_LOGBACKUP2013-07-23.bak</span><span>'</span> <span>WITH</span> <span>FILE</span> <span>=</span> <span>@backupSetId</span> <span>20</span> <span>GO</span>
<span>1</span> <span>--</span><span>查询是否备份成功</span> <span>2</span> <span>SELECT</span> <span>TOP</span> <span>10</span> <span>*</span> <span>FROM</span> msdb..backupset <span>ORDER</span> <span>BY</span> <span>[</span><span>backup_set_id</span><span>]</span> <span>DESC</span>
还原数据库完整备份
<span>1</span> <span>--</span><span><strong>数据</strong>库处于正在还原状态</span> <span>2</span> <span>RESTORE</span> <span>DATABASE</span> <span>[</span><span>GPOSDB</span><span>]</span> <span>FROM</span> <span>DISK</span><span>=</span><span>'</span><span>D:\GPOSDB_FULLBACKUP2013-07-23.bak</span><span>'</span> <span>WITH</span> <span>replace</span>, NORECOVERY
还原事务日志
<span>1</span> <span>--</span><span>因为<strong>删除</strong><strong>数据</strong>是在'22:34' 所以还原到22:33</span> <span>2</span> <span>RESTORE</span> <span>LOG</span> <span>[</span><span>GPOSDB</span><span>]</span> <span>FROM</span> <span>DISK</span><span>=</span><span>'</span><span>D:\GPOSDB_LOGBACKUP2013-07-23.bak</span><span>'</span> <span>WITH</span> RECOVERY ,STOPAT<span>=</span><span>'</span><span>2013-7-23 22:33</span><span>'</span>
如果事务日志还原失败的话,可以使用GUI界面
查看表中的数据
<span>1</span> <span>USE</span> <span>[</span><span>GPOSDB</span><span>]</span> <span>2</span> <span>GO</span> <span>3</span> <span>SELECT</span> <span>*</span> <span>FROM</span> dbo.testRestore
-----------------------------------------------------------华丽的分割线--------------------------------------------
要注意的两个地方:
(1)如果你发现误操作以后还有很多人做了操作,那么你还原成功后,别人的操作就会冲掉,所以发生误操作后,要马上停止别人对数据库的操作。
(2)这个方法要对数据库独占

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Die Importschritte sind wie folgt: Kopieren Sie die MDF-Datei in das Datenverzeichnis von SQL Server (normalerweise C:\Programme\Microsoft SQL Server\MSSQL\DATA). Öffnen Sie in SQL Server Management Studio (SSMS) die Datenbank und wählen Sie Anhängen aus. Klicken Sie auf die Schaltfläche „Hinzufügen“ und wählen Sie die MDF-Datei aus. Bestätigen Sie den Datenbanknamen und klicken Sie auf die Schaltfläche OK.

Für Objekte mit demselben Namen, die bereits in der SQL Server-Datenbank vorhanden sind, müssen folgende Schritte ausgeführt werden: Bestätigen Sie den Objekttyp (Tabelle, Ansicht, gespeicherte Prozedur). Mit IF NOT EXISTS kann die Erstellung übersprungen werden, wenn das Objekt leer ist. Wenn das Objekt Daten enthält, verwenden Sie einen anderen Namen oder ändern Sie die Struktur. Verwenden Sie DROP, um vorhandene Objekte zu löschen (Vorsicht, Sicherung empfohlen). Suchen Sie nach Schemaänderungen, um sicherzustellen, dass keine Verweise auf gelöschte oder umbenannte Objekte vorhanden sind.

1. Zunächst einmal ist es falsch, jemanden dauerhaft zu blockieren und zu löschen und ihn nicht dauerhaft hinzuzufügen. Wenn Sie die andere Partei hinzufügen möchten, nachdem Sie sie blockiert und gelöscht haben, benötigen Sie lediglich die Zustimmung der anderen Partei. 2. Wenn ein Benutzer jemanden blockiert, kann die andere Partei keine Nachrichten an den Benutzer senden, den Freundeskreis des Benutzers anzeigen oder mit dem Benutzer telefonieren. 3. Das Blockieren bedeutet nicht, dass die andere Partei aus der WeChat-Kontaktliste des Benutzers gelöscht wird. 4. Wenn der Benutzer den anderen Teilnehmer aus der WeChat-Kontaktliste des Benutzers löscht, nachdem er ihn blockiert hat, gibt es nach dem Löschen keine Möglichkeit, ihn wiederherzustellen. 5. Wenn der Benutzer die andere Partei erneut als Freund hinzufügen möchte, muss die andere Partei zustimmen und den Benutzer erneut hinzufügen.

Wenn der SQL Server-Dienst nicht gestartet werden kann, können Sie die folgenden Schritte beheben: Überprüfen Sie das Fehlerprotokoll, um die Grundursache zu ermitteln. Stellen Sie sicher, dass das Dienstkonto über die Berechtigung zum Starten des Dienstes verfügt. Überprüfen Sie, ob Abhängigkeitsdienste ausgeführt werden. Deaktivieren Sie die Antivirensoftware. Reparieren Sie die SQL Server-Installation. Wenn die Reparatur nicht funktioniert, installieren Sie SQL Server neu.

So zeigen Sie die SQL Server-Portnummer an: Öffnen Sie SSMS und stellen Sie eine Verbindung zum Server her. Suchen Sie den Servernamen im Objekt-Explorer, klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften. Sehen Sie sich auf der Registerkarte „Verbindung“ das Feld „TCP-Port“ an.

Wenn Sie eine SQL Server-Datenbank versehentlich löschen, können Sie die Datenbankaktivität stoppen; Party-Tools. Bitte sichern Sie Ihre Datenbank regelmäßig und aktivieren Sie die Transaktionsprotokollierung, um Datenverlust zu verhindern.

Stehen Sie vor einer Verzögerung oder einer langsamen mobilen Datenverbindung auf dem iPhone? Normalerweise hängt die Stärke des Mobilfunk-Internets auf Ihrem Telefon von mehreren Faktoren ab, wie z. B. der Region, dem Mobilfunknetztyp, dem Roaming-Typ usw. Es gibt einige Dinge, die Sie tun können, um eine schnellere und zuverlässigere Mobilfunk-Internetverbindung zu erhalten. Fix 1 – Neustart des iPhone erzwingen Manchmal werden durch einen erzwungenen Neustart Ihres Geräts viele Dinge zurückgesetzt, einschließlich der Mobilfunkverbindung. Schritt 1 – Drücken Sie einfach einmal die Lauter-Taste und lassen Sie sie los. Drücken Sie anschließend die Leiser-Taste und lassen Sie sie wieder los. Schritt 2 – Der nächste Teil des Prozesses besteht darin, die Taste auf der rechten Seite gedrückt zu halten. Lassen Sie das iPhone den Neustart abschließen. Aktivieren Sie Mobilfunkdaten und überprüfen Sie die Netzwerkgeschwindigkeit. Überprüfen Sie es erneut. Fix 2 – Datenmodus ändern 5G bietet zwar bessere Netzwerkgeschwindigkeiten, funktioniert jedoch besser, wenn das Signal schwächer ist

Wenn die SQL Server-Installation fehlschlägt, können Sie sie mit den folgenden Schritten bereinigen: Deinstallieren Sie SQL Server. Löschen Sie Registrierungsschlüssel. Löschen Sie Dateien und Ordner. Starten Sie den Computer neu
