當前位置:首頁 » 操作系統 » 資料庫恢復策略

資料庫恢復策略

發布時間: 2022-05-08 09:56:47

1. 一個完整的數據備份及恢復方案應包括那些

尊敬的用戶您好:
常見的數據備份與恢復方法有以下幾種:
1.數據備份:數據備份(Backup)是指將計算機硬碟上的原始數據(程序)復制到可移動媒體(Removable Media)上,如磁碟、磁帶、光碟等,在出現數據丟失或系統災難時將復制在可移動媒體上的數據恢復到硬碟上,從而保護計算機的系統數據和應用數據。
2.數據恢復:數據恢復(Recover)是數據備份的逆過程,即將備份的數據恢復到硬碟上的操
作。
3.數據歸檔:數據歸檔(Archive)將硬碟數據復制到可移動媒體上,與數據備份不同的是,數據歸檔在完成復制工作後將原始數據從硬碟上刪除,釋放硬碟空間。數據歸檔一般是對與年度或某一項目相關的數據進行操作,在一年結束或某一項目完成時將其相關數據存到可移動媒體上,以備日後查詢和統計,同時釋放寶貴的硬碟空間。
3.歸檔恢復:歸檔恢復(Retrieve)是數據歸檔的逆操作,將歸檔數據寫回到硬碟上。
4.在線備份:在線備份(On-line backup)是指對正在運行的資料庫或應用進行備份,通常對打開的資料庫和應用是禁止備份操作的,然而現在的有些計算機應用系統要求24小時運轉(如銀行的ATM業務),因此要求數據存儲管理軟體能夠對在線的資料庫和應用進行備份。
5.離線備份:離線備份(Off-line backup)指在資料庫SHUTDOWN或應用關閉後對其數據進行備份,離線
備份通常採用全備份。
6.全備份:全備份(Full backup)是備份策略的一種。執行數據全部備份操作。
7.增量備份:增量備份(Incremental backup)相對全備份而言,是備份策略的一種,只備份上一次備份後數據的改變數。
8.並行技術:並行技術(Parallelism)是指將不同的數據源同時備份/恢復到同一個備份設備/硬碟上。並行技術是考察數據存儲管理軟體性能的一個重要參數,有些廠商的軟體只能支持並行備份,而有的廠商則可以實現並行地備份及恢復;並且,真正有效的並行技術將可以充分利用備份設備的備份速度(帶寬),實現大數據量有限時間備份。
9.數據克隆:數據克隆(Clone)是實現災難恢復的一種重要手段,通過將原始數據同時備份到兩份可移動媒體上,將其中一份備份數據(Clone)轉移到地理位置不同的辦公室存放,在計算機系統發生重大災難如火災,系統連接的
備份設備和備份數據都被損壞的情況下,將重要數據在另一套系統上恢復,保障業務的正常運行。所有數據存儲管理軟體都提供克隆功能。

中國電信提供最優質的網路通訊服務,老友換新機,網齡抵現金,百兆寬頻免費體驗,超清電視iTV,電信活動可以直接通過營業廳查詢。

2. Mysql Innodb資料庫誤刪除了文件,怎麼恢復

經常性備份,如果binlog在的話,試試看……
- 恢復策略
前面說到未提交的事務和回滾了的事務也會記錄Redo Log,因此在進行恢復時,這些事務要進行特殊的的處理.有2中不同的恢復策略:
A. 進行恢復時,只重做已經提交了的事務。
B. 進行恢復時,重做所有事務包括未提交的事務和回滾了的事務。然後通過Undo Log回滾那些未提交的事務。
- InnoDB存儲引擎的恢復機制
MySQL資料庫InnoDB存儲引擎使用了B策略, InnoDB存儲引擎中的恢復機制有幾個特點:
A. 在重做Redo Log時,並不關心事務性。 恢復時,沒有BEGIN,也沒有COMMIT,ROLLBACK的行為。也不關心每個日誌是哪個事務的。盡管事務ID等事務相關的內容會記入Redo Log,這些內容只是被當作要操作的數據的一部分。

B. 使用B策略就必須要將Undo Log持久化,而且必須要在寫Redo Log之前將對應的Undo Log寫入磁碟。Undo和Redo Log的這種關聯,使得持久化變得復雜起來。為了降低復雜度,InnoDB將Undo Log看作數據,因此記錄Undo Log的操作也會記錄到redo log中。這樣undo log就可以像數據一樣緩存起來,而不用再redo log之前寫入磁碟了。

