1. sql還原事物日誌備份
意思是可以先還原到15:00 這樣可以把你刪除的表的數據提出來, 此刻15:01-16:00 的數據是沒有還原的, 在你順利得到15:01 刪除的表的數據後, 如果15:01-16:00 沒有與刪除表有關的業務, 你就可以把資料庫日誌還原到16:00 ,然後把提取出來的15:01 刪除的雇員表回復回去, 就ok了
2. sql 2005如何查看事物日誌文件,如何備份
backup log student to disk='D:\b.bak' with NO_LOG
backup log student with TRUNCATE_ONLY
給我分
3. SQL 2000自動備份的修改
很常用的一種方式.利用Job來實現定時備份..
修改方法:
企業管理器->Management->SQL Server Agent->Job->選擇你設置的Job->屬性->scheles->Edit->Change->修改相應的時間..
4. MSSQL資料庫的修改記錄在哪查看
windows會有你的登錄記錄,但是不會有你修改數據的記錄。
在資料庫里會有修改數據的操作日誌,就是那個xxx.ldf文件里,需要用專門的工具查看。
單獨刪除某幾項操作好像不可以
全部刪除可以直接清空資料庫日誌
清空語句:
backup log 資料庫名 with no_log
收縮日誌文件
dbcc shrinkdatabase(資料庫名)
清空日誌前務必請備份資料庫!!!
5. SQL Server 2000備份文件修改
一、備份資料庫
1、打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server
2、SQL Server組-->雙擊打開你的伺服器-->雙擊打開資料庫目錄
3、選擇你的資料庫名稱(如論壇資料庫Forum)-->然後點上面菜單中的工具-->選擇備份資料庫
4、備份選項選擇完全備份,目的中的備份到如果原來有路徑和名稱則選中名稱點刪除,然後點添加,如果原來沒有路徑和名稱則直接選擇添加,接著指定路徑和文件名,指定後點確定返回備份窗口,接著點確定進行備份
二、還原資料庫
1、打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server
2、SQL Server組-->雙擊打開你的伺服器-->點圖標欄的新建資料庫圖標,新建資料庫的名字自行取
3、點擊新建好的資料庫名稱(如論壇資料庫Forum)-->然後點上面菜單中的工具-->選擇恢復資料庫
4、在彈出來的窗口中的還原選項中選擇從設備-->點選擇設備-->點添加-->然後選擇你的備份文件名-->添加後點確定返回,這時候設備欄應該出現您剛才選擇的資料庫備份文件名,備份號默認為1(如果您對同一個文件做過多次備份,可以點擊備份號旁邊的查看內容,在復選框中選擇最新的一次備份後點確定)-->然後點擊上方常規旁邊的選項按鈕
5、在出現的窗口中選擇在現有資料庫上強制還原,以及在恢復完成狀態中選擇使資料庫可以繼續運行但無法還原其它事務日誌的選項。在窗口的中間部位的將資料庫文件還原為這里要按照你SQL的安裝進行設置(也可以指定自己的目錄),邏輯文件名不需要改動,移至物理文件名要根據你所恢復的機器情況做改動,如您的SQL資料庫裝在D:\Program Files\Microsoft SQL Server\MSSQL\Data,那麼就按照您恢復機器的目錄進行相關改動改動,並且最後的文件名最好改成您當前的資料庫名(如原來是bbs_data.mdf,現在的資料庫是forum,就改成forum_data.mdf),日誌和數據文件都要按照這樣的方式做相關的改動(日誌的文件名是*_log.ldf結尾的),這里的恢復目錄您可以自由設置,前提是該目錄必須存在(如您可以指定d:\sqldata\bbs_data.mdf或者d:\sqldata\bbs_log.ldf),否則恢復將報錯
6、修改完成後,點擊下面的確定進行恢復,這時會出現一個進度條,提示恢復的進度,恢復完成後系統會自動提示成功,如中間提示報錯,請記錄下相關的錯誤內容並詢問對SQL操作比較熟悉的人員,一般的錯誤無非是目錄錯誤或者文件名重復或者文件名錯誤或者空間不夠或者資料庫正在使用中的錯誤,資料庫正在使用的錯誤您可以嘗試關閉所有關於SQL窗口然後重新打開進行恢復操作,如果還提示正在使用的錯誤可以將SQL服務停止然後重起看看,至於上述其它的錯誤一般都能按照錯誤內容做相應改動後即可恢復
6. SQL server 2005中 備份事物日誌後,用什麼命令可以還原
回滾由 RESTORE 語句通過 [ RECOVERY | NORECOVERY ] 選項控制:
NORECOVERY 指定不發生回滾。
從而使前滾按順序在下一條語句中繼續進行。
在這種情況下,還原順序可還原其他備份,並執行前滾。
RECOVERY(默認值)表示,應在完成當前備份前滾之後執行回滾。
恢復資料庫要求要還原的整個數據集(「前滾集」)必須與資料庫一致。
如果前滾集尚未前滾到與資料庫保持一致的地步,並且指定了 RECOVERY,則資料庫引擎將發出錯誤。
也就是說,你還原一個文件後,後續還有文件要還原,就要使用NORECOVERY,如果後續沒有文件,或是你不想還原後續的文件,就使用recovery。
如果你要還原事務日誌,首先你要有一個完整備份,先還原完整備份,並使用NORECOVERY選項,然後,按順序還原日誌備份。只要後續還有文件要還原,就使用NORECOVERY選項,如果後續沒有文件或是不想再還原其他文件了,就使用RECOVERY選項。使用RECOVERY選項後,還原過程就完成了,資料庫就可以使用了。
7. 如何查詢SQL Server備份還原歷史記錄
SQL
Server在msdb數據中維護了一系列表,用來存儲執行所有備份和還原的細節信息。即使你正在使用第三方的備份應用程序,只要這個應用程序使用SQL
Server的虛擬設備介面(Virtual
Device
Interface---VDI)來執行備份和還原執行,那麼執行細節依然被存儲在這一系列表中。
存儲細節的表包括:
backupset
backupfile
backupfilegroup
(SQL
Server
2005
upwards)
backupmediaset
backupmediafamily
restorehistory
restorefile
restorefilegroup
logmarkhistory
suspect_pages
(SQL
Server
2005
upwards)
你可以在Books
Online裡面找到上面這些表的具體說明。
下面這個腳本可以幫你找出每個資料庫近期的備份信息:
SELECT
b.name,
a.type,
MAX(a.backup_finish_date)
lastbackup
FROM
msdb..backupset
a
INNER
JOIN
master..sysdatabases
b
ON
a.database_name
COLLATE
DATABASE_DEFAULT
=
b.name
COLLATE
DATABASE_DEFAULT
GROUP
BY
b.name,
a.type
ORDER
BY
b.name,
a.type
指定資料庫最後20條事務日誌備份信息:
SELECT
TOP
20
b.physical_device_name,
a.backup_start_date,
a.first_lsn,
a.user_name
FROM
msdb..backupset
a
INNER
JOIN
msdb..backupmediafamily
b
ON
a.media_set_id
=
b.media_set_id
WHERE
a.type
=
'L'
ORDER
BY
a.backup_finish_date
DESC
指定時間段的事務日誌備份信息:
SELECT
b.physical_device_name,
a.backup_set_id,
b.family_sequence_number,
a.position,
a.backup_start_date,
a.backup_finish_date
FROM
msdb..backupset
a
INNER
JOIN
msdb..backupmediafamily
b
ON
a.media_set_id
=
b.media_set_id
WHERE
a.database_name
=
'AdventureWorks'
AND
a.type
=
'L'
AND
a.backup_start_date
>
'10-Jan-2007'
AND
a.backup_finish_date
<
'16-Jan-2009
3:30'
ORDER
BY
a.backup_start_date,
b.family_sequence_number
刪除備份日誌的兩個存儲過程:
EXEC
msdb..sp_delete_backuphistory
'1-Jan-2005'
EXEC
msdb..sp_delete_database_backuphistory
'AdventureWorks'
8. SQL 資料庫如何更改自動備份
你裝的不是server的系統吧
9. 如何查詢SQL Server備份還原歷史記錄
查詢SQL Server備份歷史
SELECT
CONVERT(CHAR(100),SERVERPROPERTY('Servername'))ASServer,
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_start_date,
msdb.dbo.backupset.backup_finish_date,
msdb.dbo.backupset.expiration_date,
CASE msdb..backupset.type
WHEN 'D' THEN 'Database'
WHEN 'L' THEN 'Log'
END ASbackup_type,
msdb.dbo.backupset.backup_size,
msdb.dbo.backupmediafamily.logical_device_name,
msdb.dbo.backupmediafamily.physical_device_name,
msdb.dbo.backupset.nameASbackupset_name,
msdb.dbo.backupset.description
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupsetONmsdb.dbo.backupmediafamily.media_set_id=msdb.dbo.backupset.media_set_id
ORDER BY
msdb.dbo.backupset.database_name,
msdb.dbo.backupset.backup_finish_date
-----查詢SQLServer還原歷史
select bus.server_nameas'server',rh.restore_date,bus.database_nameas'database',
CAST(bus.first_lsnASVARCHAR(50))asLSN_First,
CAST(bus.last_lsnASVARCHAR(50))asLSN_Last,
CASE rh.[restore_type]
WHEN 'D'THEN'Database'
WHEN 'F'THEN'File'
WHEN 'G'THEN'Filegroup'
WHEN 'I'THEN'Differential'
WHEN 'L'THEN'Log'
WHEN 'V'THEN'Verifyonly'
END ASrhType
FROM msdb.dbo.backupsetbus
INNER JOINmsdb.dbo.restorehistoryrhON rh.backup_set_id=bus.backup_set_id
10. 如何修改sql資料庫里某個記錄
可以通過update(更新)語句實現給該記錄操作。sql:update tablename set username ='zhangsan' where id =5;
解釋:因為改變的是某條記錄,所以必定有where條件來限定到此條語句,上面的舉例就是通過id的唯一性先確定此條記錄,之後通過update將tablename表中的username欄位值進行更新。