溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQL Server導(dǎo)入、導(dǎo)出和備份數(shù)據(jù)的方法

發(fā)布時(shí)間:2021-09-14 03:19:51 來源:億速云 閱讀:563 作者:chen 欄目:數(shù)據(jù)庫(kù)

本篇內(nèi)容介紹了“SQL Server導(dǎo)入、導(dǎo)出和備份數(shù)據(jù)的方法”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

一、導(dǎo)出導(dǎo)入SQL Server里某個(gè)數(shù)據(jù)庫(kù)   1.在SQL Server企業(yè)管理器里選中要轉(zhuǎn)移的數(shù)據(jù)庫(kù),按鼠標(biāo)右鍵,選所有任務(wù)->備份數(shù)據(jù)庫(kù)。   2.備份 選數(shù)據(jù)庫(kù)-完全,   目的 備份到 按添加按鈕   文件名 在SQL Server服務(wù)器硬盤下輸入一個(gè)自定義的備份數(shù)據(jù)庫(kù)文件名(后綴一般是bak)   重寫 選重寫現(xiàn)有媒體   最后按確定按鈕。   如果生成的備份數(shù)據(jù)庫(kù)文件大于1M,要用壓縮工具壓縮后再到Internet上傳輸。   3.通過FTP或者remote desktop或者pcanywhere等方法   把第二步生成的備份數(shù)據(jù)庫(kù)文件或者其壓縮后的文件傳到目的SQL Server數(shù)據(jù)庫(kù),如果有壓縮要解壓。   4.目的SQL Server數(shù)據(jù)庫(kù)如果還沒有此數(shù)據(jù)庫(kù),先創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù);   然后選中這個(gè)新創(chuàng)建的數(shù)據(jù)庫(kù),按鼠標(biāo)右鍵,選所有任務(wù)->還原數(shù)據(jù)庫(kù)   還原->從設(shè)備->選擇設(shè)備->磁盤->添加(找到要導(dǎo)入的備份數(shù)據(jù)庫(kù)文件名)->確定   還原備份集->數(shù)據(jù)庫(kù)-完全   最后按確定按鈕。完全的數(shù)據(jù)庫(kù)導(dǎo)入成功了。   (如果在已經(jīng)存在的SQL Server數(shù)據(jù)庫(kù)上還原數(shù)據(jù)庫(kù)可能遇到有還有其它人正在使用它而恢復(fù)操做失敗,   可以去看 ->管理->當(dāng)前活動(dòng)->鎖/對(duì)象->找到數(shù)據(jù)庫(kù)下鎖的進(jìn)程號(hào)->到查詢分析器里用kill 進(jìn)程號(hào)殺掉這些鎖,   然后再做還原)   注意:如果在原有的目的SQL Server數(shù)據(jù)庫(kù)上從備份文件(*.bak)還原數(shù)據(jù)庫(kù)   會(huì)把已經(jīng)存在的表、存儲(chǔ)過程等數(shù)據(jù)庫(kù)對(duì)象全部替換成最近這次導(dǎo)入的備份數(shù)據(jù)庫(kù)里的內(nèi)容。   如果一定要還原備份文件(*.bak)里部分?jǐn)?shù)據(jù),需要另外建一個(gè)新數(shù)據(jù)庫(kù),   其邏輯名稱和數(shù)量同備份文件(*.bak)里數(shù)據(jù)庫(kù)的邏輯名稱和數(shù)量一致;   新數(shù)據(jù)庫(kù)的物理文件名稱取得一定要和備份文件(*.bak)里數(shù)據(jù)庫(kù)的物理文件不一樣才行。 二、導(dǎo)出導(dǎo)入SQL Server里某個(gè)表   1.沒有防火墻,同一個(gè)局域網(wǎng)里或不在同一個(gè)局域網(wǎng)里,但通過Internet可以互相訪問   在SQL Server企業(yè)管理器里選中目的數(shù)據(jù)庫(kù) ,按鼠標(biāo)右鍵,選所有任務(wù)->導(dǎo)入數(shù)據(jù)->   彈出數(shù)據(jù)轉(zhuǎn)換服務(wù)導(dǎo)入/導(dǎo)出向?qū)Т翱?>下一步->   選數(shù)據(jù)源-> 數(shù)據(jù)源(用于SQL Server的Microfost OLE DB提供程序)->   服務(wù)器(可選擇局域網(wǎng)內(nèi)能訪問到的所有SQL Server服務(wù)器,或者直接輸入IP地址)->   選擇使用windows身份驗(yàn)證還是使用SQL Serve身份驗(yàn)證(輸入數(shù)據(jù)庫(kù)的用戶名和密碼)->   數(shù)據(jù)庫(kù)(可選擇上面選中SQL Server服務(wù)器上所有權(quán)限范圍內(nèi)的數(shù)據(jù)庫(kù))->下一步->   選擇目的->目的(用于SQL Server的Microfost OLE DB提供程序)->   服務(wù)器(默認(rèn)為上一步里選中的導(dǎo)出服務(wù)器,也可以選其它局域網(wǎng)內(nèi)能訪問到的所有SQL Server服務(wù)器,或者直接輸入IP地址)->   目的數(shù)據(jù)庫(kù)(可選擇上面選中SQL Server服務(wù)器上所有權(quán)限范圍內(nèi)的數(shù)據(jù)庫(kù))->下一步->   制定表復(fù)制或查詢->選從源數(shù)據(jù)庫(kù)復(fù)制表和視圖(也可以選擇用一條查詢指定要傳輸?shù)臄?shù)據(jù))->下一步->   選擇源表和視圖->在要導(dǎo)入的表和視圖前面選中源->目的出現(xiàn)同樣的表名(可以手工修改成別的表名)->   轉(zhuǎn)換->列映射和轉(zhuǎn)換里面可以修改源表和目的表之間字段的對(duì)應(yīng)關(guān)系,修改目的表字段的類型和長(zhǎng)度等,   并可以選擇創(chuàng)建目的表,在目的表中增加行,除去并重新創(chuàng)建目的表,啟用標(biāo)志插入等選項(xiàng)->確定->下一步->   保存、調(diào)度和復(fù)制包->時(shí)間->立即運(yùn)行(如果要實(shí)現(xiàn)隔一段時(shí)間自動(dòng)導(dǎo)出導(dǎo)入數(shù)據(jù),選調(diào)度DTS包以便以后執(zhí)行)->   保存(可以不選)->[ 保存DTS包(如果以后還要轉(zhuǎn)移這批相同的數(shù)據(jù),可以把本次導(dǎo)出導(dǎo)入的內(nèi)容和步驟保存起來,   存到SQL Server即可,保存的時(shí)候要輸入DTS的包名及詳細(xì)描述)->下一步-> ]->完成   正在執(zhí)行包->圖形界面顯示創(chuàng)建表及插入記錄的步驟和狀態(tài)->完成   2.經(jīng)過防火墻,不在同一個(gè)局域網(wǎng)里   ①、導(dǎo)出表里的數(shù)據(jù)到文本文件:   在SQL Server企業(yè)管理器里選中目的數(shù)據(jù)庫(kù),按鼠標(biāo)右鍵,選所有任務(wù)->   導(dǎo)入數(shù)據(jù)->彈出數(shù)據(jù)轉(zhuǎn)換服務(wù)導(dǎo)入/導(dǎo)出向?qū)Т翱?>下一步->   選數(shù)據(jù)源-> 數(shù)據(jù)源(用于SQL Server的Microfost OLE DB提供程序)->   服務(wù)器(可選擇局域網(wǎng)內(nèi)能訪問到的所有SQL Server服務(wù)器)->   選擇使用windows身份驗(yàn)證還是使用SQL Serve身份驗(yàn)證(輸入數(shù)據(jù)庫(kù)的用戶名和密碼)->   數(shù)據(jù)庫(kù)(可選擇上面選中SQL Server服務(wù)器上所有權(quán)限范圍內(nèi)的數(shù)據(jù)庫(kù))->下一步->   選擇目的->目的(文本文件)-> 文件名(在自己的電腦硬盤中生成一個(gè)自定義的文本文件) ->下一步->   制定表復(fù)制或查詢->選從源數(shù)據(jù)庫(kù)復(fù)制表和視圖(也可以選擇用一條查詢指定要傳輸?shù)臄?shù)據(jù))->下一步->   選擇目的文件格式->源(選擇要導(dǎo)出的表)->用默認(rèn)的帶分隔符->選第一行包含有列名稱選項(xiàng)->下一步->   保存、調(diào)度和復(fù)制包->時(shí)間->立即運(yùn)行(如果要實(shí)現(xiàn)隔一段時(shí)間自動(dòng)導(dǎo)出到文本文件,選調(diào)度DTS包以便以后執(zhí)行)->   保存(可以不選)-> [保存DTS包(保存的時(shí)候要輸入DTS的包名及詳細(xì)描述)->下一步->]->完成   正在執(zhí)行包->圖形界面顯示表到文本文件的步驟和狀態(tài)->完成   如果生成的文本文件大于1M,要用壓縮工具壓縮后再到Internet上傳輸。  ?、?、通過FTP或者remote desktop或者pcanywhere等方法把   第①步生成的文本文件或者其壓縮后的文件傳到目的SQL Server數(shù)據(jù)庫(kù),如果有壓縮要解壓。  ?、?、把文本文件導(dǎo)入目的SQL Server數(shù)據(jù)庫(kù)   直接把文本文件導(dǎo)入目的SQL Server數(shù)據(jù)庫(kù)里跟文本文件同名的新表名時(shí),默認(rèn)的會(huì)把所有字段類型都變成字符串。   所以我們要這樣做:   在源SQL Server數(shù)據(jù)庫(kù)上先生成創(chuàng)建表的sql語句   在SQL Server查詢分析器里->選中源數(shù)據(jù)庫(kù)里表名->按右鍵->在新窗口中編寫對(duì)象腳本->創(chuàng)建->   復(fù)制下新窗口內(nèi)創(chuàng)建表名的sql語句   到目標(biāo)SQL Server數(shù)據(jù)庫(kù)上查詢分析器里執(zhí)行創(chuàng)建表名的sql語句,生成空表結(jié)構(gòu)。   (如果已經(jīng)存在這樣的表名,修改建表的sql語句,在表名后面加上導(dǎo)入時(shí)間的年月信息,例如table_0113)   調(diào)用導(dǎo)入/導(dǎo)出工具->彈出數(shù)據(jù)轉(zhuǎn)換服務(wù)導(dǎo)入/導(dǎo)出向?qū)Т翱?>下一步->   選數(shù)據(jù)源-> 數(shù)據(jù)源(文本文件)->   文件名(已傳到目的SQL Server數(shù)據(jù)庫(kù)下要導(dǎo)入的文本文件,后綴可以不是*.txt,   但是常規(guī)文本編輯器能打開的文件,文件類型選全部)->下一步->   選擇文件格式->用默認(rèn)的帶分隔符->選第一行包含有列名稱選項(xiàng)->下一步->   制定列分割符->逗號(hào)->下一步->   選擇目的->目的(用于SQL Server的Microfost OLE DB提供程序)->   服務(wù)器(可選擇目標(biāo)局域網(wǎng)內(nèi)能訪問到的所有SQL Server服務(wù)器)->   選擇使用windows身份驗(yàn)證還是使用SQL Serve身份驗(yàn)證(輸入數(shù)據(jù)庫(kù)的用戶名和密碼)->   數(shù)據(jù)庫(kù)(可選擇上面選中SQL Server服務(wù)器上所有權(quán)限范圍內(nèi)的數(shù)據(jù)庫(kù))->下一步->   選擇源表和視圖->修改目的表名為剛才創(chuàng)建的表名->轉(zhuǎn)換(在目的表中追加行) ->下一步->   保存、調(diào)度和復(fù)制包->   時(shí)間->立即運(yùn)行(如果要實(shí)現(xiàn)隔一段時(shí)間自動(dòng)把文本文件導(dǎo)入,選調(diào)度DTS包以便以后執(zhí)行)->   保存(可以不選)-> [保存DTS包(保存的時(shí)候要輸入DTS的包名及詳細(xì)描述)->下一步->]->完成   正在執(zhí)行包->圖形界面顯示文本文件到表的步驟和狀態(tài)->完成   如果要更改導(dǎo)入時(shí)間的年月信息的表名,例如table_0113到原來的表名,   在企業(yè)管理器里把原來的表名改成table_old_0113,table_0113改名成table。   這會(huì)對(duì)應(yīng)用程序里頻繁訪問的表照成一定的中斷。   注意:源表上的建的索引和主鍵約束不能用上面介紹的1和2方法轉(zhuǎn)移過來,還需要手工來建索引和主鍵。   標(biāo)志種子和not null的約束可以繼承過來。   導(dǎo)入視圖時(shí)會(huì)把源視圖里所有的真實(shí)數(shù)據(jù)導(dǎo)入成一個(gè)新表,而不是視圖。 三、SQL Server存儲(chǔ)過程或用戶定義的函數(shù)導(dǎo)出導(dǎo)入   1、導(dǎo)出存儲(chǔ)過程或用戶定義的函數(shù)成*.sql文件   在SQL Server企業(yè)管理器里選中源數(shù)據(jù)庫(kù),   存儲(chǔ)過程->單選或者多選中要轉(zhuǎn)移的存儲(chǔ)過程->   用戶定義的函數(shù)->單選或者多選中要轉(zhuǎn)移的函數(shù)->   按鼠標(biāo)右鍵,選所有任務(wù)->生成SQL腳本->確定->在自己的電腦硬盤中生成一個(gè)自定義的*.sql文件->   保存->正在生成SQL腳本->成功   2、如果目的數(shù)據(jù)庫(kù)經(jīng)過防火墻,不在同一個(gè)局域網(wǎng)里,   要通過FTP或者remote desktop或者pcanywhere等方法把第1步生成的*.sql文件傳到目的SQL Server數(shù)據(jù)庫(kù)服務(wù)器上。   3、用查詢分析器進(jìn)入SQL Server目的數(shù)據(jù)庫(kù),   從菜單里選文件->打開->打開查詢文件->選中第1步生成的*.sql文件->點(diǎn)執(zhí)行查詢的綠色倒三角型快捷鍵->   查詢窗口里會(huì)出現(xiàn)執(zhí)行后的消息(有時(shí)候可能因?yàn)榇鎯?chǔ)過程和用戶定義的函數(shù)之間有一定的依賴關(guān)系,會(huì)報(bào)一些錯(cuò)。   最好先執(zhí)行用戶定義的函數(shù)的*.sql文件,再執(zhí)行存儲(chǔ)過程的*.sql文件) 四、ORACLE數(shù)據(jù)庫(kù)里表導(dǎo)入SQL Server數(shù)據(jù)庫(kù)   1、在目的SQL Server數(shù)據(jù)庫(kù)服務(wù)器上安裝ORACLE Client軟件或者ORACLE ODBC Driver.   在$ORACLE_HOME\network\admin\tnsnames.ora里配置ORACLE數(shù)據(jù)庫(kù)的別名(service name)。   具體配置方法可以參考本站文章:客戶端連服務(wù)器的注意事項(xiàng)   2、在WIN2000或者win2003服務(wù)器->管理工具->數(shù)據(jù)源(ODBC)->   系統(tǒng)DSN(本機(jī)器上NT域用戶都可以用)->添加->ORACLE OD 個(gè)人體會(huì): SQL Server2005里“生成腳本”這個(gè)功能來生成所有的內(nèi)容。SP亦可,好處是可以同時(shí)把所有的SP生成在一個(gè)文件里,那么也只要執(zhí)行一下就把所有的SP放在新的數(shù)據(jù)庫(kù)里了。同理,關(guān)于表,視圖等其他也是這樣的。

“SQL Server導(dǎo)入、導(dǎo)出和備份數(shù)據(jù)的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI