① 如何查詢sqlserver 2000操作日誌
你好!
1.如果要看日誌內容,sql server下不直接支持,但是可以用LogExplorer(只支持2000)等工具來查看
如果你的意思是想看資料庫在執行什麼語句,可以用Sql profiler
菜單 Tool->Sql Server Profiler
進到Profiler的界面後新建一個跟蹤(new Trace),選擇好你的資料庫和相應的用戶、密碼,然後就可以看到所有傳到Sql Server來執行的語句了。
如果想更多的了解,可以去找些 Sql Server Profiler的資料看下,最好還是自己試幾下,操作很簡單,但是平時開發過程中調試很好用
2.每個 Microsoft® SQL Server™ 2000 資料庫都有事務日誌,用以記錄所有事務和每個事務對資料庫所做的修改。記錄事務及其修改有三個作用:
恢復個別的事務。
如果應用程序發出 ROLLBACK 語句,或者 SQL Server 檢測到錯誤(例如失去與客戶端的通訊),就使用日誌記錄回滾未完成的事務所做的修改。
SQL Server 啟動時恢復所有未完成的事務。
當運行 SQL Server 的伺服器發生故障時,資料庫可能處於這樣的狀態:還沒有將修改從高速緩沖存儲器寫入數據文件,在數據文件內有未完成的事務所做的修改。當啟動 SQL Server 的復本時,它對每個資料庫執行恢復操作。前滾日誌中記錄的、可能尚未寫入數據文件的每個修改。然後回滾在事務日誌中找到的每個未完成的事務,以確保資料庫的完整性。
將還原的資料庫前滾到故障點。
丟失資料庫(在沒有 RAID 驅動器的伺服器上,硬碟驅動器出現故障時可能會出現這種情況)後,可以將資料庫還原到故障點。首先還原上一次的完整資料庫備份或差異資料庫備份,然後將事務日誌備份序列還原到故障點。當還原每個日誌備份時,SQL Server 重新應用日誌中記錄的所有修改以前滾所有事務。當最後的日誌備份還原後,SQL Server 將使用日誌信息回滾到該點未完成的所有事務。
SQL Server 2000 事務日誌的特點是:
事務日誌不是作為一個表實現,而是作為單獨的文件或資料庫內的一組文件實現。日誌高速緩存與數據頁的高速緩沖存儲器分開管理,從而使資料庫引擎內的編碼更簡單、更快速和更可靠。
日誌記錄和頁的格式不必遵守數據頁的格式。
事務日誌可以在幾個文件上實現。可以根據需要定義這些文件為自動增長。這樣可減少事務日誌內空間不足的可能性,同時減少管理開銷。
截斷日誌中未用部分的機制速度快且對事務吞吐量影響最小。
② SQL server 2000中,日誌文件怎麼打開查看呢
打開SQL SERVER --- management --- sql server logs
③ SQL SERVER 2000資料庫日誌文件過大如何解決
收縮資料庫
一般情況下,SQL資料庫的收縮並不能很大程度上減小資料庫大小,其主要作用是收縮日誌大小,應當定期進行此操作以免資料庫日誌過大
1、設置資料庫模式為簡單模式:打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server-->SQL Server組-->雙擊打開你的伺服器-->雙擊打開資料庫目錄-->選擇你的資料庫名稱(如論壇資料庫Forum)-->然後點擊右鍵選擇屬性-->選擇選項-->在故障還原的模式中選擇「簡單」,然後按確定保存
2、在當前資料庫上點右鍵,看所有任務中的收縮資料庫,一般裡面的默認設置不用調整,直接點確定
3、收縮資料庫完成後,建議將您的資料庫屬性重新設置為標准模式,操作方法同第一點,因為日誌在一些異常情況下往往是恢復資料庫的重要依據
④ Sql Server2000日誌怎麼查看
打開sqlserver管理器,在sqlserver根目錄下有目錄「管理」,展開「管理」,你就可以看到「sql
server
日誌」
⑤ 如何壓縮SQL Server 2000資料庫的日誌
具體方法有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
⑥ SQL2000怎樣查看資料庫的日誌
查看交易日誌(Transaction logs),擴展名為ldf。
交易日誌是針對資料庫改變所做的記錄,它可以記錄針對資料庫的任何操作,並將記錄結果保存在獨立的文件中。對於任何每一個交易過程,交易日誌都有非常全面的記錄,根據這些記錄可以將數據文件恢復成交易前的狀態。從交易動作開始,交易日誌就處於記錄狀態,交易過程中對資料庫的任何操作都在記錄范圍,直到用戶點擊提交或後退後才結束記錄。每個資料庫都擁有至少一個交易日誌以及一個數據文件。
出於性能上的考慮,SQL Server將用戶的改動存入緩存中,這些改變會立即寫入交易日誌,但不會立即寫入數據文件。交易日誌會通過一個標記點來確定某個交易是否已將緩存中的數據寫入數據文件。當SQL Server重啟後,它會查看日誌中最新的標記點,並將這個標記點後面的交易記錄抹去,因為這些交易記錄並沒有真正的將緩存中的數據寫入數據文件。這可以防止那些中斷的交易修改數據文件。