sqlserver資料庫日誌
1. 如何更改sqlserver資料庫日誌
資料庫的日誌是資料庫自動生成的,無法更改。
2. sqlserver的日誌文件有哪些
日誌是SQL Server自身用來回滾抄事務用的,有第三方的日誌讀取工具可以從日誌文件中讀取之前的操作信息。
比如:誤刪了一條記錄怎樣通過日誌文件使之恢復?
這個如果不用第三方工具而只使用SQL Server本身的功能有兩種方法
第一種比較簡單,在操作資料庫的時候,首先用begin tran語句顯式的標記一個事務,然後刪除數據,如果確定需要恢復,則執行rollback tran語句,刪除操作就會被回滾。使用begin tran語句標記事務,如果不需要回滾,則使用commit tran進行提交,提交後就不能再回滾了。
第二種方法是通過還原資料庫的方式,大致步驟如下:
1.首先資料庫的恢復模式必須是「完全」或者「大容量日誌」模式
2.在刪除數據之前對資料庫進行了完全備份
3.刪除數據後,要對資料庫日誌進行備份
4.還原刪除數據前最近一次的完全備份
5.還原刪除數據後的日誌備份,使用stopat選項指定還原點為刪除數據前那一時刻。
這種方法一般用在大批量誤操作後的恢復,比較麻煩,推薦樓主熟悉備份還原以後再嘗試。
3. 如何查看sqlserver日誌的方法
定期分析sqlserver日誌是DBA很重要的任務,那如何才能查看sqlserver日誌呢?
在SQL Server 7.0和SQL Server2000中,可以用下面的命令查看:
DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] )
參數:
Dbid or dbname - 任一資料庫的ID或名字
type - 輸出結果的類型:
0 - 最少信息(operation, context, transaction id)
1 - 更多信息(plus flags, tags, row length)
2 - 非常詳細的信息(plus object name, index name,page id, slot id)
3 - 每種操作的全部信息
4 - 每種操作的全部信息加上該事務的16進制信息
默認 type = 0
要查看MSATER資料庫的事務日誌可以用以下命令:
DBCC log (master)
釋放日誌空間
1.清空日誌
DUMP TRANSACTION 庫名 WITH NO_LOG
2.截斷事務日誌:
BACKUP LOG 資料庫名 WITH NO_LOG
3.收縮資料庫文件(如果不壓縮,資料庫的文件不會減小
企業管理器--右鍵你要壓縮的資料庫--所有任務--收縮資料庫--收縮文件
--選擇日誌文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了
--選擇數據文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數,直接輸入這個數,確定就可以了
也可以用SQL語句來完成
--收縮資料庫
DBCC SHRINKDATABASE(客戶資料)
--收縮指定數據文件,1是文件號,可以通過這個語句查詢到:select * from sysfiles
DBCC SHRINKFILE(1)
4.為了最大化的縮小日誌文件(如果是sql 7.0,這步只能在查詢分析器中進行)
a.分離資料庫:
企業管理器--伺服器--資料庫--右鍵--分離資料庫
b.在我的電腦中刪除LOG文件
c.附加資料庫:
企業管理器--伺服器--資料庫--右鍵--附加資料庫
此法將生成新的LOG,大小隻有500多K
或用代碼:
下面的示例分離 pubs,然後將 pubs 中的一個文件附加到當前伺服器。
a.分離
E X E C sp_detach_db @dbname = 'pubs'
b.刪除日誌文件
c.再附加
E X E C sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
5.為了以後能自動收縮,做如下設置:
企業管理器--伺服器--右鍵資料庫--屬性--選項--選擇"自動收縮"
--SQL語句設置方式:
E X E C sp_dboption '資料庫名', 'autoshrink', 'TRUE'
6.如果想以後不讓它日誌增長得太大
企業管理器--伺服器--右鍵資料庫--屬性--事務日誌
--將文件增長限制為xM(x是你允許的最大數據文件大小)
--SQL語句的設置方式:
alter database 資料庫名 modify file(name=邏輯文件名,maxsize=20)
特別注意:
請按步驟進行,未進行前面的步驟,請不要做後面的步驟
否則可能損壞你的資料庫.
一般不建議做第4,6兩步
第4步不安全,有可能損壞資料庫或丟失數據
第6步如果日誌達到上限,則以後的資料庫處理會失敗,在清理日誌後才能恢復.
另外提供一種更簡單的方法,建議大家使用。
更簡單的方法:
1。右建資料庫屬性窗口--故障還原模型--設為簡單
2。右建資料庫所有任務--收縮資料庫
3。右建資料庫屬性窗口--故障還原模型--設為大容量日誌記錄
4. sqlserver資料庫日誌怎麼產生的
資料庫日誌就是來記錄你對資料庫的所有操作記錄的日記本。
5. 如何查看sql資料庫操作日誌
查看sql資料庫操作日誌的方法步驟:
1、用windows身份驗證登陸資料庫內,點擊【連接】;
按以上步驟操作即可以查看操作日誌。
6. sqlserver 哪些命令會導致資料庫日誌文件增大
在使用過程中大家經常碰到資料庫日誌非常大的情況,在這里介紹了兩種處理方法…… 方法一 一般情況下,SQL資料庫的收縮並不能很大程度上減小資料庫大小,其主要作用是收縮日誌大小,應當定期進行此操作以免資料庫日誌過大 1、設置資料庫模式為簡單模式:打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server-->SQL Server組-->雙擊打開你的伺服器-->雙擊打開資料庫目錄-->選擇你的資料庫名稱(如論壇資料庫Forum)-->然後點擊右鍵選擇屬性-->選擇選項-->在故障還原的模式中選擇「簡單」,然後按確定保存。 2、在當前資料庫上點右鍵,看所有任務中的收縮資料庫,一般裡面的默認設置不用調整,直接點確定。 3、收縮資料庫完成後,建議將您的資料庫屬性重新設置為標准模式,操作方法同第一點,因為日誌在一些異常情況下往往是恢復資料庫的重要依據 SQLSERVER中講:BACKUP LOG 資料庫名 WITH NO_LOG|TRUNCATE_ONLY可以截斷事務日誌。但我在資料庫中進行上述操作後,事務日誌還是沒有改變。第一步只是將非活動的事務日誌截斷,並沒有收縮資料庫,只有進行第二項操作後,資料庫才進行事務日誌的清理工作,將截斷的非活動事務刪除,並將事務日誌文件收縮到適當尺寸。
7. SQLserver資料庫,最近幾天的日誌非常大什麼原因
資料庫日誌大,說明資料庫訪問次數多,異常信息多,最好查看日誌,跟蹤一下異常情況。至於如何釋放這些被佔用的空間,收縮日誌就可以了,資料庫日誌收縮的比率很大,一般1G在收縮後變成1M。
8. 如何查看 sqlserver 日誌的方法
查看sql資料庫操作日抄志的方法步驟:
1、用windows身份驗證登陸資料庫,點擊【連接】;
2、展開資料庫伺服器下面的【管理】【SQL Server日誌】;
3、雙擊【當前】可以打開【日誌文件查看器】裡面有所有的運行日誌;
4、點擊任意一行,可以看見具體的信息,錯誤原因和時間;
5、勾選相應的復選框,可以篩選查看相應的日誌內容;
6、點擊【篩選】還可以詳細篩選日誌;
7、在【SQL Server日誌】上單擊右鍵,選擇【視圖】【SQL Server和windows日誌】可以查看操作系統日誌;
8、如圖所示,就可以查看到操作日誌了。
按以上步驟操作即可以查看操作日誌。
9. 如何查看sqlserver 日誌
|1、 在SQL Server 7.0和SQL Server2000中,可以用下面的命令查看:
DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] )
參數:
Dbid or dbname - 任一資料庫的回ID或名字
type - 輸出結果答的類型:
0 - 最少信息(operation, context, transaction id)
1 - 更多信息(plus flags, tags, row length)
2 - 非常詳細的信息(plus object name, index name,page id, slot id)
3 - 每種操作的全部信息
4 - 每種操作的全部信息加上該事務的16進制信息
默認 type = 0
要查看MSATER資料庫的事務日誌可以用以下命令:
DBCC log (master)
10. 如何刪除sqlserver資料庫日誌文件
1、確定SQL資料庫的安裝路徑與所用的SQL資料庫名稱。2、點擊開始--程序--MicrosoftSQLServer--查詢分析器--確定,進入軟體里,點擊菜單幫助--Transact-sql幫助(S)--索引--輸入(sp_attach_single_file_db),在右邊對話框里找到以下的命令或者在空白處直接輸入以下的命令:EXECsp_detach_db@dbname='pubs'returnEXECsp_attach_single_file_db@dbname='pubs',@physname='c:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\pubs.mdf'注意:return是加入的命令語名,將資料庫(*.LDF與*.MDF)分離,再將資料庫名改回所要選的,即是pubs改為J2002。即是:EXECsp_detach_db@dbname='J2002'returnEXECsp_attach_single_file_db@dbname='J2002',@physname='c:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\J2002.mdf'3、輸入命令後,點擊菜單查詢--執行,下面對話框出現命令"命令已成功完成"。4、刪除命令(EXECsp_detach_db@dbname='J2002'return),進入安裝SQL資料庫路徑里將J2002.ldf文件重命名。5、接著第3點開始,點擊菜單查詢--執行,下面對話框出現命令"設備激活錯誤。物理文件名'C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\J200188.ldf'可能有誤。已創建名為'c:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\j200188_log.LDF'的新日誌文件"。