配環境時如何防止伺服器出問題
㈠ 我公司的伺服器最近老是被攻擊,如何防範
1、當我們在發現伺服器被攻擊或被入侵後,建議應立即關閉所有網站服務,暫停至少3小時。
2、查看伺服器日誌,看下是怎麼回事。並且對伺服器進行整體安全掃描。檢測是否存在病毒等威脅。
3、為系統升級安全補丁,包括所有運行著的伺服器軟體。
4、安裝防火牆對攻擊進行防禦。市面上有很多的伺服器安全軟體,比如說安全狗,就是一款不錯的伺服器防火牆。
5、建議為伺服器和網站重新配置許可權,關閉刪除可疑的系統賬戶。
6、重新設置各種管理密碼,並把密碼設置的復雜些。
7、對伺服器日誌進行備份,對所有網站的數據和程序進行備份操作,防止黑客惡意刪除網站數據造成經濟損失。
並且在接下來的幾天里要密切關注伺服器和網站的運行情況,看是否還會出現黑客攻擊的情況發生,然後根據日誌發現並修補那些未知的漏洞。
轉~~~希望對你有用
㈡ 如何做好伺服器安全維護
近期接到很多站長的求助,伺服器被黑,網站被掛馬,快照被劫持等等。
在這里,我們(南昌壹基比)給大家講下加強伺服器和網站安全的方法。
一、關閉不常用的伺服器埠
1、我們網站用戶常用的埠一般有:FTP(21)、SSH(22)、遠程桌面(3389)、http(80)、https(443),以及部分管理面板需要使用到的特殊埠。如:寶塔(8888)等等 在這里,如果是網站用戶除了http(80)是必須常開的,其他的埠都可以在需要使用的時候再打開,使用完畢後立即關閉。
2、如果你使用了伺服器管理面板(linux),比如wdcp,wdcp默認的埠是8080,強烈建議你在wdcp後台修改默認的埠。(防止被惡意連接)
3、如果你使用的是windows系統的伺服器,我也強烈建議你修改windows系統默認的遠程連接埠。
4、FTP(21)是用來上傳網站源碼使用的,在不使用的情況下最好關閉掉,避免暴力破解等操作。
二、謹慎安裝不明來源的程序、插件
從互聯網下載的程序、插件,我們不敢保證100%的可信,所以請不要隨意安裝不明來源的程序和插件。一旦這些程序、插件帶有後門,那麼你的伺服器可能就GG了。
作為使用discuz的站長,插件、模板等盡量從discuz官方應用中心下載安裝,畢竟這些應用都是經過discuz應用中心審核過的,安全性有一定的保證。
使用wordpress的站長,安裝模板和插件時,先搜下wordpress後台的插件中心中是否有你需要的插件,如果沒有,再考慮從值得信賴的第三方網站下載插件。其他程序同理!
三、有條件的站長們可以考慮站庫分離(網站程序和資料庫分開來放置)
四、web伺服器磁碟許可權要做好。
刪除不必要的用戶,如:everyone(所有人,危險程度5星~)可以只保留administrator、system以及網站用戶即可
五、市面上有很多網站加固安全軟體可以適當安裝。
但是優化過程中要慎重,避免優化過度導致網站打開出問題。
六、定期對網站以及資料庫做備份。
(有條件的話異地備份最好)避免伺服器硬碟掛掉導致所有的辛苦付之一炬~
七、保存好伺服器的密碼和網站、資料庫密碼。
密碼要定期修改,盡可能的復雜一些
八、伺服器漏洞補丁修復。
有很多站長可能對補丁會有所忽略,補丁其實是重中之重,很多入侵者都是針對系統漏洞進行入侵
㈢ 關於伺服器,硬體配置,和溫度環境要求是怎麼樣的
關於伺服器,硬體配置,和溫度環境要求是怎麼樣的
環境的話,一般就是需要注意物理環境。即溫度、電源、地板、防火系統。
作為機房(電腦學習室/數據中心),它的物理環境是受到了嚴格控制的,主要分為幾個方面:即溫度、電源、地板、防火系統。
溫度
說到溫度,一般用的都是空調了。空調用來控制數據中心的溫度和濕度,製冷與空調工程協會的「數據處理環境熱准則」建議溫度范圍為20-25℃(68-75℉),濕度范圍為40-55%,適宜數據中心環境的最大露點溫度是17℃。在數據中心電源會加熱空氣,除非熱量被排除出去,否則環境溫度就會上升,導致電子設備失靈。通過控制空氣溫度,伺服器組件能夠保持製造商規定的溫度/濕度范圍內。空調系統通過冷卻室內空氣下降到露點幫助控制濕度,濕度太大,水可能在內部部件上開始凝結。如果在乾燥的環境中,輔助加濕系統可以添加水蒸氣,因為如果濕度太低,可能導致靜電放電問題,可能會損壞元器件。
電源
機房的電源由一個或多個陸辯不間斷電源(UPS)和/或柴油發電機組成備用電源。為了避免出現單點故障,所有電力系統,包括備用電源都是全冗餘的。對於關鍵伺服器來說,要同時連接到兩個電源,以實現N+1冗餘系統的可靠性。靜態開關有時用來確保在發生電力故障時瞬間從一個電源切換到另一個電源。
地板
機房的地板相對瓷磚地板要提升60厘米(2英尺),這個高度隨社會發展變得更高了,是80-100厘米,以提供更好的氣流均勻分布。這樣空調系統可以把冷空氣也灌到地板下,同時也為地下電力線布線提供更充足的空間,現代數據中心的數據電纜通常是經由高架電纜盤鋪設的,但仍然有些人建議出於安全考慮還是應將數據線鋪設到地板下,並考慮增加冷卻系統。小型數據中心裡沒有提升的地板可以不用防靜電地板。計算機機櫃往往被組織到一個熱通道中,以便使空氣流通效率最好。
防火系統
機房的防火系統包括無源和有源設計,以及防火行動執行計劃。通常會安裝煙霧探測器,在燃燒產生明火之前能夠提前發現火警,在火勢增大之前可以截斷電源,使用滅火器手動滅火。在數據中心是不能使用自動噴水滅火裝置的,因為電子元器件遇水後通常會發生故障,特別是電源未截斷的情況下使用水滅火情況會變得更糟。即使安裝了自動噴水滅火系統,清潔氣體滅火系統也應早於自動噴水滅火系統啟動。在數據中心還應該安裝防火牆,這樣可以將火源控制在局部范圍內,即便是發生火災也可以將損失減到最低。
zabbix伺服器需要怎麼樣的硬體配置
配置方式:
1. 完成自定義監控腳本的編寫(windows或linux腳本)
腳本要求:(1)既然是監控,那必然要有閉拍輸出結果值(字元串,數字皆可)
(2)必須要求zabbix用戶有執行許可權,當然可以直接設置所有用戶都有執行許可權(chmod 777 腳本文件)
(3)若腳本需要傳入參數,按照參數傳入的順序,在腳本中可用$1-$9來引用傳入的參數
2 找到zabbix agent的配置文件zabbix_agentd.conf,修改如下兩個參數
UnsafeUserParameters=0 => UnsafeUserParameters=1並去掉前面的注釋符
UserParameter= => UserParameter=aaa.bbb[*], /usr/local/script/monitor.sh $1 $2 …
說明:aaa.bbb[*] ---zabbix伺服器添加監控信息時需要用到的key值,
格式:aaa.bbb[*](例:system.file.size[*])
/usr/local/script/monitor.sh ----監控腳本絕對路徑
為了便於靈活監控,有時腳本需要傳入參數,此參數可從zabbix伺服器端傳入,所有參數按順序分別從$1-$9表示
註:(1)若無需傳入參數,則紅色部分可省略
(2)該自定義腳早態缺本可由zabbix伺服器控制收集數據的頻率(如:每30s運行一次),無需再添加計劃任務
(3)以上參數請根據實際情況填寫,並注意去除參數前注釋符(#)
(4)注意在key值和後面的腳本之間有個逗號隔開
至此,自定義監控腳本zabbix agent端配置結束
3. 測試
測試命令: /usr/local/bin/zabbix_agentd -t key[參數]
示例:/usr/local/bin/zabbix_agentd -t system.file.size[/etc/a.txt,abc,…]
4. 監控腳本舉例:
腳本名稱:/usr/local/script/monitor.sh
腳本內容:echo `date +"%F %T"`
腳本要求:必須在控制台輸出值,該值將作為返回值返回給zabbix伺服器端
魔方雲的伺服器硬體配置怎麼樣?
搭建純SSD架構的高性能企業級雲伺服器,採用高端Intel Haswell CPU、高頻DDR4內存、高速Sas3 SSD快閃記憶體作為底層硬體配置。
怎樣估算oracle伺服器的硬體配置
Dell PowerEdge T710
標准配置
TPCC:239,392
代理伺服器的硬體配置
公司用最好還是用專業級的伺服器,打電話給相關電腦伺服器供應商很容易了解行情。否則,找台內存大點兒的機器,速度快點兒的機器也湊合著用。
聯想rd350伺服器怎麼查硬體配置
因為陣列卡等設備的原因,在伺服器上檢測硬碟不太方便,如果是sata盤,拔下直接上台式機檢測。
我用的是小鳥雲的伺服器,挺不錯。
打水伺服器的配置要求是怎樣的
打水伺服器通常是指虛擬伺服器業務,多在境外。 打水的伺服器,一般都是需要高配置,一般為Q84OO以上,i3 i5 17是目前市面上的打水伺服器的最佳選擇。
小提示:目前,打水雖然有風險,但是還是有利可圖的,但是要方法得當,如果你打兩個月都賺不到點錢,建議不要再打,因為可能你不合適做打水,正如不是個個人都能炒股賺到錢一樣。
郵件伺服器250用戶 需要怎麼樣的硬體配置 需要多大的硬碟容量?
dell R310 X3430/4G/500G*2 sata/raid1 這個配置用於郵件伺服器足夠了,軟體推薦用:《科信KXmail郵件系統》,可以查下!
選購伺服器硬體配置要注意什麼?
伺服器硬體配置要穩定高效,千萬不要選購一些太便宜的伺服器配件,如果伺服器運行時因為配置問題出現什麼問題,損失就很大了,如機箱一定要選擇好點的,國產有家叫IOK的機箱還可以,你去了解下。什麼EMC啊 防震效果 聽說都是不錯 而且最大的好處是可以定製 客戶喜歡咋整就咋整
怎麼配置伺服器硬體
300個web站點,說多也不多,說少也不少了。在這個階段,可以先用這款雙路四核的伺服器,標配一顆至強E5620四核處理器,英特爾5500晶元組伺服器主板,2G DDR3 REG ECC內存,SSD 80G固態硬碟,雙千兆網卡,性能可以說是相當不錯,帶100萬廣告聯盟沒問題。如果以後訪問量增加,可以擴展到兩顆處理器,達成8顆處理核心,16條處理線程(在任務管理器的cpu格子窗口能看到16個- -~~~相當變態),內存可以增加到24GB!
㈣ 如何防止sqlserver伺服器被黑
一、基本安全設定:
(1)文件系統的設定 windows2000server 支持多種文件系統,最安全的要數NTFS文件系統,如果你的windows2000server要用作伺服器,最好將所有的分區都格式化為NTFS文件系統,fat32是不能用的。
(2)補丁(pack) 目前windows2000已經到sp4了,這個大補丁一定要裝的,安裝sp4後再到網路上升級,將微軟提供的各種重要系統安全更新全部都升級,不要怕麻煩,這是防病毒和黑客攻擊的非常重要安全設置步驟。
(3)帳號安全帳號是windows2000server的重要的安全保證,要注意區分一些工作組的許可權: administrators是系統管理員組,administrator是系統默認的管理帳號,administrator最好設置一個復雜的密碼,復雜到什麼程度呢?簡單的說,自己都要記不住這個密碼,這個密碼可以是字元、數字、符號、大小寫的組合(如:AGgF!452KhtUN),密碼不要讓別人猜得到,不要用自己得電話號碼啦之類的東西,最好在筆記本上將密碼設定好後再設置,設好密碼後妥善保管記錄密碼的筆記本,每隔一段時間更改自己的密碼 guest帳號最好禁止使用,如果沒有必要,不要添加其他的系統管理員帳號。
(4)關閉不必要的服務在服務中將一些不常用的服務關閉(比如列印、遠程注冊表操作,信息發送等不必要的服務)。
(5)網路協議如果沒有其他的用途,windows2000server只需要安裝tcp/ip協議,其他不必要的協議統統刪除。(6)如果沒必要,IIS一定不要安裝(如果需要安裝iis,那麼看後面的設置) IIS是windows2000server中最不安全的組件,不裝IIS,windows2000將是很安全的。
(7)默認共享的刪除 windows2000server默認的共享有以下幾種 c$ d$ e$ ..... IPC$ ADMIN$ 這些默認共享一定要關,否者hk利用簡單的Net use命令就可以將你的伺服器黑掉下面提供簡單的關閉這些共享的方法 A、建立一個批處理文件,如a.bat B、在該批處理文件中添加下面的語句 net share c$ /del (這是取消c盤的默認共享,同理 net share d$ /del 是取消d盤的共享,你有多少個盤符,就編多少個以上的語句) net share ipc$/del (刪除ipc默認共享) net share admin$ /del (刪除 admin默認共享) C 、將以上的語句添加完後,將該文件放入開始菜單中程序中啟動文件夾中,讓windows2000server每次啟動都將默認的共享刪除(7)CMD的設置 cmd.exe是windows2000中非常重要的文件,很多漏洞都是要*調用該個文件,該文件在windows2000server所在目錄的system32中,我們需要對其進行設定 A、將該文件從system32中拷貝出來放在其他地方,將原來的文件刪除 B、將拷貝出來的文件進行許可權設定,只允許administrator訪問,不允許其他任何的工作組或用戶訪問該文件。
(8)windows2000server終端服務(默認3389埠) windows2000server提供了遠程終端服務,此服務方便了網路管理員對伺服器的遠程管理,但是,該服務也為黑客提供了非常危險的攻擊,網路黑客口中的所謂跳板(肉雞)絕大部分都是利用該功能進行自我隱蔽的攻擊。一旦系統管理員的密碼被破解,而該伺服器又提供終端服務,黑客就可以完全控制了該伺服器,不但伺服器的各種資料會完全暴露,而且黑客還會利用這台伺服器去攻擊其他的伺服器,因此該服務除非你覺得自己的伺服器足夠安全,否則最好不要打開,特別是暴露在互連網路中的伺服器,打開該功能一定要小心謹慎。 A、如何知道自己的終端服務是否打開?終端服務需要安裝,我們可以通過控制面板中的添加/刪除程序中的添加/刪除windows組件來安裝,在windows組件向導列表中最下面有兩個組件,一個是「終端服務」,一個是「終端服務授權」,我們只需要安裝「終端服務」這個組件就可以將該功能啟用,一旦啟用了該功能,默認的情況下,我們的tcp3389埠就會打開。所以,我們看看這個地方,如果你的組件「終端服務」前面打了勾,就表明你已經打開了該服務。有些黑客手段很高明,一旦控制了你的計算機後,可以遠程打開該服務,這種情況下,我們最好檢查windows2000server啟用了哪些服務,如何檢查呢?打開windows2000server的服務管理(開始菜單——程序——管理工具——服務)。在服務列表中檢查Terminal Services這項服務的狀態,看看如果該服務處於「 禁用」狀態,說明該服務沒打開,如果該服務處於「已啟動」狀態,說明該服務已經打開。 B、如何關閉該服務!第一步,通過控制面板中的添加/刪除程序中的添加/刪除windows組件來將該服務組件刪除第二步,在服務中將Terminal Services服務禁用注意:需要經常檢查該服務是否被非法啟動,如果你在你沒有啟動該服務的情況下你發現它已打開,非常不幸,你的伺服器已經被黑,成為了別人的跳板(肉雞)最好的解決方法是重作伺服器系統,不要以為關閉該服務就行了。
(9)telnet服務(默認23埠)相對於3389來講,telnet服務更不容易引起管理員的注意,該服務以前是UNIX和Linux類系統提供的遠程管理終端服務,windows2000server也提供了,它也是一個終端服務,只不過telnet服務是字元界面,而3389服務是圖形界面,二者都能完全遠程式控制制伺服器的所有功能。我以前在利用肉雞的時候,一般都不用3389,為什麼呢?該服務速度慢,我一般都是打開肉雞的telnet服務,速度非常快,功能也很全面,又不容易被發覺 A、如何知道自己的telnet服務是否打開?在windows2000server控制面板——管理工具中有一項「Telnet 伺服器管理」(對應的文件是system32中的tlntadmn.exe),這就是該服務的開關,我們可以利用該程序配置我們的telnet服務。打開開始菜單——程序——管理工具——服務,在服務列表中有該服務對應的一項「Telnet」,默認的情況下,該服務狀態是「手動」,如果,該服務是「已啟動」狀態,說明該服務已經啟動了,你可以用以下命令連接在windows(98/2000/xp/2003)字元模式下輸入: telnet 伺服器的IP地址如果出現了登陸界面,非常不幸,你的telnet服務真的已開,如果不是你開的,非常不幸,你被黑了,你可能成為了肉雞。 B、如何關閉該服務!打開開始菜單——程序——管理工具——服務,在服務中將telnet服務禁用建議:最好將system32中的tlntadmn.exe拷貝出來放到其他文件夾中並改名,並將該文件從system32中刪除。隨時檢查telnet服務的狀態,如果該服務是「已啟動」狀態,而又不是你啟動的,最好重新安裝伺服器系統。最好隨時掃描你的伺服器所開的埠,如果23埠已開或有一些不知名的埠已開(因為黑客很可能會將提供該服務的埠改為其他的埠來逃避檢查),用telnet命令測試一下,看看能不能連接。附:telnet命令格式 telnet ip地址埠如:telnet 192.168.1.1 (連接伺服器192.168.1.1的默認23埠)如:telnet 192.168.1.1555 (連接伺服器192.168.1.1的555埠) SQL Server 2000的安全配置在進行SQL Server 2000資料庫的安全配置之前,首先你必須對操作系統進行安全配置,保證你的操作系統處於安全狀態。然後對你要使用的操作資料庫軟體(程序)進行必要的安全審核,比如對ASP、PHP等腳本,這是很多基於資料庫的WEB應用常出現的安全隱患,對於腳本主要是一個過濾問題,需要過濾一些類似 , 『 @ / 等字元,防止破壞者構造惡意的SQL語句。接著,安裝SQL Server2000後請打上補丁sp1以及最新的sp2。 1、使用安全的密碼策略我們把密碼策略擺在所有安全配置的第一步,請注意,很多資料庫帳號的密碼過於簡單,這跟系統密碼過於簡單是一個道理。對於sa更應該注意,同時不要讓sa帳號的密碼寫於應用程序或者腳本中。健壯的密碼是安全的第一步!SQL Server2000安裝的時候,如果是使用混合模式,那麼就需要輸入sa的密碼,除非你確認必須使用空密碼。這比以前的版本有所改進。同時養成定期修改密碼的好習慣。資料庫管理員應該定期查看是否有不符合密碼要求的帳號。比如使用下面的SQL語句:Use master Select name,Password from syslogins wherepassword is null
2、使用安全帳號策略:由於SQL Server不能更改sa用戶名稱,也不能刪除這個超級用戶,所以,我們必須對這個帳號進行最強的保護,當然,包括使用一個非常強壯的密碼,最好不要在資料庫應用中使用sa帳號,只有當沒有其它方法登錄到 SQL Server 實例(例如,當其它系統管理員不可用或忘記了密碼)時才使用 sa。建議資料庫管理員新建立個擁有與sa一樣許可權的超級用戶來管理資料庫。安全的帳號策略還包括不要讓管理員許可權的帳號泛濫。SQL Server的認證模式有Windows身份認證和混合身份認證兩種。如果資料庫管理員不希望操作系統管理員來通過操作系統登陸來接觸資料庫的話,可以在帳號管理中把系統帳號「BUILTIN\Administrators」刪除。不過這樣做的結果是一旦sa帳號忘記密碼的話,就沒有辦法來恢復了。很多主機使用資料庫應用只是用來做查詢、修改等簡單功能的,請根據實際需要分配帳號,並賦予僅僅能夠滿足應用要求和需要的許可權。比如,只要查詢功能的,那麼就使用一個簡單的public帳號能夠select就可以了。
3、加強資料庫日誌記錄:審核資料庫登錄事件的「失敗和成功」,在實例屬性中選擇「安全性」,將其中的審核級別選定為全部,這樣在資料庫系統和操作系統日誌裡面,就詳細記錄了所有帳號的登錄事件。請定期查看SQL Server日誌檢查是否有可疑的登錄事件發生,或者使用DOS命令。findstr /C:"登錄" d:\Microsoft SQL Server\MSSQL\LOG\*.*
4、管理擴展存儲過程:對存儲過程進行大手術,並且對帳號調用擴展存儲過程的許可權要慎重。其實在多數應用中根本用不到多少系統的存儲過程,而SQL Server的這么多系統存儲過程只是用來適應廣大用戶需求的,所以請刪除不必要的存儲過程,因為有些系統的存儲過程能很容易地被人利用起來提升許可權或進行破壞。如果你不需要擴展存儲過程xp_cmdshell請把它去掉。使用這個SQL語句:use master sp_dropextendedproc xp_cmdshellxp_cmdshell是進入操作系統的最佳捷徑,是資料庫留給操作系統的一個大後門。如果你需要這個存儲過程,請用這個語句也可以恢復過來。sp_addextendedproc xp_cmdshell, xpsql70.dll 如果你不需要請丟棄OLE自動存儲過程(會造成管理器中的某些特徵不能使用),這些過程包括如下:Sp_OACreateSp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty Sp_OAMethod Sp_OASetProperty Sp_OAStop 去掉不需要的注冊表訪問的存儲過程,注冊表存儲過程甚至能夠讀出操作系統管理員的密碼來,如下:Xp_regaddmultistring Xp_regdeletekeyXp_regdeletevalue Xp_regenumvaluesXp_regread Xp_regremovemultistring Xp_regwrite 還有一些其他的擴展存儲過程,你也最好檢查檢查。在處理存儲過程的時候,請確認一下,避免造成對資料庫或應用程序的傷害。
5、使用協議加密:SQL Server 2000使用的Tabular Data Stream協議來進行網路數據交換,如果不加密的話,所有的網路傳輸都是明文的,包括密碼、資料庫內容等等,這是一個很大的安全威脅。能被人在網路中截獲到他們需要的東西,包括資料庫帳號和密碼。所以,在條件容許情況下,最好使用SSL來加密協議,當然,你需要一個證書來支持。
6、不要讓人隨便探測到你的TCP/IP埠:默認情況下,SQL Server使用1433埠監聽,很多人都說SQL Server配置的時候要把這個埠改變,這樣別人就不能很容易地知道使用的什麼埠了。可惜,通過微軟未公開的1434埠的UDP探測可以很容易知道SQL Server使用的什麼TCP/IP埠了。不過微軟還是考慮到了這個問題,畢竟公開而且開放的埠會引起不必要的麻煩。在實例屬性中選擇TCP/IP協議的屬性。選擇隱藏 SQL Server 實例。如果隱藏了 SQL Server 實例,則將禁止對試圖枚舉網路上現有的 SQL Server 實例的客戶端所發出的廣播作出響應。這樣,別人就不能用1434來探測你的TCP/IP埠了(除非用Port Scan)。
7、修改TCP/IP使用的埠:請在上一步配置的基礎上,更改原默認的1433埠。在實例屬性中選擇網路配置中的TCP/IP協議的屬性,將TCP/IP使用的默認埠變為其他埠. 9、拒絕來自1434埠的探測由於1434埠探測沒有限制,能夠被別人探測到一些資料庫信息,而且還可能遭到DOS攻擊讓資料庫伺服器的CPU負荷增大,所以對Windows 2000操作系統來說,在IPSec過濾拒絕掉1434埠的UDP通訊,可以盡可能地隱藏你的SQL Server。10、對網路連接進行IP限制SQL Server 2000資料庫系統本身沒有提供網路連接的安全解決辦法,但是Windows 2000提供了這樣的安全機制。使用操作系統自己的IPSec可以實現IP數據包的安全性。請對IP連接進行限制,只保證自己的IP能夠訪問,也拒絕其他IP進行的埠連接,把來自網路上的安全威脅進行有效的控制。關於IPSec的使用請參看:http://www.microsoft.com/china/technet/security/ipsecloc.asp 上面主要介紹的一些SQL Server的安全配置,經過以上的配置,可以讓SQL Server本身具備足夠的安全防範能力。當然,更主要的還是要加強內部的安全控制和管理員的安全培訓,而且安全性問題是一個長期的解決過程,還需要以後進行更多的安全維護一、概述在應用系統中,資料庫往往是最核心的部分,一旦資料庫毀壞或損壞,將會帶來巨大的損失,所以資料庫的管理越來越重要。我們在做資料庫管理與維護工作中,不可避免會出現各種各樣的錯誤,本文針對資料庫的日誌文件丟失時如何利用MDF文件恢復資料庫的方法進行了研究。二、資料庫的恢復當資料庫的主數據MDF文件完好無損時,在丟失了LDF文件的情況下,如何利用MDF文件恢復資料庫?我們把SQL Server的日誌文件分為兩類:一類是無活動事務的日誌,另一類是含活動事務的日誌,根據不同的日誌,採取不同的方法來恢復資料庫。
1. 無活動事務的日誌恢復:無活動事務的日誌丟失時,我們很容易利用MDF文件直接恢復資料庫,具體方法如下:
①.分離被質疑的資料庫,可用企業管理器中的"分離資料庫工具",或者用存儲過程sp_detach_db分離資料庫;②利用MDF文件附加資料庫生成新的日誌文件,可用企業管理器中的"附加資料庫"的工具,或者用存儲過程sp_attach_single_file_db附加資料庫。如果資料庫的日誌文件中含有活動事務,利用此方法就不能恢復資料庫。
2. 含活動事務的日誌恢復:含有活動事務的日誌丟失時,利用上述方法就會出現"資料庫和日誌文件不符合,不能附加資料庫"。對於這種情況下,我們採用如下方法:
①新建同名資料庫AAA,並設它為緊急模式•停止SQL Server伺服器;•把資料庫主數據MDF文件移走;•啟SQL Server伺服器,新建一個同名的資料庫AAA;•停止SQL Server伺服器,把移走的MDF文件再覆蓋回來;•啟動SQL Server伺服器,把AAA設為緊急模式,不過默認情況下,系統表是不能隨便修改的,必須首先設置一下使其能被修改,運行以下語句即可: Use Master Gosp_configure 』allow updates』,1 reconfigure with override Go 接著運行以下語句,把AAA資料庫設為緊急模式,即把Sysdatabases表中AAA資料庫的status屬性設為』37268』,就表示把AAA資料庫處於緊急模式。 updatesysdatabases set status=32768 where hame=』AAA』如果沒有報告什麼錯誤,就可以進行以下操作。
②設置資料庫AAA為單用戶模式,並檢查資料庫•重啟SQL Server伺服器;•把資料庫AAA設為單用戶模式Sp_dboption 』AAA』, 』single user』, 』true』 •運行以下語句,檢查資料庫AAA DBCCCHECKDB(』AAA』) 如果沒有什麼大的問題就可以把資料庫的狀態改回去。
③還原資料庫的狀態運行以下語句,就可以把資料庫的狀態還原: update sysdatabases set status=28 wherename=』AAA』 sp_configure 』allow updates』,0 reconfigure with override Go 如果沒有什麼大的問題,刷新一下資料庫,資料庫AAA又會出現在你面前,但目前恢復工作還沒有做完,此時的資料庫仍不能工作,還要進行下面的處理,才能真正恢復。④利用DTS的導入導出向導,把資料庫AAA導入到一個新建資料庫BBB中•新建一個資料庫BBB; •右擊BBB,選擇IMPORT功能,打開導入向導;•目標源選擇"在SQL Server資料庫之間復制對象和資料庫",這樣可以把表結構,數據