包含Undo Log操作的Redo Log,看起來是這樣的:

記錄1: <trx1, Undo log insert <undo_insert …>>

記錄2: <trx1, insert …>

記錄3: <trx2, Undo log insert <undo_update …>>

記錄4: <trx2, update …>

記錄5: <trx3, Undo log insert <undo_delete …>>

記錄6: <trx3, delete …>

C. 到這里,還有一個問題沒有弄清楚。既然Redo沒有事務性,那豈不是會重新執行被回滾了的事務?確實是這樣。同時Innodb也會將事務回滾時的操作也記錄到redo log中。回滾操作本質上也是對數據進行修改,因此回滾時對數據的操作也會記錄到Redo Log中。

一個回滾了的事務的Redo Log,看起來是這樣的:

記錄1: <trx1, Undo log insert <undo_insert …>>

記錄2: <trx1, insert A…>

記錄3: <trx1, Undo log insert <undo_update …>>

記錄4: <trx1, update B…>

記錄5: <trx1, Undo log insert <undo_delete …>>

記錄6: <trx1, delete C…>

記錄7: <trx1, insert C>

記錄8: <trx1, update B to old value>

記錄9: <trx1, delete A>

一個被回滾了的事務在恢復時的操作就是先redo再undo,因此不會破壞數據的一致性.
- InnoDB存儲引擎中相關的函數
Redo: recv_recovery_from_checkpoint_start()
Undo: recv_recovery_rollback_active()
Undo Log的Redo Log: trx_undof_page_add_undo_rec_log()

3. 資料庫運行過程中常見的故障有哪幾類試述對各類故障的恢復策略。

資料庫運行過程中常見的故障有3類:事物故障、系統故障、介質故障。

恢復策略:

1、事物故障:

發生事務故障時,被迫中斷的事務可能已對資料庫進行丁修改,為了消除該事務對資料庫的影響,要利用日誌文件中所記載的信息,強行回滾該事務,將資料庫恢復到修改前的初始狀態。

為此,要檢查日誌文件中由這些事務所引起的發生變化的記錄,取消這些沒有完成的事務所做的一切改變,這類恢復操作稱為事務撤銷。

2、系統故障:

系統故障的恢復要完成兩方面的工作,既要撤銷所有末完成的事務,還要重做所有已提交的事務,這樣才能將資料庫真正恢復到一致的狀態。

3、介質故障:

介質故障比事務故障和系統故障發生的可能性要小,但這是最嚴重的一種故障,破壞性很大,磁碟上的物理數據和日誌文件可能被破壞,這需要裝入發生介質故障前最新的後備資料庫副本,然後利用日誌文件重做該副本後所運行的所有事務。

(3)資料庫恢復策略擴展閱讀:

「數據故障恢復」和「完整性約束」、「並發控制」一樣,都是資料庫數據保護機制中的一種完整性控制。所有的系統都免不了會發生故障,有可能是硬體失靈,有可能是軟體系統崩潰,也有可能是其他外界的原因,比如斷電等等。

資料庫運行的突然中斷會使資料庫處在一個錯誤的狀態,而且故障排除後沒有辦法讓系統精確地從斷點繼續執行下去。這就要求DBMS要有一套故障後的數據恢復機構,保證資料庫能夠回復到一致的、正確地狀態去。

參考資料來源:網路-事務故障

參考資料來源:網路-系統故障

參考資料來源:網路-介質故障

4. 卡在your device is booting now怎麼辦

your device is booting now

您的設備正在啟動

解決方法:

1、手機在充電狀態下,長按【音量上鍵】+【電源鍵】15秒以上,手機會自動重啟進入系統恢復eRecovery模式。

2、在eRecovery主界面點擊「下載最新版本並恢復」進入下載確認界面。

3、在下載確認界面點擊「下載並恢復」,系統將啟動Wifi系統,並掃描可用熱點。

4、選擇可用wifi熱點並輸入密碼,則開始連接熱點。

5、連接wifi熱點成功後,系統將自動獲取安裝包信息並自動下載,無需其他操作,這個過程會有點長,請耐心等待。

6、下載完成後系統自動進行升級安裝,升級成功後倒計時自動重啟進入主系統。根據手機損壞情況不一樣,系統恢復過程中可能會擦除用戶數據。

