當前位置:首頁 » 數據倉庫 » 資料庫重新生成日誌
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫重新生成日誌

發布時間: 2022-12-09 17:51:05

A. 資料庫附加沒有日誌文件怎麼辦

文件激活失敗。物理文件名稱'f:\lpxjx_1.ldf'可能不正確。
無法重新生成日誌,原因是資料庫關閉時存在打開的事務/用戶,該資料庫沒有檢查點或者該資料庫是只讀的。如果事務日誌文件被手動刪除或者由於硬體或環境問題而丟失,則可能出現此錯誤。
消息 1813,級別 16,狀態 2,第 1 行
無法打開新資料庫 'lpxjx'。CREATE DATABASE 中止。

B. 怎樣壓縮資料庫的日誌文件

具體方法有3種。
方法一:
第一步:
backup
log
database_name
with
no_log
或者
backup
log
database_name
with
truncate_only
--
no_log和truncate_only是在這里是同義的,隨便執行哪一句都可以。
第二步:
1.收縮特定資料庫的所有數據和日誌文件,執行:
dbcc
shrinkdatabase
(database_name,[,target_percent])
--
database_name是要收縮的資料庫名稱;target_percent是資料庫收縮後的資料庫文件中所要的剩餘可用空間百分比。
2.收縮一次一個特定資料庫中的數據或日誌文件,執行
dbcc
shrinkfile(file_id,[,target_size])
--
file_id是要收縮的文件的標識
(ID)
號,若要獲得文件
ID,請使用
FILE_ID
函數或在當前資料庫中搜索
sysfiles;target_size是用兆位元組表示的所要的文件大小(用整數表示)。如果沒有指定,dbcc
shrinkfile
將文件大小減少到默認文件大小。兩個dbcc都可以帶上參數notruncate或truncateonly,具體意思查看聯機幫助.
方法二:
第一步:
先備份整個資料庫以備不測

第二步:
備份結束後,在Query
Analyzer中執行如下的語句:
exec
sp_detach_db
yourDBName,true
--卸除這個DB在MSsql中的注冊信息
第三步:
到日誌的物理文件所在的目錄中去刪除該日誌文件或者將該日誌文件移出該目錄
第四步:
在Query
Analyzer中執行如下的語句:
exec
sp_attach_single_file_db
yourDBName,'
d:\mssql\data\yourDBName_data.mdf
'
--以單文件的方式注冊該DB,如果成功則MSSQL將自動為這個DB生成一個500K的日誌文件。
方法三:
1.
進入企業管理器,選中資料庫,比如demo
2.
所有任務->分離資料庫
3.
到資料庫文件的存放目錄,將MuOnline_log.LDF文件刪除,以防萬一,你可以拷出去
4.
企業管理器->附加資料庫,選muonline,這個時候你會看見日誌文件這項是一個叉,不要緊,繼續,此時資料庫就會提示你該資料庫無日誌是否創建一個新的,確定就是了。
5.
記得資料庫重新附加後用戶要重新設置一下。
如果以後,不想要它變大:
SQL2000下使用:
在資料庫上點右鍵->屬性->選項->故障恢復-模型-選擇-簡單模型。
或用SQL語句:
alter
database
資料庫名
set
recovery
simple

C. sql2005附加資料庫出錯 錯誤9004標題: Microsoft SQL Server Management Studio

提示很清楚----------日誌損壞
請刪除掉日誌
重新生成日誌
create database yiyaoguanli' on
(filename=N'X:\X\yiyaoguanli.mdf' ) FOR ATTACH
X:\x\為你database 'yiyaoguanli'以前的路徑
再試

D. SQL Server資料庫成為緊急模式怎麼恢復

1、使資料庫變為單用戶模式
ALTER DATABASE 資料庫名 SET SINGLE_USER
(當變成單用戶的模式只能在同一個窗口執行語句)
2、修正資料庫日誌重新生成,此命令檢查的分配,結構,邏輯完整性和所有資料庫中的對象不正確。當您指定「REPAIR_ALLOW_DATA_LOSS」作為DBCC CHECKDB命令參數,該程序將檢查和修正報告的不正確。但是,這些修正可能會導致一些數據丟失。
DBCC CheckDB (資料庫名, REPAIR_ALLOW_DATA_LOSS)
3、使資料庫變回為多用戶模式
ALTER DATABASE 資料庫名 SET MULTI_USER

E. 2012 Microsoft SQLServer Management Studio新建資料庫出錯

提示很清楚----------日誌損壞
請刪除掉日誌
重新生成日誌
create
database
yiyaoguanli'
on
(filename=n'x:\x\yiyaoguanli.mdf'
)
for
attach
x:\x\為你database
'yiyaoguanli'以前的路徑
再試

F. SQL Server事務日誌的幾個常用操作

