Access快速開發(fā)平臺從2013年首次發(fā)布本至今,已經(jīng)有整整6個年頭了,,下載量已經(jīng)接近90萬次,,不算好也不算賴。6年時間彈指一揮間,,恍然如昨日,,讓人不勝唏噓。我也從一個安靜的美男子變成了中年油膩謝頂大叔,,常常為自己日漸稀疏的頭頂和日漸凸起的肚子而鬧心,。哎!說多了都是淚?。,。ㄆ脚_官網(wǎng):www.AccessGood.com) 快速開發(fā)平臺能受到大家的喜歡,進而為這個社會的進步貢獻了份力,,創(chuàng)造了一份價值,。身為快速開發(fā)平臺的作者,,我仿佛有種自己的孩子混得還算有點出息,自己一番心血沒有白費,,從而老懷欣慰的感覺,。 追求個人價值的實現(xiàn),這就是理想啊,。而當(dāng)個人的理想能和社會進步的方向契合時,,這無疑是一種幸運。 快速開發(fā)平臺這個產(chǎn)品,,因為只有我一個人在開發(fā)和維護,,由于工作原因,沒有能投入太多精力對它進行教導(dǎo),。所以長得很慢,,至今才發(fā)展到2.x版本。這其中的原由,,也是孩子沒娘,,說來話長。 當(dāng)初做快速開發(fā)平臺立項時,,其實是想做為一個免費開源項目,,它其實是我設(shè)計的第三代 Access 通用框架平臺產(chǎn)品。前兩代是完全開源的,,然后順帶著公司內(nèi)部做軟件開發(fā)項目時方便一些,,完全沒有想過通過快速開發(fā)平臺本身來賺錢的事。 但后面和竹笛討論下來,,認為這樣可能會對公司的業(yè)務(wù)造成沖擊。要是把我們自己的飯碗搞砸,,自己先餓死了,,什么理想情懷就無從談起。讓我們面對現(xiàn)實,,讓我們忠于理想,。不肯面對現(xiàn)實的理想,最終只是一場空想,。 于是穩(wěn)妥起見,,變成了現(xiàn)在這種半開源的形式:如果你只是使用 Access 數(shù)據(jù)庫,那么完全免費,;如果升級到 SQL Server 數(shù)據(jù)庫,,或者需要提供相應(yīng)技術(shù)支持,則需要收費,。 雖然做快速開發(fā)平臺的研發(fā)我是用了心,,但我畢竟不能全職干這個,。平日里還有很多工作要做,,能夠花在快速開發(fā)平臺研發(fā)上面的時間和精力有限,。最終導(dǎo)致快速開發(fā)平臺發(fā)育有點緩慢,連幫助文檔都很久沒有補齊全了,,只能和多年來一直支持的朋友們說聲抱歉,。 雖然困難一直存在,,但不會放棄。畢竟是親兒子,,怎么能隨便拋棄呢,?雖然走得慢了點,但我們一直在路上,。 之前有購買了企業(yè)版的朋友,,在交流中,跟我“報怨': 哥哥哎,,收費版和免費版相比,,就只多了一個可以使用 SQL Server 作為后臺數(shù)據(jù)庫的功能,沒有其它區(qū)別嘛,!連相關(guān)的教程也沒有,。我們這買的有點吃虧啊,!都不好跟領(lǐng)導(dǎo)申請,! 說起這個事,確實有點對不住大家,,因此在接下來新的后續(xù)版本中,,會側(cè)重開發(fā)一些針對付費版本的新功能,提升付費版本的價值,,讓花錢付費支持快速開發(fā)平臺的朋友們更物有所值,。當(dāng)然,免費版仍然一如既往,,大家不要擔(dān)心,。 話不多說,先上點福利給大家,。前面都是水,,以下才是正文: 快速開發(fā)平臺企業(yè)版教程:SQL Server數(shù)據(jù)庫自動備份及控制日志增長在本教程中,主要向大家講解企業(yè)版平臺使用過程中,,常見但很重要的兩個問題: 怎么實現(xiàn) SQL Server 數(shù)據(jù)庫的自動備份 怎么解決 SQL Server 數(shù)據(jù)庫的無限增大 關(guān)于 SQL Server 數(shù)據(jù)庫的自動備份基于數(shù)據(jù)庫的管理軟件,,最有價值的東西是什么?當(dāng)然是數(shù)據(jù),!而備份是防止因為操作失誤,、系統(tǒng)故障造成數(shù)據(jù)損壞,、丟失的最有效容災(zāi)手段,沒有之一,! 在 SQL Server 為我們提供了強大靈活的自動備份功能,。在本教程中將為大家講解如何實現(xiàn)每天3點自動備份。為什么要放在半夜3點,?當(dāng)然是為了避免影響正常使用啦,。 關(guān)于 SQL Server 數(shù)據(jù)庫日志的無限增大每個 SQL Server 數(shù)據(jù)庫會有2個文件,一個數(shù)據(jù)文件(.mdf),,一個日志文件(.ldf),。使用一段時間之后,我們會發(fā)現(xiàn)日志文件會增長的非???!可能數(shù)據(jù)庫不到100M,而日志文件卻超過了10G,!再加上每日的備份,,服務(wù)器上的硬盤空間很快就被耗盡了! 使用 SQL Server 數(shù)據(jù)庫的 “任務(wù) -> 收縮” 功能,,無效,,因為該操作主要是釋放未使用的空間;限制日志文件大小,,依然無效,,甚至當(dāng)日志寫滿后,數(shù)據(jù)庫都不能正常寫入數(shù)據(jù)了,。 將這2個問題結(jié)合起來,,解決的思路是,通過維護計劃,,定期執(zhí)行以下操作: 備份數(shù)據(jù)庫:任務(wù)對整個數(shù)據(jù)庫的操作都是有一定危險性的,,所以一定得是很備份。 截斷日志:只保留指定大小的日志,,超出的進行截斷,,這個是解決日志無限增大的關(guān)鍵步驟,。 收縮數(shù)據(jù)庫,。釋放未使用的空間。 重新組織索引:因為各種故障可能造成索引異常,,而索引異常會導(dǎo)致一些讓人摸不著頭腦的奇怪的問題,,而重新組織索引,則可以有效解決,。 注意:在接下來的步驟中,,如果有點擊右鍵通過快捷菜單打開某個界面的操作,,絕大部分都可以直接使用雙擊的方式來打開,本文中為了大家觀看時更直觀明了,,統(tǒng)一使用右鍵快捷菜單的方式,。 SQL Server 數(shù)據(jù)庫自動備份同時控制日志大小的詳細操作步驟:登錄服務(wù)器,啟動 SQL Server 管理工具 SSMS(Microsoft SQL Server Management Studio),。一般建議用Windows身份驗證登錄,,避免后面進行一些操作時,由于權(quán)限不足而造成問題,。
進入SSMS后,,在對象資源管理器窗格中,展開節(jié)點【(local)】->【管理】,,然后在【維護計劃】節(jié)點上點擊右鍵,,在彈出的快捷菜單中選擇【新建維護計劃(N)...】菜單項。
在彈出的新建維護計劃對話框中,,輸入新的名稱“每天3點自動備份數(shù)據(jù)庫”,,然后點【確定】按鈕。
接下來就自動進入到維護計劃設(shè)計界面了,,注意工具箱窗格一般會默認打開,,如果沒有默認打開,可以通過菜單“視圖(V) -> 工具箱(X)”(或快捷鍵Ctrl+Alt+X)來打開,。
從【工具箱】中選中【“備份數(shù)據(jù)庫”任務(wù)】,,按住鼠標(biāo)左鍵不放,將其拖放到右側(cè)空白處松開左鍵,,此時會自動創(chuàng)建任務(wù),。
在新添加的【“備份數(shù)據(jù)庫”任務(wù)】上點擊右鍵,在彈出的快捷菜單中選擇【編輯(E)...】菜單項,。
在【“備份數(shù)據(jù)庫”任務(wù)】明細界面,,點擊【數(shù)據(jù)庫(D)】組合框,注意這里的組合框和平時的不太一樣,,它不只是一個簡單的值列表,,而是一個彈出的對話框。在其中根據(jù)需要選擇數(shù)據(jù)庫,,這里我們用來做演示的數(shù)據(jù)庫名稱是“BLOG”,,因此就只選擇這一個數(shù)據(jù)庫即可,然后再點【確定】按鈕返回,。
接著在【“備份數(shù)據(jù)庫”任務(wù)】明細界面,,進行以下操作:
選中【為每個數(shù)據(jù)庫創(chuàng)建子目錄(U):】復(fù)選框。 【文件夾(L):】輸入框中修改為“D:\MSSQL_DB_BACKUP”,。這里默認是 SQL Server 安裝目錄下的子目錄,,一般是在操作系統(tǒng)所在的 C 盤中,。為了數(shù)據(jù)庫的安全和方便管理,這里我們最好換一個其它文件夾(該文件夾不需要事先創(chuàng)建好,,備份時如果不存在會自動創(chuàng)建的),。 選中【驗證備份完整性(Y)】復(fù)選框。 【設(shè)置備份壓縮(M):】選擇“壓縮備份”,。 點【確定】按鈕完成任務(wù)的設(shè)置,。 參照第5步的操作,通過從工具箱中拖放的方式,,添加一個【“執(zhí)行 T-SQL 語句”任務(wù)】,。
在新添加的【“執(zhí)行 T-SQL 語句”任務(wù)】上點擊右鍵,在彈出的快捷菜單中選擇【編輯(E)...】菜單項,。
在【執(zhí)行 T-SQL 語句”任務(wù)】明細界面,,復(fù)制以下代碼粘貼到【T-SQL 語句(T):】輸入框,再點【確定】按鈕完成任務(wù)的設(shè)置,。 --將數(shù)據(jù)庫恢復(fù)模式改為“簡單” USE [master] GO Alter DATABASE BLOG SET RECOVERY SIMPLE WITH NO_WAIT GO Alter DATABASE BLOG SET RECOVERY SIMPLE GO --收縮日志文件為10MB大小 USE BLOG GO DBCC SHRINKFILE (N'BLOG_LOG', 10, TRUNCATEONLY) GO --將數(shù)據(jù)庫恢復(fù)模式恢復(fù)為“完整” USE [master] GO Alter DATABASE BLOG SET RECOVERY FULL WITH NO_WAIT GO Alter DATABASE BLOG SET RECOVERY FULL GO
參照第5步的操作,,通過從工具箱中拖放的方式,添加一個【“收縮數(shù)據(jù)庫”任務(wù)】,。
在新添加的【“收縮數(shù)據(jù)庫”任務(wù)】上點擊右鍵,,在彈出的快捷菜單中選擇【編輯(E)...】菜單項。
在【“收縮數(shù)據(jù)庫”任務(wù)】明細界面,,點【數(shù)據(jù)庫(D)】組合框,,選擇要備份的BLOG數(shù)據(jù)庫,然后點【確定】按鈕返回到任務(wù)明細界面,,再點【確定】按鈕完成任務(wù)的設(shè)置,。
參照第5步的操作,通過從工具箱中拖放的方式,,添加一個【“重新組織索引”任務(wù)】,。
在新添加的【“重新組織索引”任務(wù)】上點擊右鍵,在彈出的快捷菜單中選擇【編輯(E)...】菜單項,。
在【“重新組織索引”任務(wù)】明細界面,,點【數(shù)據(jù)庫(D)】組合框,選擇要備份的BLOG數(shù)據(jù)庫,,然后點【確定】按鈕返回到任務(wù)明細界面,,再點【確定】按鈕完成任務(wù)的設(shè)置。
由于這里我們總共添加了4個任務(wù),,接下來還需要指定這4個任務(wù)的執(zhí)行順序,。點擊選中【“備份數(shù)據(jù)庫”任務(wù)】,,這時它周圍會出現(xiàn)較粗的虛框,,并且下面會出現(xiàn)一個箭頭,,用鼠標(biāo)指針將這個箭頭拖動到【“執(zhí)行 T-SQL 語句”任務(wù)】上,將這兩個任務(wù)連接到一起,,拖動過程中箭頭會變成虛線,,拖動完成后箭頭會將這2個任務(wù)矩形連接到一起。 這里的最后順序應(yīng)該是:【“備份數(shù)據(jù)庫”任務(wù)】 --> 【“執(zhí)行 T-SQL 語句”任務(wù)】 --> 【“收縮數(shù)據(jù)庫”任務(wù)】 --> 【“重新組織索引”任務(wù)】
維護計劃的任務(wù)及執(zhí)行步驟我們已經(jīng)添加完成,,接下來需要指定何時來執(zhí)行計劃,。點擊上方第1個子計劃(默認名稱是“Subplan_1”)右側(cè)的日歷圖標(biāo)按鈕,打開作業(yè)計劃屬性界面,。
在打開的【作業(yè)計劃屬性】界面中,,將【頻率】-【執(zhí)行(C):】設(shè)為每天,再將【每天頻率】 - 【執(zhí)行一次,,時間為(A):】設(shè)為 03:00,,再點【確定】按鈕完成設(shè)置。
至此整個作業(yè)計劃設(shè)置完成,,點擊工具欄中的【保存】按鈕(或按 Ctrl+S保存),,然后關(guān)閉作業(yè)計劃設(shè)計界面。
“每天3點自動備份數(shù)據(jù)庫”這個維護計劃創(chuàng)建完成,,我們就能在資源管理器窗格的“(local) -> 管理 -> 維護計劃”下面看到它了,。到這里還沒完,我們還需要執(zhí)行一下看看是否能正常執(zhí)行,。
最后執(zhí)行狀態(tài)顯示為成功,,那么就大功造成啦!
可能遇到的相關(guān)問題解決辦法:事情不可能總是一帆風(fēng)順,,在這這個過程中,,可能遇到一些問題,怎么辦,?解決它,! 執(zhí)行維護計劃時,可能會出現(xiàn)錯誤,。點擊對話框中消息列中對應(yīng)的超鏈接,。 這錯誤消息框看得人一頭霧水。 怎么辦,?別慌,,我們?nèi)タ纯村e誤日志。在對象資源管理器窗格中展開節(jié)點“(local) - SQL Server 代理 - 錯誤日志”,,雙擊打開“當(dāng)前”日志,。 發(fā)現(xiàn)日志中有這樣的錯誤消息:無法獲取windows用戶的信息。這時我們就有譜了,因為我們是用Windows身份驗證登錄的,,那么問題多半是出在以這個用戶的身份執(zhí)行維護計劃沒有相應(yīng)的權(quán)限上面,。 維護計劃中好像沒有地方指定以什么用戶身份來執(zhí)行怎么辦呢?別急,,其實維護計劃中,,包含了一個個子計劃,而這些子計劃,,其實就是一個個的作業(yè),。 在對象資源管理器窗格中展開節(jié)點“(local) - SQL Server 代理 - 作業(yè)”,找到我們剛才創(chuàng)建的維護計劃對應(yīng)的作業(yè)“每天3點自動備份數(shù)據(jù)庫.Subplan_1”,,雙擊該作業(yè)節(jié)點打開【作業(yè)屬性】界面,,我們可以看到所有者即是剛才錯誤提示信息中的Windows用戶名。 我們將其改為 SQL Server 的默認 sa 用戶,,確定后,,再嘗試去執(zhí)行維護計劃。 沒有問題了,! |
|