若升級後問題依然存在,請攜帶購機憑證前往服務網點檢修。

(4)資料庫恢復策略擴展閱讀:

在資料庫管理系統中,資料庫恢復子系統是其中一個重要的組成部分,而資料庫系統發生故障的原因是多方面的: 人為的和非人為的,事務內部和外部的 ,系統范圍內和系統范圍外的等等因素都可以造成資料庫故障。

如: 計算機主板上的晶元不能正常工作,會導致計算機系統不能正常工作,一般不會導致應用和數據的損壞。但如果計算機的硬碟損壞,將會導致數據丟失。特別是當前隨著辦公自動化和電子商務的飛速發展,企業對信息系統的依賴性越來越高,資料庫作為信息系統的核心擔當著重要的角色 。

資料庫資源是業和社會一種無可替代的財富,尤其在軍事領域 、銀行、證券等行業,如果發生意外的數據丟失將會危及到國家安全和國民生計。資料庫恢復逐漸被學術界所重視,一個完善的資料庫恢復策略和方案會給社會和企業大大降低人力物力、財力的消耗。

5. SQL SERVER恢復策略

Microsoft SQL Server的資料庫備份和恢復策略
一、概述
備份和恢復是資料庫管理員維護資料庫安全性和完整性的重要操作。備份是恢復資料庫最容易和最能防止意外的保證方法。沒有備份,所有的數據都可能會丟失。備份可以防止表和資料庫遭受破壞、介質失效或用戶錯誤而造成數據災難。恢復是在意外發生後,利用備份來恢復資料庫的操作。
Microsoft SQL Server資料庫中對於數據的備份和恢復有幾種不同的方法,本人結合以往的一些經驗,對其歸納如下。

二、常用的備份和恢復資料庫的方法
1、Microsoft SQL Server中的備份和恢復:
1)備份類型,分別為:
•資料庫備份(Database Backups)
•事務日誌備份(Transaction Log Backup)
•差異備份(Differential Database Backups)
•文件和文件組備份(File and File Group Backup)
A.資料庫備份(Database Backups)
資料庫備份是指對資料庫的完整備份,包括所有的數據以及資料庫對象。實際上備份資料庫過程就是首先將事務日誌寫到磁碟上,然後根據事務創建相同的資料庫和資料庫對象以及拷貝數據的過程。由於是對資料庫的完全備份,所以這種備份類型不僅速度較慢,而且將佔用大量磁碟空間。
B.事務日誌備份(Transaction Log Backup)
事務日誌備份是指對資料庫發生的事務進行備份,包括從上次進行事務日誌備份、差異備份和資料庫完全備份之後,所有已經完成的事務。
C.差異備份(Differential Database Backups)
差異備份是指將最近一次資料庫備份以來發生的數據變化備份起來,因此差異備份實際上是一種增量資料庫備份。與完整資料庫備份相比,差異備份由於備份的數據量較小,所以備份和恢復所用的時間較短。但是它卻無法像事務日誌備份那樣提供到失敗點的無數據損失備份。
D.文件和文件組備份(File and File Group Backup)
文件或文件組備份是指對資料庫文件或文件夾進行備份,但其不像完整的資料庫備份那樣同時也進行事務日誌備份。使用該備份方法可提高資料庫恢復的速度,因為其僅對遭到破壞的文件或文件組進行恢復。
2)資料庫恢復模式
•簡單恢復(SimpleRecovery)
•完全恢復(Full Recovery)
•批日誌恢復(Bulk-logged Recovery)
A.簡單恢復(Simple Recovery)
所謂簡單恢復就是指在進行資料庫恢復時僅使用了資料庫備份或差異備份,而不涉及事務日誌備份。簡單恢復模式可使資料庫恢復到上一次備份的狀態,但由於不使用事務日誌備份來進行恢復,所以無法將資料庫恢復到失敗點狀態。
B.完全恢復(Full Recovery)
完全資料庫恢復模式是指通過使用資料庫備份和事務日誌備份將資料庫恢復到發生失敗的時刻,因此幾乎不造成任何數據丟失,這成為對付因存儲介質損壞而數據丟失的最佳方法。
C.批日誌恢復(Bulk-logged Recovery)
批日誌恢復在性能上要優於簡單恢復和完全恢復模式,它能盡最大努力減少批操作所需要的存儲空間。

