『壹』 如何查看sql server 日誌
您好,很高興為您解答。
可以降到2005 用log explorer看下的哈
使用Log Explorer查看和恢復數據
Log Explorer 4.1.可用於SQL Server2005的日誌查看工具
使用方法:
打開Log Explorer -> Attach Log File -> 選擇SQL Server伺服器和登陸方式 -> Connect ->
在Database Name中選擇資料庫 -> Attach-> 左面對話框中Browse-> View Log-> 就可以看到log記錄了
想恢復的話: 右鍵Log記錄 Undo Transation-> 選擇保存文件名和路徑-> 然後打開該文件到查詢分析器里執行 T-sql代碼就可以了
例如 如果Log是delete table where ...的話,生成的文件代碼就是insert table ....
然後將此insert table的代碼放到查詢分析器里執行.就可以恢復數據.
----------------------------------------------------------------------
--如何恢復被delete/update的數據
----------------------------------------------------------------------
1連接到被刪除資料庫的Db
打開log explorer 選擇 "file"->"attach log file"->選擇伺服器和登陸方式->"connect"->選擇"資料庫"->"attach"
2 查看日誌
在左面操作項目的對話框中選擇"browse"項目->"view log"->就可以看到當前的Log記錄了
3 恢復數據
右鍵某一條log記錄,選擇"undo transation"->"選擇保存文件名和路徑"->然後打開該文件到查詢分析器里執行
T-sql代碼就可以了
例如: 如果log是delete table where ...的話,生成的文件代碼就是insert table ....
----------------------------------------------------------------------
--Log Explorer恢復被drop table和truncate table後的數據
----------------------------------------------------------------------
1 連接到被刪除資料庫的Db
操作同上
2 恢復方法
1) 選擇"salvaage dropped/truncate"菜單,在右邊的對話框中選擇表名,和droped/trucated的日期,
File Name中選擇生成insert語句腳步的存放位置,condition選擇是droped還是truncated,
最後點擊"create" 就會生成insert語句,把生成的語句到查詢分析器裡面執行一下就可以了
2) 選擇"ViewDDL Commands"菜單->選"truncate table" 操作項->點擊"Salvage"->生成語句->查詢分析器里執行
----------------------------------------------------------------------
--log explorer使用的幾個問題
----------------------------------------------------------------------
1) 對資料庫做完全/差異/日誌備份
備份時如果選用了刪除事務日誌中不活動的條目
再用Log explorer打試圖看日誌時,提示No log recorders found that match the filter,would you like to view unfiltered data 選擇yes 就看不到剛才的記錄了
如果不選用了刪除事務日誌中不活動的條目
再用Log explorer打試圖看日誌時,就能看到原來的日誌並做恢復
2) 修改了其中一個表中的部分數據,此時用Log explorer看日誌,可以作日誌恢復
3) 然後恢復備份,(注意:恢復是斷開log explorer與資料庫的連接,或連接到其他數據上,
否則會出現資料庫正在使用無法恢復)
恢復完後,再打開log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data,選擇yes 就看不到剛才在2中修改的日誌記錄,所以無法做恢復.
4) 不要用SQL的備份功能備份,搞不好你的日誌就破壞了.
『貳』 財務管理軟體不能使用,SQL出現問題,錯誤LOG見補充。資料庫未備份。
看你的情況像是SQL server出問題,master庫異常了
你可以再找台計算機臨時安裝sql2000,然後把財務的那個資料庫文件拷貝出來(一組兩個文件),然後利用「附加」方法連接。再檢查財務裡面是SA連接還是自建的用戶,手工創建一下。
如果是用友軟體,帳套管理庫,名字忘了。
總之,date目錄下所有的資料庫文件你都要保存好,別落下一個就糟了。
『叄』 如何查看sqlserver的啟動/停止日誌
您好,很高興為您解答。
預設情況下,在Program FilesMicrosoft SQL ServerMSSQLLog目錄下。最近的錯誤日誌名稱是ERRORLOG,如果停止並重啟SQL Server,舊的日誌將被壓縮和新建一個文件。此外,也可以通過DBCC ERRORLOG 命令或者sp_cycle_errorlog 系統存儲過程回收錯誤日誌。
[@more@]
以下是一些沒有寫在文檔中但是眾所周知的系統存儲過程,這些存儲過程可以從SQL Server自身讀取錯誤日誌。
exec xp_enumerrorlogs 1 will list SQL Engine errorlog file numbers
exec xp_readerrorlog <errorlognumber>, 1 will return the content of the requested Engine errorlog file.
exec xp_enumerrorlogs 2 will list the Agent error log file numbers
exec xp_readerrorlog <errorlognumber>, 2 will return the content of the requested Agent error log file.
舉例:
exec xp_enumerrorlogs 2
存檔# 日期 日誌文件大小(位元組)
1 08/06/2012 10:52 11399188
2 07/13/2012 00:58 1048
3 07/13/2012 00:55 1048
4 07/13/2012 00:55 12682508
5 06/16/2012 09:53 12869230
6 05/20/2012 05:38 10492
7 05/20/2012 05:25 11766
8 05/20/2012 05:08 10012278
9 04/29/2012 00:41 15371150
0 08/08/2012 11:30 939606
exec xp_readerrorlog 1, 2
時間 錯誤級別 內容
2012-07-13 01:07:03.0 3 [393] 正在等待 SQL Server 恢復資料庫...
2012-07-13 01:18:29.0 3 [100] Microsoft SQLServerAgent 版本 9.00.1399.06 (內部版本號 x86 unicode 零售): 進程 ID 1996
2012-07-13 01:18:29.0 3 [101] SQL Server SVCTAG-4GCYY2X 版本 9.00.1399 (連接限制: 0)
2012-07-13 01:18:29.0 3 [102] SQL Server ODBC 驅動程序版本 9.00.1399
2012-07-13 01:18:29.0 3 [103] 驅動程序使用的 NetLib 是 DBNETLIB.DLL;本地主機伺服器是
2012-07-13 01:18:29.0 3 [310] 檢測到 8 個處理器和 4096 MB RAM
2012-07-13 01:18:29.0 3 [339] 本地計算機是 SVCTAG-4GCYY2X,運行的是 Windows NT 5.2 (3790) Service Pack 2
2012-07-13 01:18:29.0 3 [431] 正在填充子系統緩存...
2012-07-13 01:18:36.0 3 [432] 子系統緩存中有 11 個子系統
2012-07-13 01:18:36.0 3 [124] 已成功載入子系統「TSQL」(最大並發數: 160)
2012-07-13 01:18:37.0 3 [124] 已成功載入子系統「ActiveScripting」(最大並發數: 80)
2012-07-13 01:18:37.0 3 [124] 已成功載入子系統「CmdExec」(最大並發數: 80)
2012-07-13 01:18:38.0 3 [124] 已成功載入子系統「Snapshot」(最大並發數: 800)
2012-07-13 01:18:38.0 3 [124] 已成功載入子系統「LogReader」(最大並發數: 200)
~ O(∩_∩)O~
『肆』 sql server的日誌文件能不能刪除
資料庫在使用過程中會使日誌文件不斷增加,使得資料庫的性能下降,並且佔用大量的磁碟空間。SQL Server資料庫都有log文件,log文件記錄用戶對資料庫修改的操作。可以通過直接刪除log文件和清空日誌在清除資料庫日誌。
一、刪除LOG
1、分離資料庫。分離資料庫之前一定要做好資料庫的全備份,選擇資料庫——右鍵——任務——分離。
勾選刪除連接
分離後在資料庫列表將看不到已分離的資料庫。
2、刪除LOG文件
3、附加資料庫,附加的時候會提醒找不到log文件。
刪除資料庫信息信息的ldf文件:
附加資料庫之後將生成新的日誌文件log,新的日誌文件的大小事504K。
也可以通過命令才完成以上的操作:
use master;
exec sp_detach_db @dbname='TestDB';
exec sp_attach_single_file_db @dbname='TestDB',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.mdf'
二、清空日誌
該命令在SQL Server 2005和2000支持,SQL Server 2008不支持該命令。
DUMP TRANSACTION TestDB WITH NO_LOG
三、收縮資料庫文件
DBCC SHRINKFILE ('TestDB_log',1)
四、截斷事務日誌
BACKUP LOG TestDB WITH NO_LOG
該命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。
清除SQLServer2005的LOG文件
--最好備份日誌,以後可通過日誌恢復數據。。。
以下為日誌處理方法
一般不建議做第4,6兩步
第4步不安全,有可能損壞資料庫或丟失數據
第6步如果日誌達到上限,則以後的資料庫處理會失敗,在清理日誌後才能恢復.
--*/
--下面的所有庫名都指你要處理的資料庫的庫名
1.清空日誌
DUMPTRANSACTION 庫名 WITH NO_LOG
2.截斷事務日誌:
BACKUPLOG 庫名 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.分離
EXEC sp_detach_db @dbname='庫名'
b.刪除日誌文件
c.再附加
EXEC sp_attach_single_file_db @dbname='庫名',
@physname='c:\Program Files\Microsoft SQL Server\MSSQL\Data\庫名.mdf'
5.為了以後能自動收縮,做如下設置:
企業管理器--伺服器--右鍵資料庫--屬性--選項--選擇"自動收縮"
--SQL語句設置方式:
EXEC sp_dboption '庫名', 'autoshrink', 'TRUE'
6.如果想以後不讓它日誌增長得太大
企業管理器--伺服器--右鍵資料庫--屬性--事務日誌
--將文件增長限制為xM(x是你允許的最大數據文件大小)
--SQL語句的設置方式:
alterdatabase 庫名 modify file(name=邏輯文件名,maxsize=20)
SQL Server 資料庫使用時間一長就會導致Log文件逐漸變的龐大, 想備份一下資料庫, 想發給誰都很困難
運行下面的語句就可以 清到Log文件只剩下1M左右的空間.
DUMP TRANSACTION 資料庫名 WITH NO_LOG
DBCC SHRINKDATABASE('資料庫名',TRUNCATEONLY)
不重啟SQL服務,刪除SQLServer系統日誌
SQLServer的系統日誌過大,就會引起SQLServer伺服器無法啟動等一系列問題。今天我遇到了這個問題,在網上搜索了一下,解決方法是刪除就 可以了,可是當前的ErrorLog正在被SQL使用無法刪除啊,要刪除只能停止SQL伺服器,難道就沒有別得辦法了嗎?
回答是肯定的:使用以下存儲過程:EXEC sp_cycle_errorlog
注釋
每次啟動 SQL Server時,當前錯誤日誌重新命名為 errorlog.1;errorlog.1 成為 errorlog.2,errorlog.2 成為 errorlog.3,依次類推。sp_cycle_errorlog 使您得以循環錯誤日誌文件,而不必停止而後再啟動伺服器。
『伍』 如何查看SQLSERVER 2005日誌
在SQL Server Management Studio中查看SQL Server日誌的方法如下:
(1)啟動【SQL Server Management Studio】並連接到SQL Server伺服器上。
(2)在【對象資源管理器】中,屏開【實例名】 【管理】 【SQL Server日誌 ] 可以看到SQL Server的日誌存檔。
SQL Server 2005還會將SQL Server的錯誤日誌存在系統盤的「D:\Program Files\Microsoft SQL Server\MSSQL.X\MSSQL\LOG」目錄下,文件名「ERRORLOG」和「ERRORLOG.X 」,其中「X」是數字。用記事本可以打開來查看。
『陸』 如何查看sql server 2008的SQL語句執行錯誤日誌
1、使用了SQL Server 2008 Management Studio進行載入資料庫,進行點擊列表中的管理的選項。