知道MS SQL表及其命令
我們都知道,MS SQL Server使用表來管理其關係數據庫,包括所有記錄。許多組織和公司都使用SQL(結構查詢語言)來滿足其自動化交易需求。
企業和電子商務網站使用SQL Server數據庫表來存儲首選的自動化記錄,即,員工ID,員工名稱,地址,電話號碼,電子郵件ID等。 SQLTable Schema可能相應地有所不同。
SQL管理員主要針對SQL表執行上述命令以相應地管理它們。
- 刪除:用於刪除記錄。
- 降低:用於刪除整個表,包括所有可用記錄。
- 插入:用於在表中插入記錄。
- 更新:用於修改SQL表記錄。
- 創造:用於在SQL數據庫中創建新的SQL表或對象。
- 授予:分配特權權限。
- 撤銷:返回分配的特權權限。
#1)從SSMS中的SQL Server中的表中恢復已刪除的數據
只需繼續採取以下步驟,以恢復SQL Server 2022、2017、2016、2014、2014、2012、2020、2008 R2、2005和2000的刪除表。此方法是專門專門的FO用戶,以學習如何在SQL Server Management Studio Studio Supplication中還原桌子。
- 開始SQL Server Management Studio(SSM)在您的計算機上。
- 此後,右鍵單擊數據庫文件夾並選擇還原數據庫
- 檢查收音機與計算機關聯的按鈕,然後單擊瀏覽圖示(…)。
- 之後,選擇備份媒體類型為文件然後按添加
- 選擇一個備份文件從數據庫還原刪除的表並點擊好的。
- 此後,您的還原已刪除的SQL表數據現在查看完成的信息。
- 最後,按好的按鈕可以從SQL Server表成功恢復已刪除的數據。
#2)使用LSN在SQL Server中還原刪除的表
注意:LSN(日誌序列號)技術將不允許從SQL Server中的表中恢復已刪除的數據。如果交易日誌備份遭到損壞和丟失。執行此技術是必須的,因為每個SQL日誌記錄都可以通過LSN識別。
1階段:創建SQL數據庫
執行以下命令,以創建名為“ recuntionDeletTables”的SQL數據庫,將表名稱稱為“員工”。
USE [master];
GO
CREATE DATABASE RecoverDeletedTables;
GO
USE RecoverDeletedTables;
GO
CREATE TABLE [Employees] ()
[Sr.No] INT IDENTITY,
[Date] DATETIME DEFAULT GETDATE (),
[City] CHAR (25) DEFAULT ‘City1’);
2階段:在SQL表中插入數據
使用階段1,我們成功地創建了SQL數據庫,其中包含3個不同的列。現在查看插入過程。
USE RecoverDeletedTables;
GO
INSERT INTO Employees DEFAULT VALUES;
GO 100
3階段:在SQL表中刪除一些行
USE RecoverDeletedTables
Go
DELETE Employees
WHERE [Sr.No]
GO
Select * from Employee
4階段:了解已刪除的表行
現在,現在是時候通過搜索事務日誌數據來獲取有關已刪除的SQL行的信息。
USE RecoverDeletedTables
GO
SELECT
[Current LSN],
[Transaction ID],
Operation,
Context,
AllocUnitName
FROM
fn_dblog(NULL, NULL)
WHERE
Operation = ‘LOP_DELETE_ROWS’
使用上述命令後,您可以看到已刪除的SQL表行的事務ID。在這裡,我們需要搜索行的刪除時間。
5階段:獲取LOP_BEGIN_XACT日誌記錄的LSN,以輕鬆學習如何恢復SQL Server中的已刪除表
現在,這是必須使用事務ID獲取提取行刪除時間的必要條件。
USE RecoverDeletedTables
GO
SELECT
[Current LSN],
Operation,
[Transaction ID],
[Begin Time],
[Transaction Name],
[Transaction SID]
FROM
fn_dblog(NULL, NULL)
WHERE
[Transaction ID] = ‘0000:0000030e’
AND
[Operation] = ‘LOP_BEGIN_XACT’
之後,您可以看到有關當前LSN,操作,事務ID,事務名稱等的信息。
6階段:在SQL Server中恢復已刪除的表
此後,您需要通過在LSN之前添加“ 0x”來將LSN值從十六進制更改為十進制格式。這有助於從數據庫還原已刪除的SQL表。
–Restoring Full backup with norecovery.
RESTORE DATABASE RecoverDeletedTables_COPY
FROM DISK = ‘C:\Program Files\Microsoft SQL Server\MSSQL10_50.BITRECOVER\MSSQL\Backup\RecoverDeletedTables.bak’
WITH
MOVE ‘RecoverDeletedTables’ TO ‘C:\Program Files\Microsoft SQL Server\MSSQL10_50.BITRECOVER\MSSQL\Backup\RecoverDeletedTables.mdf’,
MOVE ‘RecoverDeletedTables_log’ TO ‘C:\Program Files\Microsoft SQL Server\MSSQL10_50.BITRECOVER\MSSQL\Backup\RecoverDeletedTables.ldf’,
REPLACE, NORECOVERY;
GO
–Restore Log backup with STOPBEFOREMARK option to recover exact LSN.
RESTORE LOG RecoverDeletedTables_COPY
FROM
DISK = N’C:\Program Files\Microsoft SQL Server\MSSQL10_50.BITRECOVER\MSSQL\Backup\RecoverDeletedTables_tlogbackup.trn’
ITH
STOPBEFOREMARK = ‘lsn:0x00000015:0000002a:0001’
現在,在SQL Server中還原刪除表的過程已成功完成。如果您想查看已恢復的已刪除的SQL表記錄,請運行以下命令。
USE RecoverDeletedTables_COPY
GO
SELECT * from Employee
注意力:在上述代碼中,將位置'c:\ program Files \ Microsoft SQL Server \ MSSQL10_50.BITRECOVER \ MSSQL \ MSSQL \ backup \ recesentDeletedTables.bak'用備份文件保存的路徑。還請用存儲MS SQL數據庫文件的路徑替換MDF和LDF文件的路徑。
#3)通過自動工具在SQL Server中恢復刪除的表
如果上述方法未能在SQL Server中恢復已刪除的表,則應使用SQL Server恢復軟件。該實用程序具有修復SQL Server Master數據庫以恢復已刪除的SQL表。該工具支持Microsoft SQL Server 2022、2019、2017、2016、2014、2012、2008 R2、2005和2000版。這樣,用戶可以輕鬆執行SQL撤消刪除任務。
但是,我們已經討論了在SQL Server中恢復已刪除表的最佳方法。但是,如果您具有SQL Server管理員級知識,則建議您採用手動步驟以還原SQL Server中的刪除表。如果您是非技術用戶,則必須使用推薦的工具包進行SQL撤消刪除或立即解決查詢。