2、使用SQL SERVER的管理器ENTERPRISE MANAGER進行備份和恢復
1)完全手工方式。
在這種方式下,選擇要備份和恢復的資料庫,單擊滑鼠右鍵,在快捷菜單中的「ALL TASKS」下選擇備份或者恢復資料庫。
2)半手工方式。
這種方式就是管理員事先建立備份或者恢復資料庫的作業,待到備份或者恢復資料庫的時候,管理員打開「SQL SERVER ENTEPRISE MANAGER」,在「MANAGER」里找到相應的作業,然後執行之。
3)全自動方式。
在資料庫管理器裡面,管理員事先建立好恢復或者備份資料庫的作業,然後定製一個執行計劃,讓計算機在特定的條件下自己執行備份和恢復操作。
作業是ENTERPRISE MANAGER提供的一種定期處理數據的一種方法,前面提到的半手工方式和全自動方式雖然利用了作業,但它需要在ENTERPRISE MANAGER里啟動和關閉作業;現在還可以在應用程序客戶端啟動和關閉作業的機制以作業機制實現資料庫的恢復和備份,就是事先在建立備份和恢復資料庫的作業,在應用程序客戶端用控制體啟動相應的執行體來實現之。用這種方式實現資料庫的備份和恢復,用戶不必打開資料庫管理器進行操作,用戶可以在任何一個應用程序客戶端完成操作。

3、異機備份策略
在區域網內的任何一台工作站計算機上安裝Microsoft Windows NT及Microsoft SQL Server,並在該機上建立一個與伺服器中的資料庫同名的資料庫,利用Microsoft SQL Server系統本身提供的異機傳送工具(在Microsof SQL Enterprise Manager中的Tools菜單下的Database/Object Transfer)通過設置定時(可以是每周、每月、每日或每時)由計算機自動的把伺服器中資料庫的數據傳送到該工作站機的資料庫中,這樣一旦伺服器(操作系統)崩潰或Microsoft SQL Server系統崩潰時,只要重裝伺服器操作系統(Microsoft Windows NT)或重裝Microsoft SQL Server仍然可以採用異機傳送工具來通過該工作站機把數據傳回至伺服器的Microsoft SQL Server資料庫中,以確保數據的安全恢復。

三、比較
上述這三種備份和恢復的方式,分別是在SQL Server之內、SQL SERVER的管理器中和異機中實現的。
SQL Server中的備份和恢復是資料庫本身的一個功能,而且其提供了不同級別的備份和恢復策略,是一種比較完善的資料庫安全保護措施,但由於此操作只能在資料庫管理器中進行,所以對於人員和設備的要求比較高,僅限於有限個人和機器可以操作,所以操作起來有一定的局限性。
SQL SERVER的管理器中的備份和恢復可以利用作業機制在任何一個應用程序客戶端完成操作,打破了我們常規對大型資料庫備份和恢復必須在資料庫管理器里進行的局限性,為在應用程序客戶端實現復雜的資料庫維護提供了一個思路,也大大方便了用戶的操作。但是由於這種操作的方便性,也決定了其有一定的不安全性。
異機中的備份和恢復是最安全最可靠的方式,而且對於資料庫的恢復來說也是最方便的一種,它完全避免了任何形式的數據損毀的威脅,特別是針對伺服器崩潰和Microsoft SQL Server系統崩潰,其恢復效果是很理想的。因此對於一些重要的大型資料庫來說是很可取的。但是由於成本較高,採用這種方法對於一些較小型的資料庫系統是比較難以實現的。

四、結論
上述的三種方式都是資料庫備份和恢復較為常用的一些方法,雖然各自實現的方式不同,但都達到了保護數據安全的目的。所以本人認為這三種方法都是可取的。
但是對於具體的案例,還需要仔細考慮各自系統的特性和方法的可操作性,例如一般中小型的資料庫,網內工作站計算機的分布范圍不是很大(象一座大廈內),距離伺服器的比較近時,採用Microsoft SQL Server內的備份恢復策略就完全可以解決問題;而對於一些伺服器距離較遠的資料庫系統,人員無法常常去到伺服器所在地去實施備份和恢復的,採用SQL SERVER的管理器中的策略就很理想;再者對於資料庫內數據比較龐大,恢復起來需要一定的時間的,就不防採用異機備份的策略,可以大大降低因系統崩潰所帶來的損失。
總之,事物總有其兩面性,沒有哪種方法是適用於任何情況的,我們應該在實際工作中多總結、歸納,逐漸摸索出最適合自身系統的一種解決方案,這樣才能使我們的工作順利開展

