《數(shù)據(jù)庫(kù)原理及應(yīng)用》車站管理系統(tǒng)實(shí)踐報(bào)告_第1頁(yè)
《數(shù)據(jù)庫(kù)原理及應(yīng)用》車站管理系統(tǒng)實(shí)踐報(bào)告_第2頁(yè)
《數(shù)據(jù)庫(kù)原理及應(yīng)用》車站管理系統(tǒng)實(shí)踐報(bào)告_第3頁(yè)
《數(shù)據(jù)庫(kù)原理及應(yīng)用》車站管理系統(tǒng)實(shí)踐報(bào)告_第4頁(yè)
《數(shù)據(jù)庫(kù)原理及應(yīng)用》車站管理系統(tǒng)實(shí)踐報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)原理及應(yīng)用實(shí)踐報(bào)告一、 數(shù)據(jù)庫(kù)功能描述車站售票管理系統(tǒng)主要用于車站日常的票務(wù)處理。主要功能包括車票的購(gòu)買與銷售管理,實(shí)現(xiàn)路線信息、汽車信息、票務(wù)信息的查詢和管理,及方便車輛、乘客身份等進(jìn)行統(tǒng)計(jì)。實(shí)現(xiàn)方便、快捷售票;使用戶準(zhǔn)確了解售票情況,提供多種查詢和統(tǒng)計(jì)功能;實(shí)現(xiàn)系統(tǒng)的安全性設(shè)置,是系統(tǒng)具有一定的恢復(fù)和維護(hù)功能。最終滿足不同人群的需求。二、數(shù)據(jù)庫(kù)設(shè)計(jì) 2.1 系統(tǒng)需求分析根據(jù)實(shí)際需求,本系統(tǒng)應(yīng)實(shí)現(xiàn)以下基本功能:(1) 登錄功能:分為汽車站售票人員和系統(tǒng)管理人員兩種權(quán)限登錄.用戶通過(guò)輸入不同的用戶名以及密碼進(jìn)行身份驗(yàn)證,系統(tǒng)通過(guò)用戶名以及密碼驗(yàn)證來(lái)驗(yàn)證不同用戶的訪問權(quán)限,從而為用戶提供操作;(2) 車票信息查詢功能:由汽車站的普通售票人員通過(guò)不同的檢索入口,查詢車票信息,并進(jìn)行排序;(3) 修改功能:汽車站售票人員、汽車站售票管理人員能夠修改自身的用戶名以及密碼,系統(tǒng)管理人員則能夠?qū)崿F(xiàn)系統(tǒng)用戶與普通用戶的添加、修改普通用戶與系統(tǒng)管理人員的密碼,以此確保該系統(tǒng)能夠安全的操作,避免不必要的損失;(4) 匯總功能:能夠?qū)δ硞€(gè)時(shí)段或者當(dāng)天的售票情況進(jìn)行匯總等。2.2 數(shù)據(jù)流圖:描述售票、訂票、退票管理等子系統(tǒng)的功能描述。顧 客車站管理系統(tǒng)售票人員購(gòu)票信息售票信息 圖1-1 頂層圖查詢處理買票車票匯總0層圖購(gòu)票信息可供票車票圖1-2 0層圖缺票記錄車票記錄查詢處理買票 1層圖 購(gòu)票信息可供票車票售票記錄 售票記錄 車票記錄 圖1-3 售票1層圖 查詢顧客信息查詢處理訂票訂票信息核對(duì)后的可供票車 票顧客信息 車票記錄訂票記錄 圖1-4 訂票1層圖 處理退票退票信息 退票記錄 圖1-5 退票1層圖2.3數(shù)據(jù)字典:對(duì)此系統(tǒng)中數(shù)據(jù)庫(kù)出現(xiàn)的數(shù)據(jù)對(duì)象、字段及控制信息給出準(zhǔn)確定義。2.3.1數(shù)據(jù)項(xiàng)編號(hào)數(shù)據(jù)項(xiàng)名數(shù)據(jù)項(xiàng)含義說(shuō)明數(shù)據(jù)類型長(zhǎng)度與其他數(shù)據(jù)項(xiàng)關(guān)系是否可以為空1TNo票號(hào)char4Ticket表主鍵否2Tcnt車次int4否3Ttime發(fā)車時(shí)間datetime8否4Tprice票價(jià)int45PID身份證號(hào)char18Passenger表主鍵否6Pname乘客姓名varchar127Psex乘客性別char28Page乘客年齡int49Pweight攜重int410CNo售票員編號(hào)char8Conductor表主鍵否11Cname售票員姓名varchar1212Csex售票員性別char213Cwage售票員薪酬int414LNo路線編號(hào)char8Line表主鍵否15Ldepart起始站點(diǎn)char8否16Larrival到達(dá)站點(diǎn)char8否17Ldistance里程int418BNo汽車編號(hào)char8Bus表主鍵否19Bload汽車載客量int420Btype車型char1021Byear購(gòu)入年份int422DNo司機(jī)編號(hào)char8Driver表主鍵否23Dname司機(jī)姓名varchar1024Dsex司機(jī)性別char225Dage司機(jī)年齡int426buytime購(gòu)買日期datetime827buycount購(gòu)買數(shù)量int428sellcount銷售數(shù)量int42.3.2數(shù)據(jù)結(jié)構(gòu)編號(hào)數(shù)據(jù)結(jié)構(gòu)名屬性1售票員員工編號(hào)、姓名、性別、薪酬2乘客身份證號(hào)碼、姓名、性別、年齡、 行李重量3路線路線編號(hào)、起始點(diǎn)、終點(diǎn)、路程4車票車票編號(hào)、車次、發(fā)車時(shí)間、票價(jià)5司機(jī)司機(jī)編號(hào)、姓名、性別、年齡6汽車汽車編號(hào)、載客量、車型、購(gòu)入時(shí)間2.3.3數(shù)據(jù)流編號(hào)數(shù)據(jù)流名輸入輸出1售票員信息用戶輸入電腦的用戶名、密碼系統(tǒng)主菜單2查詢購(gòu)買情況車票編號(hào)、起始點(diǎn)、終點(diǎn)、汽車型號(hào)車票記錄3查詢汽車信息汽車編號(hào)、型號(hào)、購(gòu)入時(shí)間、載客量汽車記錄4變更汽車信息變更信息汽車記錄5變更站點(diǎn)信息變更信息站點(diǎn)記錄6變更路線信息變更信息路線記錄7查詢車票信息編號(hào)、起始點(diǎn)、終點(diǎn)、汽車型號(hào)車票記錄8預(yù)訂車票車票編號(hào)、預(yù)定日期、預(yù)定預(yù)定記錄9購(gòu)買車票車票編號(hào)、預(yù)定日期、購(gòu)買購(gòu)買記錄10更改乘客信息變更信息乘客信息11查詢路線信息路線編號(hào)、起始點(diǎn)、終點(diǎn)路線信息12變更車票信息變更信息車票記錄2.3.4數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)名輸入數(shù)據(jù)流輸出數(shù)據(jù)流備注汽車信息變更汽車信息查詢汽車信息路線信息變更路線信息查詢路線信息車票信息變更車票信息查詢車票信息乘客信息變更乘客信息查詢乘客信息預(yù)訂車票信息車票信息預(yù)定記錄購(gòu)買車票信息車票信息購(gòu)票記錄退票信息車票信息退票記錄2.3.5處理過(guò)程處理過(guò)程名輸入數(shù)據(jù)流輸出數(shù)據(jù)流處理操作查詢已知汽車、路線、車票信息所需信息購(gòu)買/預(yù)定車票信息、購(gòu)買時(shí)間、座位號(hào)無(wú)更新變更信息再次查詢信息權(quán)限認(rèn)證用戶名、密碼系統(tǒng)主菜單用戶登錄2.4 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) 局部E-R圖2.4.1 乘客購(gòu)買車票車票乘客購(gòu)買車次發(fā)車時(shí)間票價(jià)身份證號(hào)年齡姓名票號(hào)性別行李重量ER圖 12.4.2 司機(jī)駕駛汽車司機(jī)編號(hào)汽車型號(hào)司機(jī)購(gòu)入時(shí)間汽車駕駛載客量姓名年齡汽車編號(hào)性別11ER圖 22.4.3 路線包含車票車票路線包含車次發(fā)車時(shí)間票價(jià)路線編號(hào)終點(diǎn)起點(diǎn)票號(hào)里程ER圖 3全局ER圖姓名擁有汽車汽車編號(hào)載客量汽車型號(hào)購(gòu)入時(shí)間司機(jī)編號(hào)性別年齡駕駛銷售包含售票員職工號(hào)姓名性別薪酬起始站終點(diǎn)站路線編號(hào)里程路線乘客身份證號(hào)姓名年齡性別購(gòu)買購(gòu)買日期數(shù)量車票票價(jià)發(fā)車時(shí)間車次票號(hào)行李重量nmnnm數(shù)量1m1112.5 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)2.5.1邏輯設(shè)計(jì)車票 (票號(hào),車次,發(fā)車時(shí)間,票價(jià),線路編號(hào),汽車編號(hào))路線(線路編號(hào),起始站, 終點(diǎn)站,里程)乘客(身份證號(hào),姓名,年齡,性別,行李重量)售票員(職工號(hào),姓名,性別,薪酬,汽車編號(hào))汽車(汽車編號(hào),載客量,汽車型號(hào),購(gòu)入時(shí)間)司機(jī)(編號(hào),姓名,性別,年齡)購(gòu)買(票號(hào),身份證號(hào),購(gòu)買時(shí)間,購(gòu)買數(shù)量)銷售(票號(hào),職工號(hào),銷售時(shí)間)2.5.2 3NF分析(1) 判斷是否滿足1NF關(guān)系中每個(gè)屬性都是不可再分的簡(jiǎn)單項(xiàng),故滿足1NF。(2) 判斷是否滿足2NF車票、路線、乘客、售票員、汽車、司機(jī)都是單屬性決定主鍵,后面的屬性都由各種編號(hào)唯一確定,而購(gòu)買、銷售分別有兩個(gè)屬性確定主鍵,購(gòu)買時(shí)間,和銷售時(shí)間顯然只能由前面的兩個(gè)組合唯一確定。已判斷關(guān)系模式滿足1NF,且經(jīng)檢驗(yàn)每個(gè)非主屬性都完全函數(shù)依賴于關(guān)系模式的主鍵關(guān)系,故滿足2NF。(3) 判斷是否滿足3NF對(duì)表內(nèi)各非主屬性進(jìn)行了判斷,它們都只依賴于主屬性,不存在傳遞依賴。已判斷關(guān)系模式滿足2NF,且經(jīng)檢驗(yàn)每個(gè)非主屬性都不傳遞函數(shù)依賴于關(guān)系模式的主關(guān)系鍵,故滿足3NF。經(jīng)上述分析可知所建表滿足3NF(第三范式)。三、 數(shù)據(jù)庫(kù)實(shí)施 3.1 數(shù)據(jù)庫(kù)部署環(huán)境操作系統(tǒng):Windows7數(shù)據(jù)庫(kù):SQL server 2000開發(fā)工具:Microsoft virtual FoxPro 6.03.2數(shù)據(jù)庫(kù)架構(gòu)圖汽車站售票管理系統(tǒng)票務(wù)管理票價(jià)管理車次管理用戶管理查詢管理車次信息編輯票價(jià)信息錄入票價(jià)信息修改票價(jià)信息刪除前臺(tái)售票前臺(tái)退票用戶信息添加票價(jià)信息修改票價(jià)信息刪除車次信息查詢票價(jià)信息查詢3.3數(shù)據(jù)表生成腳create table Line(LNo char(8) primary key,Ldepart varchar(8)not null,Larrival varchar(8)not null,Ldistance int)gocreate table Driver(DNo char(8) primary key,Dname varchar(10),Dsex char(2) default 男,Dage int)gocreate table Bus(BNo char(8)primary key,Bload int,Btype char(10),Byear int,DNo char(8) foreign key references Driver(DNo)gocreate table Ticket(TNo char(8) primary key,Tcnt char(5) unique not null,Ttime datetime not null,Tprice int,LNo char(8) foreign key references Line(LNo),BNo char(8) foreign key references Bus(BNo)go create table Passenger(PID char(18) primary key,Pname varchar(12),Psex char(2),Page int,Pweight int)gocreate table Conductor(CNo char(8) primary key,Cname varchar(12) default 女,Csex char(2),Cwage int)gocreate table PT(PID char(18),TNo char(8),buytime datetime,buycount intconstraint PT_Prim primary key (PID,TNo),constraint PT_P_Forgn foreign key(PID) references Passenger(PID),constraint PT_T_Forgn foreign key(TNo) references Ticket(TNo)gocreate table CT(CNo char(8),TNo char(8),sellcount int,constraint CT_Prim primary key (CNo,TNo),constraint CT_C_Forgn foreign key(CNo) references Conductor(CNo),constraint CT_T_Forgn foreign key(TNo) references Ticket(TNo)3.4 初始始數(shù)據(jù)錄入腳本insert into Linevalues(01,西安,咸陽(yáng),60)insert into Linevalues(02,北京,寶雞,130)insert into Linevalues(03,西安,榆林,300)insert into Linevalues(04,西安,渭南,50)insert into Linevalues(05,西安,銅川,65)insert into Linevalues(06,西安,商洛,200)insert into Drivervalues(D001,張悅山,男,40)insert into Drivervalues(D002,李勝利,男,45)insert into Drivervalues(D003,周靜敏,女,37)insert into Drivervalues(D004,張凡,男,42)insert into Drivervalues(D005,周成文,男,39)insert into Drivervalues(D006,樊城,男,41)insert into Busvalues(B2601,40,大型客車,2010,D001)insert into Busvalues(B2602,30,中型客車,2009,D002)insert into Busvalues(B2603,40,大型客車,2010,D003)insert into Busvalues(B2604,40,大型客車,2010,D004)insert into Busvalues(B2605,40,大型客車,2010,D005)insert into Busvalues(B2606,30,中型客車,2010,D006)insert into Ticketvalues(, DG531, 2012/05/26 01:12:56, 47,01,B2601)insert into Ticketvalues(, DG638, 2012/05/26 14:15:46, 45,04,B2604)insert into Ticketvalues(, DG854, 2012/05/25 04:35:45, 18,03,B2603)insert into Ticketvalues(, DG896, 2012/05/21 17:15:34, 38,01,B2601)insert into Ticketvalues(, DG932, 2012/05/20 23:19:44, 45,05,B2605)insert into Ticketvalues(, DG120, 2012/05/26 13:45:35, 15,01,B2606)insert into Ticketvalues(, DG639, 2012/05/26 09:35:36, 45,02,B2602)insert into Ticketvalues(, DG565, 2012/5/12 10:15:26,23,01,B2601)insert into Conductorvalues(S1,馬大波,男,1500)insert into Conductorvalues(S2,張龍,男,1620)insert into Conductorvalues(S3,王子月,女,1400)insert into Conductorvalues(S4,馬一山,男,1310)insert into Conductorvalues(S5,劉博,男,1520)insert into Conductorvalues(S6,馮楠,男,1600)insert into Passengervalues(,莫子謙,男,22,5)insert into Passengervalues(,張若谷,女,32,0)insert into Passengervalues(,劉龍,男,20,12)insert into Passengervalues(,岳山,女,33,20)insert into Passengervalues(,馮建坤,男,42,2)insert into Passengervalues(,范喜良,男,63,13)insert into PTvalues(,2012/5/10 10:15:26,1)insert into PTvalues(,2012/5/12 12:34:38,2)insert into PTvalues(,2012/5/10 13:45:56,3)insert into PTvalues(,2012/5/12 15:25:46,2)insert into PTvalues(,2012/5/9 09:45:36,4)insert into PTvalues(,2012/5/12 02:19:36,2)insert into PTvalues(,2012/5/11 17:39:46,3)insert into PTvalues(,2012/5/12 23:14:24,2)insert into CTvalues(S1,25)insert into CTvalues(S2,15)insert into CTvalues(S3,60)insert into CTvalues(S4,54)insert into CTvalues(S5,35)insert into CTvalues(S6,75)insert into CTvalues(S1,25)insert into CTvalues(S3,26)3.5 測(cè)試數(shù)據(jù)庫(kù)3.5.1 查詢乘客莫子謙出行信息(即出發(fā)站點(diǎn),到達(dá)站點(diǎn))。select LDepart,Larrival from Line where LNo=(select LNo from Ticket where TNo=(select TNo from PT where PID=(select PID from Passenger where Pname=莫子謙)運(yùn)行結(jié)果:3.5.2 查詢售票員姓名和銷售總票數(shù),并按銷售總票數(shù)降序排列。select Cname,totalcountfrom (select CNo,sum(sellcount) as totalcount from CTgroup by CNo)as r1,(select CNo,Cname from Conductor)as r2where r1.CNo=r2.CNoorder by totalcount desc運(yùn)行結(jié)果:3.5.3 從西安出發(fā)的乘客都有哪些,輸出其姓名及乘坐車次,發(fā)車時(shí)間。select Pname,Tcnt,Ttimefrom (select PID,Tcnt,Ttime from (select TNo,Tcnt,Ttime from Ticket where LNo in (select LNo from Line where Ldepart=西安) as r1,PT where r1.TNo=PT.TNo) as r2,(select PID,Pname from Passenger) as r3where r2.PID=r3.PID運(yùn)行結(jié)果:3.5.4 購(gòu)票數(shù)大于等于5的乘客身份證號(hào)及姓名。select Pname,r1.PID,totalcountfrom (select PID,sum(buycount) as totalcount from PT group by PID having sum(buycount)=5) as r1,Passengerwhere r1.PID=Passenger.PID運(yùn)行結(jié)果:3.5.5 修改Ticket表使得到咸陽(yáng)的車票半折出售。update Ticketset Tprice=0.5*Tpricewhere LNo in (select LNo from Line where Larrival=咸陽(yáng))四、數(shù)據(jù)庫(kù)運(yùn)行以及維護(hù)4.1 建立索引為售票員表即Conductor在Cname上創(chuàng)建聚集索引。create cluster index CI on Conductor(Cname)4.2 建立視圖4.2.1 創(chuàng)建視圖為用戶查詢已定票的部分信息創(chuàng)建語(yǔ)句:CREATE VIEW ALLTICKETMESSAGEAS SELECT TNo,Tcnt,Ttime,Tprice,Ticket.LNo,Ticket.BNo,Bus.DNo,Dname,Ldepart,LarrivalFROM Ticket,Bus,Driver,LineWHERE Ticket.LNo=Line.LNo AND Ticket.BNo=Bus.BNo AND BUS.DNo=Driver.DNo結(jié)果4.2.2 創(chuàng)建語(yǔ)句CREATE VIEW PaMESSAGEAS SELECT Ticket.TNo,Tcnt,Tprice,buytime,Passenger.PIDFROM Ticket,Passenger,PTWHERE Ticket.TNO=PT.TNo AND PT.PID=Passenger.PID4.3 數(shù)據(jù)庫(kù)運(yùn)行以及維護(hù)說(shuō)明書 4.3.1 賬戶及權(quán)限設(shè)置 1)賬戶設(shè)置 (1) 在系統(tǒng)正式使用前,數(shù)據(jù)庫(kù)管理員應(yīng)修改系統(tǒng)默認(rèn)密碼,并對(duì)不需要的帳號(hào)進(jìn)行刪除或鎖定。 (2) 數(shù)據(jù)庫(kù)管理員具有最高數(shù)據(jù)庫(kù)管理權(quán)限,其他人員需要直連訪問數(shù)據(jù)庫(kù)或需要具有一定數(shù)據(jù)庫(kù)操作權(quán)限,由數(shù)據(jù)庫(kù)管理員告知用戶權(quán)限等信息。其他人員通過(guò)業(yè)務(wù)系統(tǒng)訪問數(shù)據(jù)庫(kù). (3) 數(shù)據(jù)庫(kù)管理員為每一個(gè)數(shù)據(jù)庫(kù)用戶根據(jù)需要的權(quán)限建立專門的賬號(hào),以區(qū)分責(zé)任,提高系統(tǒng)的安全性,用戶必須使用自己的賬號(hào)登錄數(shù)據(jù)庫(kù)。 (4) 對(duì)賬號(hào)權(quán)限的設(shè)置遵從最小化原則。 (5)普通數(shù)據(jù)庫(kù)用戶賬戶與數(shù)據(jù)庫(kù)管理員帳戶分離。 4.3.2 用戶類型 1) 系統(tǒng)管理員:能夠管理數(shù)據(jù)庫(kù)系統(tǒng)中的所有組件及所有數(shù)據(jù)庫(kù)。 2) 數(shù)據(jù)庫(kù)管理員:能夠管理相關(guān)數(shù)據(jù)庫(kù)中的賬戶、對(duì)象及數(shù)據(jù)。 3) 數(shù)據(jù)庫(kù)用戶:只能以特定的權(quán)限訪問特定的數(shù)據(jù)庫(kù)對(duì)象,不具有數(shù)據(jù)庫(kù)管理權(quán)限。 4.3.3 用戶權(quán)限按最小權(quán)限原則設(shè)置包括如下幾種權(quán)限: 1) 系統(tǒng)管理權(quán)限:包括賬戶管理、服務(wù)管理、數(shù)據(jù)庫(kù)管理等。 2) 數(shù)據(jù)庫(kù)管理權(quán)限:包括創(chuàng)建、刪除、修改數(shù)據(jù)庫(kù)等。 3) 數(shù)據(jù)庫(kù)訪問權(quán)限:包括插入、刪除、修改數(shù)據(jù)庫(kù)特定表記錄等。4.3.4 數(shù)據(jù)庫(kù)系統(tǒng)備份還原1) 數(shù)據(jù)庫(kù)備份策略、要求 (1) 完全備份:對(duì)備份的內(nèi)容進(jìn)行整體備份。 (2) 差異備份:僅備份相對(duì)上一次完全備份之后新增加和修改的數(shù)據(jù)。 (3) 必須根據(jù)各個(gè)應(yīng)用所能接受的恢復(fù)時(shí)間去選擇對(duì)系統(tǒng)和數(shù)據(jù)的備份方式,并采取相應(yīng)的備份策略。 (4)結(jié)合使用在線備份、邏輯備份和物理備份等多種方式,并且自動(dòng)方式和手動(dòng)方式相結(jié)合。 (5)數(shù)據(jù)備份應(yīng)根據(jù)系統(tǒng)情況和備份內(nèi)容,采用不同的備份方式及策略,并做好記錄。 (6)對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)要求定時(shí)自動(dòng)備份。 (7)必須建立備份文件檔案及檔案庫(kù),詳細(xì)記錄備份數(shù)據(jù)的信息。要做好數(shù)據(jù)備份的文卷管理,所有備份應(yīng)有明確標(biāo)識(shí),包括卷包、運(yùn)行環(huán)境、備份人。卷名需按統(tǒng)一的規(guī)則來(lái)命名。4.4 數(shù)據(jù)庫(kù)備份具體方案 4.4.1 方案一: 常用方案在SQL Server備份窗口,可以通過(guò)調(diào)度設(shè)置,將當(dāng)前進(jìn)行的備份處理設(shè)置為定時(shí)自動(dòng)處理的作用。具體的步驟如下: 1. 展開一個(gè)服務(wù)器組。 2. 展開一個(gè)服務(wù)器( SQL Server實(shí)例)。3. 展開【數(shù)據(jù)庫(kù)】,右單擊要備份的數(shù)據(jù)庫(kù),在彈出的菜單中選擇【所有任務(wù)】【備份數(shù)據(jù)庫(kù)】命令。 4. 在隨后打開的SQL Server備份窗口中,設(shè)置備份的相關(guān)選項(xiàng)。參見前面的備份方案 單擊【常規(guī)】選項(xiàng)卡,在【調(diào)度】項(xiàng)中,選中【調(diào)度】復(fù)選框,然后單擊【調(diào)度】復(fù)選框后的【】按鈕。在隨后出現(xiàn)的【編輯調(diào)度】對(duì)話框中,設(shè)置時(shí)間調(diào)度安排。 5. 設(shè)置完成后,單擊【確定】按鈕,SQL Server將執(zhí)行備份操作,同時(shí)在【SQL Server 代理】【作業(yè) 】中自動(dòng)建立對(duì)應(yīng)的作業(yè)。6. 在【SQL Server 代理】【作業(yè) 】窗口中,可以像處理普通作業(yè)一樣修改或刪除數(shù)據(jù)庫(kù)備份窗口中定義的備份計(jì)劃。4.4.2 方案二:數(shù)據(jù)轉(zhuǎn)換法(DTS) 1. 打開企業(yè)管理器,選擇SQLServer 服務(wù)器的數(shù)據(jù)庫(kù),單擊鼠標(biāo)右鍵,選擇“所有任務(wù)”,并點(diǎn)選“導(dǎo)入數(shù)據(jù)”或“導(dǎo)出數(shù)據(jù)”。 如果是在主服務(wù)器上進(jìn)行操作,選導(dǎo)出數(shù)據(jù);在備份服務(wù)器上進(jìn)行操作,則選導(dǎo)入數(shù)據(jù)。 2. 第一步操作后,調(diào)出“數(shù)據(jù)轉(zhuǎn)換服務(wù)導(dǎo)入/ 導(dǎo)出向?qū)А苯缑妫瑔螕簟跋乱徊健保M(jìn)入“DTS 導(dǎo)入/ 導(dǎo)出向?qū)А钡倪x擇數(shù)據(jù)源界面,選擇“目的”,選擇“制定表復(fù)制或查詢”,選擇要復(fù)制的對(duì)象。 弱做選擇時(shí),首先根據(jù)具體的客戶端選擇數(shù)據(jù)源,如果是OLE DB客戶端,選擇“用于SQL Server的Microsoft提供的OLEDB 程序”。然后選擇提供數(shù)據(jù)源的服務(wù)器,接下來(lái)選擇進(jìn)入數(shù)據(jù)庫(kù)的方式,可選擇“使用Windows 身份驗(yàn)證”或“使用SQL Server 身份驗(yàn)證”。 如果選“使用SQL Server 身份驗(yàn)證”,須填寫SQL Server 認(rèn)可并對(duì)數(shù)據(jù)有修改權(quán)的用戶,一般可選“SA”及其密碼。最后選擇要復(fù)制的數(shù)據(jù)庫(kù)。 3. 在“制定表復(fù)制和查詢”中,選擇“在SQL Server數(shù)據(jù)庫(kù)之間復(fù)制對(duì)象和數(shù)據(jù)”,然后單擊下一步。選擇具體復(fù)制對(duì)象和相應(yīng)的選項(xiàng)等等.。 4. 通過(guò)保存調(diào)度和復(fù)制包,定制進(jìn)行復(fù)制的時(shí)間和頻率。 5. 全部設(shè)置完成后,提示會(huì)列出源、目的、采用的方式、數(shù)據(jù)庫(kù)等選項(xiàng),由你確認(rèn)完成。如果設(shè)置結(jié)束后要進(jìn)行定制時(shí)間修改,在企業(yè)管理器中,通過(guò)服務(wù)器、數(shù)據(jù)庫(kù)、管理、SQL server 代理、作業(yè),然后選擇具體的作業(yè),調(diào)出界面進(jìn)行修改。4.4.3 方案三:復(fù)制訂閱SQL Server 的復(fù)制功能基本上是使用“發(fā)布服務(wù)器(Publisher) ”和“訂閱服務(wù)器”(Subscriber)的結(jié)構(gòu),這整個(gè)結(jié)構(gòu)中包含了數(shù)個(gè)不同的組件。(1) 發(fā)布服務(wù)器(Publisher):在復(fù)制中,發(fā)布服務(wù)器就是負(fù)責(zé)發(fā)布數(shù)據(jù)庫(kù)內(nèi)容給其他服務(wù)器的SQL Server (一般的我們把主服務(wù)器當(dāng)作發(fā)布服務(wù)器,形象一點(diǎn)比喻發(fā)布服務(wù)器就好像是一本書的作者)(2) 訂閱服務(wù)器(Subscriber):訂閱服務(wù)器就是指受發(fā)布服務(wù)器所發(fā)布數(shù)據(jù)的SQL SERVER,通常發(fā)布服務(wù)器只有一個(gè),但訂閱服務(wù)器可以有多個(gè)。(形象比喻訂閱服務(wù)就像是讀者,購(gòu)買相同圖書的讀者可以有很多。) (3) 分發(fā)服務(wù)器(Distributor):除了發(fā)布服務(wù)器和訂閱服務(wù)器這兩個(gè)基本外,另一個(gè)可以由 SQL SERVER 在整個(gè)復(fù)制結(jié)構(gòu)中扮演的角色就是分發(fā)服務(wù)器。分發(fā)服務(wù)器是負(fù)責(zé)將發(fā)布服務(wù)器所發(fā)布的數(shù)據(jù)庫(kù)發(fā)布、傳輸?shù)礁饔嗛喎?wù)器的服務(wù)器。在簡(jiǎn)單的復(fù)制結(jié)構(gòu)中,發(fā)布服務(wù)器和分發(fā)服務(wù)器通常是使用同一個(gè) SQL SERVER。設(shè)置為分發(fā)服務(wù)器的 SQL SERVER,會(huì)有個(gè)名為 distribution 的系統(tǒng)數(shù)據(jù)庫(kù)存放復(fù)制信息。(4) 發(fā)布項(xiàng)(Article):發(fā)布服務(wù)器所發(fā)布的數(shù)據(jù)稱為發(fā)布項(xiàng),發(fā)布項(xiàng)是進(jìn)行復(fù)制時(shí)的復(fù)制單位,發(fā)布項(xiàng)可以是表或存儲(chǔ)過(guò)程等數(shù)據(jù)庫(kù)對(duì)象,也可以知識(shí)表中的某幾列或某幾項(xiàng)數(shù)據(jù)。 (5) 發(fā)布(Publish):一組特定的發(fā)布項(xiàng)組合就稱為發(fā)布,也就是 SQL SERVER進(jìn)行復(fù)制時(shí)所復(fù)制的數(shù)據(jù)合。當(dāng)訂閱服務(wù)器向發(fā)布服務(wù)器訂閱數(shù)據(jù)時(shí),是以發(fā)布為單位,而不是以發(fā)布項(xiàng)為單位的。即,訂閱服務(wù)器只能接收整個(gè)發(fā)布中的所有 article。而不能只選擇其中幾個(gè)發(fā)布項(xiàng)類訂閱,每個(gè)發(fā)布只有來(lái)自單一數(shù)據(jù)庫(kù)的內(nèi)容,但我們可以為數(shù)據(jù)庫(kù)設(shè)置多個(gè)發(fā)布。(6) 為適應(yīng)不同的復(fù)制需求,SQL SERVER提供了發(fā)送(Push)和請(qǐng)求(Pull)兩種不同的訂閱方式。4.4.4 方案四:腳本實(shí)現(xiàn)備份(.表示名稱) (1)完全備份(完全備份會(huì)備份數(shù)據(jù)庫(kù)的所有數(shù)據(jù)文件、數(shù)據(jù)對(duì)象和數(shù)據(jù)) backup database . To . with init -完全備份 backup database . to . with noinit (2)差異備份(備份自最近一次完全備份以來(lái)的所有數(shù)據(jù)庫(kù)改變) backup database . to . with init,name=. create table .(c 1 int not null,. char(10) not null) backup database . to . with differential,name=.1 insert . values(1,.) . restore headeronly from .4.5 數(shù)據(jù)庫(kù)還原具體方案 4.5.1 從備份中還原 restore headeronly from . restore database . from . with file=2 從完全備份中恢復(fù) restore headeronly from . 從差異備份中恢復(fù) restore database . from . with file=1,norecovery restore database . from . with file=5,recovery restore database .from . with file=1,norecover恢復(fù)到指定時(shí)間 restore log . from . with file=2,norecovery restore log . from . with file=3,norecovery restore log .from . with file=4,recovery,stopat=time4.5.2 用企業(yè)管理器S Q L E M進(jìn)行數(shù)據(jù)庫(kù)恢復(fù) 打開企業(yè)管理器 SQLEM, 展開數(shù)據(jù)庫(kù) , 選中 數(shù)據(jù) 庫(kù)右擊I 所有任務(wù)I 還原數(shù)據(jù)庫(kù)。選擇還原的文件。 4.6 數(shù)據(jù)庫(kù)崩潰恢復(fù)方案 在恢復(fù)的時(shí)候,最理想的情況就是你的數(shù)據(jù)文件和日志文件都完好無(wú)損.這樣只需要sp_attach_db,把數(shù)據(jù)文件附加到新的數(shù)據(jù)庫(kù)上即可。 一般數(shù)據(jù)庫(kù)崩潰的時(shí)候系統(tǒng)是未必能有時(shí)間把未完成的事務(wù)和臟頁(yè)等寫入磁盤的,這樣的情況sp_attach_db就會(huì)失敗。DBA制定了一個(gè)良好的災(zāi)難恢復(fù)計(jì)劃。按照你的恢復(fù)計(jì)劃,還原最新的完全備份,增量備份或者事務(wù)日志備份,然后如果你的活動(dòng)事務(wù)日志還能讀得出來(lái),就可以還原到崩潰前的狀態(tài)。 首先可以試一下sp_attach_single_file_db,試著恢復(fù)一下你的數(shù)據(jù)文件。可以試著重新建立一個(gè)log,先把數(shù)據(jù)庫(kù)設(shè)置為emergency mode,sysdatabases的status為32768 就表示數(shù)據(jù)庫(kù)處于此狀態(tài)。 設(shè)置:Use Master Go sp_configure allow updates, 1 reconfigure with override Go 然后 update sysdatabases set status = 32768 where name = 先把SQL Server 重新啟動(dòng)一下,然后檢查你的數(shù)據(jù)庫(kù)吧。 先設(shè)置成單用戶模式,然后:sp_dboption , single user, true DBCC CHECKDB() 系統(tǒng)表的修改選項(xiàng)關(guān)掉。 update sysdatabases set status = 28 where name = 以用sp_resetstatus go sp_configure allow updates, 0 reconfigure with override Go .表的列表可以用sysobjects里面得到,把OBJECTPROPERTY是IsTable的全部找出來(lái)檢查一下,這些都做完了之后,把所有索引、視圖、存儲(chǔ)過(guò)程、觸發(fā)器等重新建立一下. 4.7 數(shù)據(jù)庫(kù)管理員任務(wù)規(guī)劃 4.7.1 主要職責(zé): (

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論