sql修復語句
1、在實際的操作中由於突然斷電或者突然斷網造成資料庫置疑(在企業管理器中資料庫後面出現置疑兩個字),我們通過以下方法來進行修復置疑的資料庫。
2、我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQL Server Enterprise Manager裡面建立。
3、停掉資料庫伺服器。
4、將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。
5、啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。
6、設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。
B. 誰有修復SQL2000資料庫文件(.mdf和.ldf)的工具
修復這兩種文件的資料庫,可以試一下如下方法,我在日常維護工作,經常用以下方法,還真的蠻好用的.
1)用語句將要修復的資料庫置為單用戶.語句如下:
sp_dboption '要修復的數據名', 'single user', 'true'
2)修復資料庫,運行如下語句:
DBCC CHECKDB('要修復的數據名' , REPAIR_ALLOW_DATA_LOSS )
直至不出錯將資料庫取消單用戶模式,語句如下:
sp_dboption '要修復的數據名', 'single user', 'false'
注意:所有運行的資料庫都連接master!
C. sql注入漏洞修復方法有什麼
可以嘗試以下方法:
- 使用帶參數的SQL語句方法
- 調用存儲過程
好處:
帶參數的SQL語句本意就是用來防止注入式攻擊
存儲過程的話,在資料庫中寫好存儲過程,在VS中進行調用即可
D. 怎麼修復已經損壞的SQL資料庫
有兩種方法,一種方法使用mysql的check table和repair table 的答升sql語句,另一種方法是使用MySQL提供的多個myisamchk, isamchk數據檢測恢復工具。
前者使用起來比較簡便。推薦使用。
1、check table 和 repair table 登陸mysql 終端: mysql -uxxxxx -p dbname check table tabTest;
如果出培斗現的結果說Status是OK,則不用修復,如果有Error,可以用: repair table tabTest; 進行修復,修復之後可以在用check table命令來進行檢查。
在新版本的phpMyAdmin裡面也可以使用清中老check/repair的功能。
2. myisamchk, isamchk 其中myisamchk適用於MYISAM類型的數據表,而isamchk適用於ISAM類型的數據表。
這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為預設的數據表類型,這里以myisamchk為例子進行說明。
當發現某個數據表出現問題時可以使用: myisamchk tablename.MYI 進行檢測,如果需要修復的話,可以使用: myisamchk -of tablename.MYI 關於myisamchk的詳細參數說明,可以參見它的使用幫助。
需要注意的時在進行修改時必須確保MySQL伺服器沒有訪問這個數據表,保險的情況下是最好在進行檢測時把MySQL伺服器Shutdown掉。
2、另外可以把下面的命令放在你的rc.local裡面啟動MySQL伺服器前: [ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI 。
其中的/tmp/mysql.sock是MySQL監聽的Sock文件位置,對於使用RPM安裝的用戶應該是/var/lib/mysql/mysql.sock,對於使用源碼安裝則是/tmp/mysql.sock可以根據自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL資料庫存放的位置。
需要注意的是,如果你打算把這條命令放在你的rc.local裡面,必須確認在執行這條指令時MySQL伺服器必須沒有啟動!
最後檢測修復所有資料庫(表)。
E. 如何修復損壞的MySQL數據表
工具/材料:Management Studio。
1、首先在桌面上,點擊「Management Studio」圖標。