6. oracle資料庫恢復方法

第一種:
首先,備份資料庫(X:\oracle\oradata)下的數據文件,重新命名即可(否則裝資料庫的時候會提示sid已存在)。重新安裝資料庫,當然資料庫的名字就是你要恢復的名字。安裝完成後,打開控制面板,停止oracle的服務。把(X:\oracle\oradata)下新生成的文件改名,把原先目錄下的文件恢復名字。再重新啟動oracle服務和監聽。用sys/as dba 登陸資料庫,可能會提示許可權不夠(ora-01031)修改(X:\oracle\ora92\network\admin )文件夾下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES= (NTS),增加許可權。登陸進去後,打開table提示不能打開。打開common頁,執行命令alert database open;這時再刷新table,發現原先的表可以打開了。恢復成功了。再用原先資料庫的普通用戶進入。發現一切正常。
第二種:
1、首先,將原來的ORACLE文件夾改名,原來的路徑是D:/oracle.我暫時改成D:/oracle_old.找來ORACLE(我用的是ORACLE 9I)安裝光碟,將ORACLE安裝在原來安裝的目錄下,這樣恢復起來更加方便,主要是注冊表的內容不用修改。
2、安裝完了之後,系統中又有一個可以使用的ORACLE了。這個時候要做的就是將原來的文件和數據恢復過來。第一步,先關閉ORACLE的所有已經啟動的項目,在"服務"裡面逐一關閉。然後,將安裝目錄改名。(例如D:/oracle.改成D:/oracle_new,再將D:/oracle_old改成D:/oracle. )這樣理論上說從物理層面恢復了ORACLE了。但是現在還不能啟動ORACLE的監聽程序和服務程序,還要從邏輯上解決。
3、在dos環境下執行一個刪除命令:oradim -delete -sid mm,其中mm為創建oracle時候創建的實例 建議執行這個命令後重新啟動機器,重啟後就可以建立和原來實例名相同的實例。當然你懶,不重新啟動也可以,但是你的實例名就不能和原來的一樣了。
4、在dos環境下執行命令 oradim -new -sid mm -startmode a -pfile "D:\oracle\admin\mm\pfile\initmm.ora "創建一個新的實例,其中 "mm"為新資料庫的名稱。
5、啟動服務,先打開資料庫,然後可以用以前的用戶名和密碼登陸進去。 要補充的是,一般的ORACLE資料庫的監聽程序都是用電腦的名稱來識別地址的,而不是127.0.0.1或者localhost.所以,如果我們安裝系統的時候用的是不同的電腦名稱(比如我原來用的是wm_mm.重新安裝後用的是wenming_mm),那麼還有一個工作要做,就是修改文件 listener.ora.將裡面的相關的東西改過來就可以了。
需要耐心、細心,可能在一步里有一個細小的差別就會出些古怪的錯誤提示,有時需要根據錯誤提示採取策略,總之原理是,先裝一個一模一樣的ORACLE,安裝目錄、資料庫名稱都一樣,這樣保證注冊表裡不用更改;再覆蓋物理文件,最後重新實例化,打開資料庫就可以進去了。
註:恢復必須要有以下文件 a、初始化參數文件INIT.ORA b、所有數據文件 .dbf c、所有重做日誌文件(聯機日誌、歸檔日誌)redo d、所有控制文件 crtl e、internal密碼文件。

7. 簡述系統故障時的資料庫策略