我們知道,SQL Server事務日誌主要是用來記錄所有事務對資料庫所做的修改,如果系統出現故障,它將成為最新數據的唯一來源。日誌的操作常有以下幾個應用:
一、事務日誌文件LDF的丟失
當我們不小刪除或者LDF文件丟失的時候,資料庫只剩下MDF文件,此時直接通過附加MDF是無法恢復資料庫的,那我們怎麼樣才能恢復資料庫呢?我們可以把SQL Server的日誌文件分為兩種形式:一類是無活動事務的日誌,另一類是有活動事務的日誌,我們分別根據兩種情況來進行資料庫恢復。
1、無活動事務的日誌恢復
當文件並沒有發生活動性的日誌,我們就可以很容易的利用MDF文件就可以直接恢復資料庫了,具體操作方法如下:
1)資料庫要是沒有日誌,就會處於置疑的狀態,我們先可以通過企業管理器中在對應資料庫中點擊右鍵,然後在「所有任務」下選擇「分離資料庫」把資料庫進行分離;
2)利用MDF文件附加資料庫生成新的日誌文件,可用企業管理器中資料庫點擊右鍵選擇「所有任務」下的「附加資料庫」把資料庫附加上。
這樣就可以直接恢復好資料庫了,而如果資料庫的日誌文件中含有活動事務,利用此方法就不能恢復資料庫,所以得使用下面的方法。
2、有活動事務的日誌恢復
當日誌發生了事務的記錄,丟失的時候,我們採用如下的方法來實現:
1)新建一個同名的資料庫,如原資料庫名為MYDB,然後停止SQL Server伺服器,再把資料庫主數據MDF文件移走,然後重新啟動SQL Server伺服器,新建一個同名的資料庫MYDB,然後再停止SQL Server伺服器,把移走的MDF文件再覆蓋回來,然後再重新啟動SQL Server伺服器,在默認的情況下,系統表是不允許被修改的,我們需要運行以下語句才可以,在查詢分析器中,選擇Master資料庫,然後執行:
Sp_configure 'allow updates',1
Reconfigure With Override
接著運行以下語句,把Sysdatabases表中MYDB資料庫的status屬性設為『37268』,把MYDB資料庫設置為緊急模式。
update sysdatabases set status=32768 where name=』MYDB』
然後再把資料庫MYDB設置為單用戶模式,然後重啟SQL Server伺服器,並把資料庫MYDB設為單用戶模式
Sp_dboption 'MYDB','single user', 'true'

G. oracle 重做日誌作用,及其從產生到 歸檔的整個過程。

簡單的說重做日記記錄了oracle的dmlddl產生的改變,當資料庫運行在歸檔模式下.
每當重做
日誌
寫滿或手工/自動日誌切換時,會將重做日誌進行歸檔產生
歸檔日誌
.
本質上說,歸檔日誌和重做日誌內容一樣,
重做日誌數量是根據日誌組定義的,多個重做日誌循環寫/覆蓋寫入;而歸檔日誌一經歸檔就不會被重寫/覆蓋.
歸檔日誌用來恢復資料庫使用.
歸檔和重做日誌都可以使用logminer進行分析,幫助查看資料庫變化和恢復.

H. 資料庫恢復中日誌文件是存在外存嗎

1、正確認識日誌文件。
一個Sql Server資料庫最少要包含一個mdf數據文件和一個ldf日誌文件。
mdf文件中包含了所有的資料庫對象和數據,例如表、存儲過程、用戶信息等等。
ldf文件中包含(或者曾經包含)了資料庫的所有事務日誌,但是不要指望僅僅通過ldf日誌文件來恢復資料庫!!
例如,想通過ldf文件和以前的完全備份將數據恢復到某個時間點,或者由於某些原因只剩下了ldf日誌文件,想通過ldf日誌文還原出mdf文件等等,這些都是行不通的。當然,必須承認通過一些三方工具或特殊的手段的確可能可以通過ldf文件恢復部分的數據。即便是這樣,一般情況下通過ldf文件恢復出你想要的數據的情況也是少之又少。
ldf日誌文件的真正作用應該是以下幾個:
做為事務日誌的一個物理存儲位置,讓我們可以把日誌從ldf文件中備份成日誌備份,我們可以通過日誌備份來還原資料庫。

I. SQL2000 修改資料庫後會有相應的日誌生成, 請問在用戶沒有設置的情況下,日誌默認保存多少天的修改記錄

資料庫日誌是在資料庫數據變化時產生的一些記錄信息,這些信息一般來說是只有資料庫在備份、恢復時才用到的,沒有啥默認保留多少天的說法。

有效的資料庫日誌是指在最後一次全庫備份後到現在為止的所有日誌備份。
如果第一天進行了全庫備份,第二天至第五天都進行了資料庫的增量備份,那第二天至第五天的增量日誌備份都是有效的。恢復的時候從第一天至第五天順序恢復即可。第二天至第五天這個時間段就由系統管理員根據業務數據量情況掌握了

希望回答對你有啟發