新聞中心
要將mssql數(shù)據(jù)庫進行打包,實現(xiàn)高效的備份以及遷移,有幾個關鍵問題需要注意。本文將從以下幾個方面為大家詳細介紹:

我們注重客戶提出的每個要求,我們充分考慮每一個細節(jié),我們積極的做好成都網(wǎng)站設計、成都做網(wǎng)站服務,我們努力開拓更好的視野,通過不懈的努力,創(chuàng)新互聯(lián)建站贏得了業(yè)內(nèi)的良好聲譽,這一切,也不斷的激勵著我們更好的服務客戶。 主要業(yè)務:網(wǎng)站建設,網(wǎng)站制作,網(wǎng)站設計,微信小程序,網(wǎng)站開發(fā),技術開發(fā)實力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫的技術開發(fā)工程師。
1.數(shù)據(jù)備份類型的選擇
在備份mssql數(shù)據(jù)庫時,主要有三種類型:完全備份、增量備份和差異備份。完全備份即將整個數(shù)據(jù)庫備份,無論是數(shù)據(jù)還是日志都會被備份。而增量備份和差異備份是對完全備份的補充。
增量備份備份了最近一次完全備份之后所做的所有更改和操作,不包括完全備份后做過的操作。而差異備份則備份了最近一次完全備份之后,所有做過更改和操作的數(shù)據(jù)。與增量備份相比,差異備份備份的數(shù)據(jù)更多,因此備份也更慢。
因為差異備份備份的數(shù)據(jù)更多,一般來說也更安全,建議在備份數(shù)據(jù)庫時優(yōu)先采用差異備份的方式,之后再進行增量備份。
2.壓縮備份文件
壓縮備份文件可以減少備份文件的大小,加快備份時間,并節(jié)省磁盤空間。mssql數(shù)據(jù)庫可以使用壓縮來對備份文件進行壓縮,以減少備份文件的大小。在選擇壓縮類型時,LZ77和LZ-RLE是最常用的兩種壓縮類型。LZ-RLE壓縮是一種簡單的壓縮方法,只適用于小的大小段。LZ77壓縮是一種更高效的壓縮方法,可用于大文件。
3.備份的定時策略
為了保證備份的快速高效,同時還要保證數(shù)據(jù)安全,備份的定時策略也非常重要。對于一般的mssql數(shù)據(jù)庫來說,每日一次完全備份,并在此基礎上進行每小時一次的增量備份,可以在保證數(shù)據(jù)安全的前提下,更大程度地減少備份的時間。
如果在備份數(shù)據(jù)時需要進行數(shù)據(jù)遷移,可以選擇在備份數(shù)據(jù)庫時將其直接備份到目標服務器上。這樣可以避免在備份完成后手動進行數(shù)據(jù)遷移,大大提高了備份和遷移的效率。
備份是保證數(shù)據(jù)安全重要的環(huán)節(jié),因此在備份數(shù)據(jù)時需要注意上述關鍵問題。通過選擇合適的備份類型、采用備份文件壓縮和定時策略,以及直接備份到目標服務器的方法,可以在節(jié)省時間的同時,保證數(shù)據(jù)庫備份和遷移的高效率。
相關問題拓展閱讀:
- sql數(shù)據(jù)庫如何導出?
sql數(shù)據(jù)庫如何導出?
1、打開SQL Server,找到需要導出的數(shù)據(jù)庫。
2、在需要導出的數(shù)據(jù)庫上右擊,選擇任務選項中的導出數(shù)據(jù)選項。
3、SQL Server導入和導出向?qū)Т翱谥?,單擊下一步按鈕。
4、選擇數(shù)據(jù)源對話框中,選擇數(shù)據(jù)源選項中的Microsoft OLE DB Provider for SQL Server選項。
5、選擇使用SQL Server身份驗證,輸入
用戶名
和密碼,選擇要導出的數(shù)據(jù)庫,單擊下一步。
6、選擇目標對話框中,選擇目標選項中的Microsoft OLE DB Provider for SQL Server選項。
7、選擇使用SQL Server身份驗證,輸入用戶名和密碼,單擊新建按鈕。
8、出現(xiàn)的創(chuàng)建數(shù)據(jù)庫窗口中,在名稱處輸入一個導出數(shù)據(jù)庫的名字,本例為NewData。
9、可以看到在數(shù)據(jù)庫選項中,多出了一個NewData的名稱,單擊下一步。
10、指定復制或查詢對話框中,選擇復制一個或多個表或視圖的數(shù)據(jù)選項,單擊下一步。
11、選擇源表和源視圖對話框中,選擇自己要導出的表和視圖。
12、運行包對話框中,單擊完成按鈕。
13、數(shù)據(jù)就成功導出了。
一、導出導入SQL Server里某個數(shù)據(jù)庫
1.在SQL Server企業(yè)管理器里選中要轉(zhuǎn)移的數(shù)據(jù)庫,按鼠標右鍵,選所有任務->備份數(shù)據(jù)庫。
2.備份 選數(shù)據(jù)庫-完全,
目的 備份到 按添加按鈕
文件名 在SQL Server服務器硬盤下輸入一個自定義的備份數(shù)據(jù)庫文件名(后綴一般是bak)
重寫 選重寫現(xiàn)有媒體
最后按確定按鈕。
如果生成的備份數(shù)據(jù)庫文件大于1M,要用壓縮工具壓縮后再到Internet上傳輸。
3.通過FTP或者remote desktop或者pcanywhere等方法
把第二步生成的備份數(shù)據(jù)庫文件或者其壓縮后的文件傳到目的SQL Server數(shù)據(jù)庫,如果有壓縮要解壓。
4.目的SQL Server數(shù)據(jù)庫如果還沒有此數(shù)據(jù)庫,先創(chuàng)建一個新的數(shù)據(jù)庫;
然后選中這個新創(chuàng)建的數(shù)據(jù)庫,按鼠標右鍵,選所有任務->還原數(shù)據(jù)庫
還原->從設備->選擇設備->磁盤->添加(找到要導入的備份數(shù)據(jù)庫文件名)->確定
還原備份集->數(shù)據(jù)庫-完全
最后按確定按鈕。完全的數(shù)據(jù)庫導入成功了。
(如果在已經(jīng)存在的SQL Server數(shù)據(jù)庫上還原數(shù)據(jù)庫可能遇到有還有其它人正在使用它而恢復操做失敗,
可以去看 ->管理->當前活動->鎖/對象->找到數(shù)據(jù)庫下鎖的進程號->到查詢分析器里用kill 進程號殺掉這些鎖,然后再做還原)
注意:如果在原有的目的SQL Server數(shù)據(jù)庫上從備份文件(*.bak)還原數(shù)據(jù)庫會把已經(jīng)存在的表、存儲過程等數(shù)據(jù)庫對象全部替換成最近這次導入的備份數(shù)據(jù)庫里的內(nèi)容。
如果一定要還原備份文件(*.bak)里部分數(shù)據(jù),需要另外建一個新數(shù)據(jù)庫,其邏輯名稱和數(shù)量同備份文件(*.bak)里數(shù)據(jù)庫的邏輯名稱和數(shù)量一致;
新數(shù)據(jù)庫的物理文件名稱取得一定要和備份文件(*.bak)里數(shù)據(jù)庫的物理文件不一樣才行。
二、導出導入SQL Server里某個表
1.沒有防火墻,同一個局域網(wǎng)里或不在同一個局域網(wǎng)里,但通過Internet可以互相訪問
在SQL Server企業(yè)管理器里選中目的數(shù)據(jù)庫 ,按鼠標右鍵,選所有任務->導入數(shù)據(jù)-> 彈出數(shù)據(jù)轉(zhuǎn)換服務導入/導出向?qū)Т翱?>下一步->選數(shù)據(jù)源-> 數(shù)據(jù)源(用于SQL Server的Microfost OLE DB提供程序)->服務器(可選擇局域網(wǎng)內(nèi)能訪問到的所有SQL Server服務器,或者直接輸入IP地址)->選擇使用windows身份驗證還是使用SQL Serve身份驗證(輸入數(shù)據(jù)庫的用戶名和密碼)->數(shù)據(jù)庫(可選擇上面選中SQL Server服務器上所有權限范圍內(nèi)的數(shù)據(jù)庫)->下一步->選擇目的->目的(用于SQL Server的Microfost OLE DB提供程序)->服務器(默認為上一步里選中的導出服務器,也可以選其它局域網(wǎng)內(nèi)能訪問到的所有SQL Server服務器,或者直接輸入IP地址)->目的數(shù)據(jù)庫(可選擇上面選中SQL Server服務器上所有權限范圍內(nèi)的數(shù)據(jù)庫)->下一步->制定表復制或查詢->選從源數(shù)據(jù)庫復制表和視圖(也可以選擇用一條查詢指定要傳輸?shù)臄?shù)據(jù))->下一步->選擇源表和視圖->在要導入的表和視圖前面選中源->目的出現(xiàn)同樣的表名(可以手工修改成別的表名)->轉(zhuǎn)換->列映射和轉(zhuǎn)換里面可以修改源表和目的表之間字段的對應關系,修改目的表字段的類型和長度等,并可以選擇創(chuàng)建目的表,在目的表中增加行,除去并重新創(chuàng)建目的表,啟用標志插入等選項->確定->下一步->保存、調(diào)度和復制包->時間->立即運行(如果要實現(xiàn)隔一段時間自動導出導入數(shù)據(jù),選調(diào)度DTS包以便以后執(zhí)行)->保存(可以不選)->下一步-> >->完成
正在執(zhí)行包->圖形界面顯示創(chuàng)建表及插入記錄的步驟和狀態(tài)->完成
2.經(jīng)過防火墻,不在同一個局域網(wǎng)里
①、導出表里的數(shù)據(jù)到文本文件:
在SQL Server企業(yè)管理器里選中目的數(shù)據(jù)庫,按鼠標右鍵,選所有任務-> 導入數(shù)據(jù)->彈出數(shù)據(jù)轉(zhuǎn)換服務導入/導出向?qū)Т翱?>下一步->選數(shù)據(jù)源-> 數(shù)據(jù)源(用于SQL Server的Microfost OLE DB提供程序)->服務器(可選擇局域網(wǎng)內(nèi)能訪問到的所有SQL Server服務器)->選擇使用windows身份驗證還是使用SQL Serve身份驗證(輸入數(shù)據(jù)庫的用戶名和密碼)->數(shù)據(jù)庫(可選擇上面選中SQL Server服務器上所有權限范圍內(nèi)的數(shù)據(jù)庫)->下一步->選擇目的->目的(文本文件)-> 文件名(在自己的電腦硬盤中生成一個自定義的文本文件) ->下一步->制定表復制或查詢->選從源數(shù)據(jù)庫復制表和視圖(也可以選擇用一條查詢指定要傳輸?shù)臄?shù)據(jù))->下一步->選擇目的文件格式->源(選擇要導出的表)->用默認的帶分隔符->選之一行包含有列名稱選項->下一步->保存、調(diào)度和復制包->時間->立即運行(如果要實現(xiàn)隔一段時間自動導出到文本文件,選調(diào)度DTS包以便以后執(zhí)行)->保存(可以不選)-> 下一步->>->完成
正在執(zhí)行包->圖形界面顯示表到文本文件的步驟和狀態(tài)->完成
如果生成的文本文件大于1M,要用壓縮工具壓縮后再到Internet上傳輸。
②、通過FTP或者remote desktop或者pcanywhere等方法把
第①步生成的文本文件或者其壓縮后的文件傳到目的SQL Server數(shù)據(jù)庫,如果有壓縮要解壓。
③、把文本文件導入目的SQL Server數(shù)據(jù)庫
直接把文本文件導入目的SQL Server數(shù)據(jù)庫里跟文本文件同名的新表名時,默認的會把所有字段類型都變成字符串。
所以我們要這樣做:
在源SQL Server數(shù)據(jù)庫上先生成創(chuàng)建表的sql語句
在SQL Server查詢分析器里->選中源數(shù)據(jù)庫里表名->按右鍵->在新窗口中編寫對象腳本->創(chuàng)建->復制下新窗口內(nèi)創(chuàng)建表名的sql語句到目標SQL Server數(shù)據(jù)庫上查詢分析器里執(zhí)行創(chuàng)建表名的sql語句,生成空表結構。(如果已經(jīng)存在這樣的表名,修改建表的sql語句,在表名后面加上導入時間的年月信息,例如table_0113)
調(diào)用導入/導出工具->彈出數(shù)據(jù)轉(zhuǎn)換服務導入/導出向?qū)Т翱?>下一步->選數(shù)據(jù)源-> 數(shù)據(jù)源(文本文件)->文件名(已傳到目的SQL Server數(shù)據(jù)庫下要導入的文本文件,后綴可以不是*.txt,但是常規(guī)文本編輯器能打開的文件,文件類型選全部)->下一步->選擇文件格式->用默認的帶分隔符->選之一行包含有列名稱選項->下一步->制定列分割符->逗號->下一步->選擇目的->目的(用于SQL Server的Microfost OLE DB提供程序)->服務器(可選擇目標局域網(wǎng)內(nèi)能訪問到的所有SQL Server服務器)-> 選擇使用windows身份驗證還是使用SQL Serve身份驗證(輸入數(shù)據(jù)庫的用戶名和密碼)->數(shù)據(jù)庫(可選擇上面選中SQL Server服務器上所有權限范圍內(nèi)的數(shù)據(jù)庫)->下一步->選擇源表和視圖->修改目的表名為剛才創(chuàng)建的表名->轉(zhuǎn)換(在目的表中追加行) ->下一步->保存、調(diào)度和復制包->時間->立即運行(如果要實現(xiàn)隔一段時間自動把文本文件導入,選調(diào)度DTS包以便以后執(zhí)行)->保存(可以不選)-> 下一步->>->完成
正在執(zhí)行包->圖形界面顯示文本文件到表的步驟和狀態(tài)->完成
如果要更改導入時間的年月信息的表名,例如table_0113到原來的表名,在企業(yè)管理器里把原來的表名改成table_old_0113,table_0113改名成table。這會對應用程序里頻繁訪問的表照成一定的中斷。
注意:源表上的建的索引和主鍵約束不能用上面介紹的1和2方法轉(zhuǎn)移過來,還需要手工來建索引和主鍵。
標志種子和not null的約束可以繼承過來。
導入視圖時會把源視圖里所有的真實數(shù)據(jù)導入成一個新表,而不是視圖。
三、SQL Server存儲過程或用戶定義的函數(shù)導出導入
1、導出存儲過程或用戶定義的函數(shù)成*.sql文件
在SQL Server企業(yè)管理器里選中源數(shù)據(jù)庫,存儲過程->單選或者多選中要轉(zhuǎn)移的存儲過程->用戶定義的函數(shù)->單選或者多選中要轉(zhuǎn)移的函數(shù)->按鼠標右鍵,選所有任務->生成SQL腳本->確定->在自己的電腦硬盤中生成一個自定義的*.sql文件->保存->正在生成SQL腳本->成功
2、如果目的數(shù)據(jù)庫經(jīng)過防火墻,不在同一個局域網(wǎng)里,要通過FTP或者remote desktop或者pcanywhere等方法把第1步生成的*.sql文件傳到目的SQL Server數(shù)據(jù)庫服務器上。
3、用查詢分析器進入SQL Server目的數(shù)據(jù)庫,從菜單里選文件->打開->打開查詢文件->選中第1步生成的*.sql文件->點執(zhí)行查詢的綠色倒三角型快捷鍵->查詢窗口里會出現(xiàn)執(zhí)行后的消息(有時候可能因為存儲過程和用戶定義的函數(shù)之間有一定的依賴關系,會報一些錯。
更好先執(zhí)行用戶定義的函數(shù)的*.sql文件,再執(zhí)行存儲過程的*.sql文件)
四、ORACLE數(shù)據(jù)庫里表導入SQL Server數(shù)據(jù)庫
1、在目的SQL Server數(shù)據(jù)庫服務器上安裝ORACLE Client軟件或者ORACLE ODBC Driver. 在$ORACLE_HOME\network\admin\tnsnames.ora里配置ORACLE數(shù)據(jù)庫的別名(service name)。
具體配置方法可以參考本站文章:客戶端連服務器的注意事項
2、在WIN2023或者win2023服務器->管理工具->數(shù)據(jù)源(ODBC)->系統(tǒng)DSN(本機器上NT域用戶都可以用)->添加->ORACLE ODBC Driver->完成->data source name 可以自定義,我一般填ORACLE數(shù)據(jù)庫的sid標志,description里可以填ORACLE數(shù)據(jù)庫詳細描述,也可以不填->data source service name 填第1步定義的ORACLE數(shù)據(jù)庫別名->OK。
(用戶DSN和文件DSN也可以類似配置,但使用的時候有一些限制)
3、SQL Server的導入和導出數(shù)據(jù)工具里->選數(shù)據(jù)源-> 數(shù)據(jù)源(其它(ODBC數(shù)據(jù)源))->選第2步在ODBC里定義的系統(tǒng)DSN source name,用戶名密碼處填寫ORACLE系統(tǒng)的用戶名和密碼->下一步->選擇目的,選SQL Server數(shù)據(jù)庫(跟上面第二點講的一致,就不重復了)。
注意:在ORACLE表和SQL Server表之間’轉(zhuǎn)換’那步很重要,可以改變默認的字段數(shù)據(jù)類型,如image->text,decimal->int
五、SQL Server數(shù)據(jù)庫里表導入ORACLE數(shù)據(jù)庫
方法一.導出目的選通過ODBC數(shù)據(jù)源里定義的ORACLE數(shù)據(jù)庫, 注意ORACLE里表名都是大寫的.我一般在ORACLE這邊先生成好表結構,再選擇SQL SERVER源表往ORACLE目的表里追加數(shù)據(jù).數(shù)據(jù)傳輸速度比方法二慢.
方法二.從SQL Server數(shù)據(jù)庫導入數(shù)據(jù)到ORACLE數(shù)據(jù)庫可以選擇用Windows下ORACLE9i企業(yè)或者個人版數(shù)據(jù)庫做中轉(zhuǎn)。
之一步:查看需要備份的數(shù)據(jù)庫
登入SQL Server Management Studio后,在右側打開樹狀圖可以看到相關數(shù)據(jù)庫。
第二步:數(shù)據(jù)庫脫機
選中需要備份的數(shù)據(jù)庫后,選中“任務”->“脫機”,脫機時候,必須關掉表、查詢等。
第三步:確認脫機成功
脫機這一步很重要,因為不脫機,直接復制這兩個文件會報錯,所以必須得脫機。請確保出線一下提示界面,才能保證脫機成功。
第四步:復制備份文件
進入你的數(shù)據(jù)庫安裝目錄,相對位置如“\Microsoft SQL Server\MSSQL.1\MSSQL\Data”文件夾,在這個文件夾內(nèi),選擇你要復制的數(shù)據(jù)庫文件(.mdf和.ldf),然后粘貼到你需要備份的地方即可。
方法一:選擇需要導出的數(shù)據(jù)庫右鍵——導出
方法二:(方法一不成功時候的方法)
選擇需要導出的數(shù)據(jù)庫,單擊右鍵——任務——分離——勾選刪除鏈接和保全……——確定
之后直接去數(shù)據(jù)庫所在的根目錄復制粘貼到你想要存放的目錄底下
兩種方法:一種做出.bak的備份文件,一種直接把數(shù)據(jù)庫文件拷貝出來。
方法2:分離、附加
步驟:1、鼠標右鍵選中要導出的數(shù)據(jù)庫–》任務–》分離
、到C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data目錄下面拷貝你的數(shù)據(jù)庫對應的文件.****.mdf,****.log
、要用的時候直接ManagementStudio–》數(shù)據(jù)庫–》附加–》找到你備份的***.mdf的附加后就可以用了。
關于打包mssql數(shù)據(jù)庫的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都網(wǎng)站營銷推廣找創(chuàng)新互聯(lián),全國分站站群網(wǎng)站搭建更好做SEO營銷。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎服務商,價格厚道。提供成都服務器托管租用、綿陽服務器租用托管、重慶服務器托管租用、貴陽服務器機房服務器托管租用。
本文標題:快速高效:如何打包mssql數(shù)據(jù)庫? (打包mssql數(shù)據(jù)庫)
轉(zhuǎn)載來于:http://m.fisionsoft.com.cn/article/cdosgoe.html


咨詢
建站咨詢