10. 分E-R圖之間的沖突主要有屬性沖突、 命名沖突 、結構沖突三種。 11. SQL語言集數據 定義 、數據 查詢 、數據 操縱 、 數據_____控制______功能於一體。 12. E-R圖的主要元素是______ 實體型______、____ 屬性________、_____ 聯系_______。 13. 關系系統的完整性控制包括_______實體完整性_____、__參照完整性__________、______用戶定義的完整性______。 14. 關系模式R的碼都為單屬性,則R一定是第 二 _ 範式。 15. 資料庫系統一般包括資料庫、_____ 資料庫管理系統______、______ 應用系統_____、____ 資料庫管理員_______與用戶。 16. 從關系規范化理論的角度講,一個只滿足1NF的關系可能存在的四方面問題是:數據 冗餘度大、_______ 插入異常_______、修改異常和刪除異常。 17. 如果兩個實體之間具有m:n聯系,則將它們轉換為關系模型的結果是_____3____個表。 18. 資料庫設計的一般步驟有:需求分析、概念結構設計 、 邏輯結構設計 、 物理結構設 計 、 資料庫的實施 、運行與維護等。 19.語句 select ascii('D'), char(67) 的執行結果是: ____68_____和 ___C_____。 20.語句 select lower('Beautiful') , rtrim('我心中的太陽 ') 的執行結果是: beautiful ___和_ 我心中的太陽____。 21.完整性約束包括__ 實體___完整性、__ 域____完整性、參照完整性和用戶定義完整性。 22.在SQL Server 2008中,資料庫對象包括_ 表__、__視圖 __、觸發器、過程、列、索引、約束、規則、默認和用戶自定義的數據類型等。 23.語句 select day('2004-4-6'), len('我們快放假了.') 的執行結果是: __6___和 __7___。 24.語句 select round(13.4321,2), round(13.4567,3)的執行結果是: __13.4300__和 ____13.4570_____。<取n位小數、四捨五入> 25.事務(Transaction)可以看成是由對資料庫的若干操作組成的一個單元,這些操作要麼__ 全部完成___,要麼_ 全部取消______(如果在操作執行過程中不能完成其中任一操作)。 26. SQL Server 2008 採用的身份驗證模式有__Windows 身份驗證___模式和__ 混 合_模式。 27觸發器定義在一個表中,當在表中執行 __insert______、 __update___或delete操作時被觸發自動執行。 28.SQL Server復制有快照復制、___ 事務____復制和__ 合並___復制3種類型。 簡答題 1. 說明視圖與基本表的區別和聯系。 答:視圖是從一個或幾個基本表導出的表,它與基本表不同,它是一個虛表,(2分)資料庫中只存放視圖的定義,而不存放視圖對應的數據,這些數據存放在原來的基本表中,當基本表中的數據發生變化,從視圖中查詢出的數據也就隨之改變(2分)。視圖一經定義就可以像基本表一樣被查詢、刪除,也可以在一個視圖之上再定義新的視圖,但是對視圖的更新操作有限制(1分)。 2. 簡述事務的特性。 答:事務具有四個特性,即ACID特性:(1分) (1)原子性:事務中包括的所有操作要麼都做,要麼都不做。(1分) (2)一致性:事務必須使資料庫從一個一致性狀態變到另一個一致性狀態。(1分) (3)隔離性:一個事務內部的操作及使用的數據對並發的其他事務是隔離的。(1分) (4)持續性:事務一旦提交,對資料庫的改變是永久的。(1分) 3. 試述關系模型的參照完整性規則。 答:參照完整性規則:若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系)(2分),則對於R中每個元組在F上的值必須為:取空值(F的每個屬性值均為空值)(1.5分)或者等於S中某個元組的主碼值(1.5分)。 4. 簡述系統故障時的資料庫恢復策略。 答:正像掃描日誌文件,找出在故障發生前已經提交的事務,將其事務標識記入REDO隊列,同時找出故障發生時尚未完成的事務,將其事務標識記入UNDO隊列(2分);對UNDO隊列中的各個事務進行撤銷處理(1.5分);對REDO隊列中的各個事務進行重做處理。(1.5分) 5.在SQL Server 2008中,使用視圖的好處是什麼? 答: (1) 為用戶集中需要的數據,簡化了數據的用戶操作; (2) 對用戶隱藏了資料庫設計的復雜性; (3) 簡化用戶許可權的管理; (4) 組織數據導出到其它應用程序; 6. 簡述使用游標的步驟。 答: Step1:聲明游標:declare 游標名 cursor for select語句; Step2:打開游標:open 游標名; Step3:處理數據: fetch insert delete update語句 Step4:關閉游標:close 游標名; Step5:釋放游標:deallocate 游標名; 7.簡述SQL Server 2008的安全性管理機制,涉及登錄賬號、用戶、角色以及許可權分配。 答: (1)計算機的連接 (2)SQL Server伺服器登錄(登錄、固定伺服器角色) (3)資料庫的訪問(用戶/角色:固定/自定義資料庫角色) (4)數據表(視圖)的訪問(select insert update delete) (5)存儲過程/內嵌表值函數的訪問(execute/select) (6)數據表(視圖)中列(欄位)的訪問(select update) 8. 事務控制語句的使用方法是什麼? 答: begin transaction „„ -- A組語句序列 save transaction 保存點1 „„ -- B組語句序列 if @@error <> 0 rollback transaction 保存點1 --若發生錯誤,回滾到」保存點1」 else commit transaction --若沒有錯誤,先提交A組語句,再提交B組語句。 五、設計題 現有關系資料庫如下: 資料庫名:學生成績資料庫 學生表(*學號,姓名,性別,民族) 課程表(*課程號,課程名稱,任課教師) 成績表(*學號,*課程號,分數) 用SQL語言實現下列功能的sql語句代碼: 1. 創建資料庫[學生成績資料庫]代碼(2分); create database [學生成績資料庫] go use [學生成績資料庫] go 2. 創建[課程表]代碼(2分); 課程表(課號 char(6),名稱) 要求使用:主鍵(課號)、非空(名稱) create table課程表( [課程號] char(6) primary key, [課程名稱] char(40) not null ) 3. 創建[學生表]代碼(2分); 學生表(學號 char(6),姓名,性別,民族) 要求使用:主鍵(學號)、默認(民族)、非空(民族,姓名)、檢查(性別) create table 學生表( [學號] char(6) primary key, [姓名] nchar(4) not null, [性別] nchar(1) check ([性別] in ('男', '女')), [民族] nchar(8) default '漢' not null ) 4. 創建[成績表]代碼(2分); 成績表(學號,課程號,分數) 要求使用:外鍵(成績表.學號,成績表.課程號)、檢查(分數) create table成績表( [學號] char(6) references 學生表(學號), [課程號] char(6) references 課程表(課號), [成績] integer check ([成績] between 0 and 100) ) 5. 將下列課程信息添加到課程表中 課號 課程名稱 100001 大學語文 100002 大學英語 100003 西班牙語 insert 課程表 values('100001', '大學語文') insert 課程表 values('100002', '大學英語') insert 課程表 values('100003', '西班牙語') 6. 寫出創建成績表視圖(學號,姓名,課號,課程名稱,成績)的代碼; create view [成績表視圖] as select 成績表.學號,學生表.姓名,成績表.課程號,課程表.課程名稱,成績表.成績 from 成績表,學生表,課程表 where 成績表.學號=學生表.學號 and 成績表 .課號=課程表.課號 7. 寫出創建分數存儲過程用於計算某門課程成績最高分、最低分、平均分 create procere [分數] @課程名 nchar(16) as select 課程名稱, 最高分=max(分數)、最低分=min(分數)、平均分=avg(分數) from 成績表視圖 where 課程名稱 = @課程名 8. 檢索姓李的女同學的信息:姓名、性別、民族。 Select 姓名,性別,民族 From 學生表 Where 姓名 like 『李%』 and 性別=』女』 9. 定義一事務向成績表中插入學號=『20030021』的多條記錄,並檢驗若該同學 成績超過4門,則回滾事務,即成績無效,否則成功提交。 Begin transaction Insert 成績表 values(『20030021』,』001』,88); Insert 成績表 values(『20030021』,』002』,99); Insert 成績表 values(『20030021』,』003』,77); Insert 成績表 values(『20030021』,』004』,66); Declare @num int; Set @num=(select count(*) from 成績表 where 學號=』20030021』); If @num>4 Rollback transaction; Else Commit transaction; Go

熱點內容
湖南回收伺服器主板雲主機 發布:2024-10-08 06:12:59 瀏覽:807
psv視頻腳本 發布:2024-10-08 06:12:13 瀏覽:420
文件夾菜單欄 發布:2024-10-08 05:46:23 瀏覽:491
壓縮機選型手冊 發布:2024-10-08 05:24:37 瀏覽:621
java主機名 發布:2024-10-08 05:12:55 瀏覽:118
華意壓縮待遇 發布:2024-10-08 05:04:07 瀏覽:466
jsp上傳圖片存到資料庫 發布:2024-10-08 05:04:06 瀏覽:74
分卷壓縮解壓速度 發布:2024-10-08 04:45:16 瀏覽:847
冰雪單職業輔助哪個好安卓 發布:2024-10-08 04:40:06 瀏覽:663
iqz3哪個配置好一點 發布:2024-10-08 04:34:07 瀏覽:763