當前位置:首頁 » 編程語言 » sqlserver2005遷移
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserver2005遷移

發布時間: 2023-04-12 05:22:53

sql server 2005的資料庫能遷移到 SQL SERVER 2008 上

低版本的可以遷移到高版本

Ⅱ 如何將sqlserver2005資料庫中的數據全部轉移到一台新電腦上的sqlserver2005資料庫中

可以採用備份的方式 , 在資料庫上右鍵 任務-》備份 , 選擇好你要保持的路徑 , 別忘記是.BAK格式 然後把備份發到新電腦上 你可以用U盤也可用網路共享(同一網段,或者區域網都通),或者用QQ都可以
接下來就是 對新電腦上的資料庫進行還原 , 建個資料庫和原來的名字一樣, 主要 LOG文件的路徑 一般我都放在D盤的DATA裡面 (這個可以隨意只要自己知道並且統一就行) , 然後 在新建的資料庫上右鍵 -》任務 -》 還原 -》 資料庫 , 在目標資料庫中選擇你的還原的資料庫 , 然後選擇源設備 , 把剛才我們做好的備份選擇進來 並且在前面打上鉤 , 然後再『選項』中把覆蓋現有資料庫勾上 , 把『還原為』 (就是.mdf和.ldf的文件)的路徑選擇我們備份時候的路徑 , 到這里一切都做好 只要按下確定就好了 。 如果對備份和還原還有什麼不懂的可以繼續追問

Ⅲ 如何將SQL Server資料庫遷移到新伺服器中

如何將SQL Server資料庫遷移到新伺服器中

移動到新路徑我們希望將這些資料庫檔案移動到一個新路徑,鍵入新路徑就可以。本文我們移動到下面的路徑:D: SQLDATADatabase_Name_Here.mdf D:SQLLogsDatabase_Name_Here_1.ldf進度現在可以單擊確定按鈕,開始恢復資料庫。成功恢復你已經成功恢復移動完成資料庫檔案。證據現在你已經成功恢復移動完成資料悔判庫檔案——更多證據。新查詢現在讓我們介紹我喜歡使用的方法,該方法省去了所有選擇和單擊。你可以使用一條TSQL Restore移動語句完成同樣的任務。使用T—SQL方法移動資料庫讓我們從開啟SQL Server管理工具開始,禪橡然後單擊新查詢按鈕。邏輯名稱第一步需要執行下面的查詢:Restore FILELISTONLY FROM DISK='d:Business_Data.bak' 利用該查詢可以找到需要恢復到新路徑的資料庫和日誌檔案的邏輯名稱。恢碧襲改復到新路徑在獲得了邏輯名之後,我們可以使用下面的查詢將資料庫恢復到一個新位置。RESTOREDATABASEBusiness_Data_TSQLFROM DISK='d:Business_Data.bak'WITHMOVE 'Business_Data' TO 'D:TSQLBusiness_Data.mdf', MOVE 'Business_Data_log' TO 'D:TSQLBusiness_Data_log.ldf' 該語句將用來恢復資料庫到一個新路徑。完成百分比你可以看到Restore FileListOnly TSQL語句中使用的邏輯名和物理名。如果是一個較大的資料庫為了檢視完成進度,還可以新增狀態語句如下所示:RESTOREDATABASEBusiness_Data_TSQLFROM DISK='d:Business_Data.bak'WITHMOVE 'Business_Data' TO 'D:TSQLBusiness_Data.mdf', MOVE 'Business_Data_log' TO 'D:TSQLBusiness_Data_log.ldf', STATS=5 本文中,我們介紹了完成的資料庫備份恢復方法。

如何將SQL Server資料庫遷移到新伺服器中
首先,開啟伺服器上已經安裝好的SQL Server 2005 伺服器,並且用本地Windows身份登入。
2
開啟SQL Server伺服器以後,點選資料庫--選擇附加
3
開啟附加資料庫介面後,點選右小角的新增
4
開啟電腦上,之前備份好的完成資料庫檔案,然後點選確認。
5
資料庫檔案和其資料庫日誌檔案,就一並載入過來了,點選確認就可以了。
6
展開資料庫,就可以了看到我
們剛剛附加過來的完整資料庫了,現在就可以
使用
這個資料庫。

如何將SQL Server資料庫遷移到SQL Azure

:blogs.msdn./b/sqlcrd/archive/2011/03/07/three-tools-for-migrating-to-sql-asure.aspx
將資料庫遷移到SQL Azure的三種工具

如何將WordPress網站遷移到新伺服器中

你直接下載所有大程式碼程式和資料庫資訊,然後上傳到新的伺服器上面再安裝一次就好了。

首先事先備份您的檔案 然後登入到您當前的主機並找到匯出程式 其次下載您的WordPress內容資料夾 最後建立一個FTP賬戶

wordpress網站主要兩部分,

  1. 是資料庫,通過圖形化工具遷移資料庫,如:Navicat Premium

  2. 原始碼通過,遠端桌面、ftp上傳更新,如:WinSCP

    -------------

    php仿站

1.事先備份您的檔案。如果在遷移過程中出現問題,不用擔心,你還有一個完整的副本可以重新開始。副本雖然不是必須的,但是安全起見,一些人會在硬碟拷貝備份和雲端儲存備份。
2.登入到您當前的主機並找到匯出程式(比如(phpMyAdmin)
3.下載您的WordPress內容資料夾(這些檔案組成了你的WordPress網站)使用您熟悉的檔案傳輸協議客戶端(FTP)。如果您不喜歡,可以考慮CuteFTP 或 FileZilla。
4.如果您想轉移到bluehost,只要在瀏覽器中鍵入.bluehost. 並登入到網站控制面板即可。
5.建立一個FTP賬戶,接收上傳到新主機新WordPress網站資料夾里的檔案。您可以直接重新命名這些檔案,當您需要將某些檔案指向另一個伺服器時,能輕易找到。

如何遷移MySQL資料庫到新伺服器在Ubuntu 14.04

如果在單個VPS上執行Web應用程式和資料庫(例如LAMP),則可能遇到需要擴充套件環境以處理更多流量的情況。 開始擴充套件環境的一個好方法是將資料庫伺服器遷移到同一資料中心中的另一個獨立VPS。

Ⅳ 如何將sqlserver2005資料庫中的數據全部轉移到一台新電腦上的sqlserver2005資料庫中

可以採用備份的方式

在資料庫上右鍵
任務-》備份

選擇好你要保持的路徑

別忘記是.BAK格式
然後把備份發到新電腦上
你可以用U盤也可用網路共享(同一網段,或者區域網都通),或者用QQ都可以
接下來就是
對新電腦上的資料庫進行還原

建個資料庫和原來的名字一樣,
主要
LOG文件的路徑
一般我都放在D盤的DATA裡面
(這個可以隨意只要自己知道並且統一就行)

然後
在新建的資料庫上右鍵
-》任務
-》
還原
-》
資料庫

在目標資料庫中選擇你的還原的資料庫

然後選擇源設備

把剛才我們做好的備份選擇進來
並且在前面打上鉤

然後再『選項』中把覆蓋現有資料庫勾上

把『還原為』
(就是.mdf和.ldf的文件)的路徑選擇我們備份時候的路徑

到這里一切都做好
只要按下確定就好了

如果對備份和還原還有什麼不懂的可以繼續追問

Ⅳ 如何把一台電腦上備份的SQL Server數據還原到另一台電腦

一台電腦上備份的SQL Server數據還原到另一台電腦,以SQL 2005為例教大家遷移完念冊簡整資料庫到另外一台電腦。具體步驟如下:

1.開始菜單--->程序,打開SQL 2005;

Ⅵ sqlserver歷史記錄遷移

sqlserver資料庫遷移的幾種方式

方法一:將Microsoft SQL ServerMSSQLDATA文件夾中的syntt_data.mdf和syntt_log.ldf文件復制到安裝有資料庫伺服器的機器的文件夾中(可以是本機的Microsoft SQL ServerMSSQLDATA文件夾),然後進入企業管理器。

右鍵點擊「資料庫」,在浮動菜單中選擇「所有任務」中的「附加資料庫」。在隨後的提示頁面中選擇剛才復制過來的.MDF文件,如果想指定資料庫的所有者,在「指定資料庫所有者」選擇框中選擇你認為合適的用戶。

如果想修改資料庫的名字,可在「附加為」框中輸入新的資料庫名字(對本資料庫,不建議這么做,因為這樣的話,整個程序中所有涉及資料庫連接的代碼都要隨之修改,那將是不必要的勞動)。在進行完上述的工作之後,直接點擊「確定」就可進行數據的SQL Server 數據轉移轉移。

方法二:(方嘩帆法一)是針對資料庫中沒有本資料庫的伺服器,如果資料庫中已經建有與該資料庫名稱相同的資料庫,則直接按照備份資料庫的恢復操作就可完成數據的SQL Server 數據轉移轉移。方法如下所述:這種方法首先要在本機上建立一個備份文件,具體操作介紹如下:1、 在企業管理器中打開伺服器組以及指定的伺服器。

然後右鍵點擊需要備份的資料庫在這里是syntt,在浮動菜單中選擇「所有任務」菜單下的「備份資料庫」,打開數據備份對話框。2、 選擇「常規」選項卡,在名稱對話框中中行輸入本分 *** 名稱,在「描述」文本框中輸入備份集描述文本信息。

在「備份」組下選擇備份操作類型,共有以下幾種:資料庫—完全:完整備份資料庫。資料庫—差異:增量備份資料庫。

事務日誌:事務日誌備份。文件和文件組:資料庫文件和文件組備份。

在「目的」組中指定備份設備或者備份文件名稱,選擇「添加」按鈕添加備份設備或者文件;「刪除」按鈕用來刪除備份設備和備份文件;選擇「內容」按鈕,則可查看已經存儲在備份設備或文件中的備份信息。在「重寫」組中有兩種選項:追加到媒體:選擇該選項,表示需要保存備份設備或文件中以前的備份數據。

重寫現有媒體:要求本次被分數據覆蓋以前的備份數據,從而節省存儲空間。在「調度」組中,安排數據備份的時間。

用來指定資料庫備份在將來的某個時間執行3、 「選項」選項卡,設置資料庫備份操作選項。其中的內容主要有以下幾項:完成後驗證備份:要求在備份結束時對備份數據進行校驗。

備份後彈出磁帶:只對磁帶備份設備有效,他要求在備份結束時自動卸帶。刪除事務日誌中不活動的條目:要求在事務日誌備份結束時刪除事務日誌中的已經完成的事務日誌條目。

檢查媒體集名稱和備份集到期時間:要求在備份前檢查介質集名稱和原備份集中備份SQL Server 數賣蘆嘩據轉移的有效期,以防止意外重寫破壞原來的備份數據。備份集到期時間:設置備份集的有效期。

初始化並標識媒體:只對磁帶設備有效。選擇該選項後,SQL Server在備份時將Microsoft定義的磁帶格式信息寫入介質的開始部分。

此時,可以在「媒體集名稱」和「媒體集描述」文本框中定義介質集名稱和介質描述信息。4、 在進行完上述的操作之後,剩下的任務就是點擊「確定」,使系統開始進行資料庫的備份操作。

到目前為止,我們已經有了一個資料庫的備份文件,剩下的任務就是怎麼將這個文件還原至另外的資料庫伺服器中了。1、因為使用企業管理器進行資料庫的恢復只能是在本機進行,所以在進行數據還原之前,必須將剛才所作的備份文件復制到本機,然後在本機選擇「syntt」資料庫,右鍵點擊它,在顯示出來的浮動菜單中選擇「所有任務」下的「還原資料庫」。

2、在還原資料庫對話框中,在「常規」選項卡中的選擇「從設備」的數據恢復方法,通過「選擇設備」按鈕選擇剛才復制過來的文件。「常規」選項卡與「選項」選項卡中的具體內容如下所示:「常規」選項卡:資料庫恢復方法:包括「資料庫」、「文件組或文件」、「從設備」三種恢復方式。

「資料庫」方式:選擇該項時,從「顯示資料庫備份」列表中選擇需要顯示的指定資料庫備份 *** ,從「要還原的第一個備份」列表框中選擇首先使用哪一個備份集恢復資料庫;「文件組或文件」:選擇它時,資料庫恢復部件列出指定資料庫備份 *** 中備份的資料庫文件或文件組,管理員可從這些備份文件中選擇恢復那個資料庫文件或文件組;「從設備」:選擇它時,管理員選擇恢復資料庫或其日誌所使用的備份設備,之後再從該備份設備中選擇使用哪一次備份中的數據恢復資料庫或其日誌。3、點擊「確定」,完成恢復操作。

非原創。

sql server中有行遷移現象嗎

有的,和oracle一樣,SQL中也有行遷移行遷移記包含forwarding_stub 和forwarded 兩種類型。

這兩類記錄是因為數據頁不能容納更新後的記錄而產生的,不是因為記錄長度超過8060B引起的,所以這兩類記錄依然是行內記錄,與行溢出記錄是不同的。這兩種記錄總是成對出現的,當出現forwarding_stub時,在別的頁面中一定有與之對應的一條forwarded記錄。

forwarding記錄也叫forwarding_stub記錄,記錄頭標志為0x04,它是一條完整的數據記錄。雖然結構看起來特殊,但還是符合一般記錄的結構,記錄中主要內容就是在行中用8位元組保存了指向移出後的記錄的位置指針。

forwarded 記錄,有時直接叫做遷移記錄。記錄頭部標志為0x32. 它也是一條完整記錄,格式跟一般記錄略有差異,大體結構還是相同的。

這里是存儲了溢出前的那條記錄的真實數據。 這兩種記錄的具體存儲結構比較簡單和直觀,其邏輯結構會在下面的實例列舉中結合具體數據記錄來分析說明。

測試這種的方法太長了,不在這里具體列出,你可以到51CTO裡面找一下,搜索SQL行遷移有具體的測試方法。

sql server中有行遷移現象嗎

有的,和oracle一樣,SQL中也有行遷移

行遷移記包含forwarding_stub 和forwarded 兩種類型。這兩類記錄是因為數據頁不能容納更新後的記錄而產生的,不是因為記錄長度超過8060B引起的,所以這兩類記錄依然是行內記錄,與行溢出記錄是不同的。

這兩種記錄總是成對出現的,當出現forwarding_stub時,在別的頁面中一定有與之對應的一條forwarded記錄。

forwarding記錄也叫forwarding_stub記錄,記錄頭標志為0x04,它是一條完整的數據記錄。雖然結構看起來特殊,但還是符合一般記錄的結構,記錄中主要內容就是在行中用8位元組保存了指向移出後的記錄的位置指針。

forwarded 記錄,有時直接叫做遷移記錄。記錄頭部標志為0x32. 它也是一條完整記錄,格式跟一般記錄略有差異,大體結構還是相同的。這里是存儲了溢出前的那條記錄的真實數據。

這兩種記錄的具體存儲結構比較簡單和直觀,其邏輯結構會在下面的實例列舉中結合具體數據記錄來分析說明。

測試這種的方法太長了,不在這里具體列出,你可以到51CTO裡面找一下,搜索SQL行遷移有具體的測試方法

SQL資料庫如何自動備份和恢復

一、備份資料庫

1、打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server

2、SQL Server組-->;雙擊打開你的伺服器-->;雙擊打開資料庫目錄

3、選擇你的資料庫名稱(如論壇資料庫Forum)-->;然後點上面菜單中的工具-->;選擇備份資料庫

4、備份選項選擇完全備份,目的中的備份到如果原來有路徑和名稱則選中名稱點刪除,然後點添加,如果原來沒有路徑和名稱則直接選擇添加,接著指定路徑和文件名,指定後點確定返回備份窗口,接著點確定進行備份

二、還原資料庫

1、打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server

2、SQL Server組-->;雙擊打開你的伺服器-->;點圖標欄的新建資料庫圖標,新建資料庫的名字自行取

3、點擊新建好的資料庫名稱-->;然後點上面菜單中的工具-->;選擇恢復資料庫

4、在彈出來的窗口中的還原選項中選擇從設備-->;點選擇設備-->;點添加-->;然後選擇你的備份文件名-->;添加後點確定返回,這時候設備欄應該出現您剛才選擇的資料庫備份文件名,備份號默認為1(如果您對同一個文件做過多次備份,可以點擊備份號旁邊的查看內容,在復選框中選擇最新的一次備份後點確定)-->;然後點擊上方常規旁邊的選項按鈕

5、在出現的窗口中選擇在現有資料庫上強制還原,以及在恢復完成狀態中選擇使資料庫可以繼續運行但無法還原其它事務日誌的選項。在窗口的中間部位的將資料庫文件還原為這里要按照你SQL的安裝進行設置(也可以指定自己的目錄),邏輯文件名不需要改動,移至物理文件名要根據你所恢復的機器情況做改動,如您的SQL資料庫裝在D:Program FilesMicrosoft SQL ServerMSSQLData,那麼就按照您恢復機器的目錄進行相關改動改動,並且最後的文件名最好改成您當前的資料庫名(如原來是zw0001.mdf,現在的資料庫是zw0002,就改成zw0002.mdf),日誌和數據文件都要按照這樣的方式做相關的改動(日誌的文件名是.ldf結尾的),這里的恢復目錄您可以自由設置,前提是該目錄必須存在(如您可以指定d:sqldatazw0002.mdf或者d:sqldatazw0002.ldf),否則恢復將報錯

6、修改完成後,點擊下面的確定進行恢復,這時會出現一個進度條,提示恢復的進度,恢復完成後系統會自動提示成功,如中間提示報錯,請記錄下相關的錯誤內容並詢問對SQL操作比較熟悉的人員,一般的錯誤無非是目錄錯誤或者文件名重復或者文件名錯誤或者空間不夠或者資料庫正在使用中的錯誤,資料庫正在使用的錯誤您可以嘗試關閉所有關於SQL窗口然後重新打開進行恢復操作,如果還提示正在使用的錯誤可以將SQL服務停止然後重起看看,至於上述其它的錯誤一般都能按照錯誤內容做相應改動後即可恢復

如何設置才能使sql每半小時備份一次

SQL Server資料庫備份工具 2.2

資料庫使用過程中歷史表記錄的增多資料庫的增大導致以下問題的出現

1 資料庫性能大幅下降

2 報表生成等要求資料庫大數據量操作時導致資料庫響應短暫停止甚至完全停止響應

3 資料庫備份或同步等資料庫維護時間加長

本程序為綠色軟體無需安裝, 正確配置參數後即可運行,通過使用備份計劃(可配置)定時將資料庫中歷史表的歷史記錄轉移到備份機器上,減小生產機運行資料庫,轉移報表生成等大幅佔用資料庫操作到備機以減小生產機壓力

實現說明:

1 增加一台備份機器

2 備機上建立一個還原庫用以還原當前資料庫的備份和一個歷史庫用以保存歷史數據

3 根據調度計劃定時將當前生產機資料庫備份到備機

4 還原備機還原庫並將還原庫中新增或更新數據導入備機歷史庫,目的為盡量少的佔用當前資料庫而使用備機資源

5 刪除生產機資料庫中已成功轉移的歷史數據

6 刪除使用過的文件和清理資料庫日誌,減少磁碟佔用

特點:

1 所有參數可配置

2 佔用生產機資料庫資源少, 僅備份操作(歷史表數據轉移後備份時間大大減短且大多數情況下僅進行差異備份)

3 操作速度快,且費時操作部分都基本在備機,不佔用生產機資源

4 自動備份當前資料庫日誌和截斷備份機器上資料庫日誌

5 自動刪除使用過的文件,減少磁碟空間佔用

6 整個操作過程提供詳細錯誤日誌以方便維護

7 與SQL SERVER自帶的發布訂閱功能不同,歷史數據只在備機上保留一份(如需備份備機歷史數據請自行解決或定製此需求),生產機資料庫只保留有生產必須的數據量即可,可盡可能的減少當前生產機資料庫的數據量減少資源佔用,將歷史數據轉移到備機上

8 無需更改現有系統

9 和其他備份程序的區別:主要針對歷史數據轉移需求,資料庫備份只是一個前提,轉移歷史數據減小生產機資料庫壓力才是此程序的實質

升級說明:

1 去除所有標識部分,供公共使用

2 延長一次運行時間限制到30天

附:

1 如果有意請聯系public_release@sina

2 可提供源代碼(vc)和實現其他定製需求

3 此共享發布程序每次運行限制為30天(可放開),請不要相信其他的所謂破解版,實為其他非善意軟體的安裝程序包,如果不想有一次運行30天的限制,使用額外的程序在29天時關閉程序後重新啟動即可

如何查詢SQL Server備份還原歷史記錄

SQL Server在msdb數據中維護了一系列表,用來存儲執行所有備份和還原的細節信息。即使你正在使用第三方的備份應用程序,只要這個應用程序使用SQL Server的虛擬設備介面(Virtual Device Interface---VDI)來執行備份和還原執行,那麼執行細節依然被存儲在這一系列表中。

存儲細節的表包括:

backupset

backupfile

backupfilegroup (SQL Server 2005 upwards)

backupmediaset

backupmediafamily

restorehistory

restorefile

restorefilegroup

logmarkhistory

suspect_pages (SQL Server 2005 upwards)

你可以在Books Online裡面找到上面這些表的具體說明。

下面這個腳本可以幫你找出每個資料庫近期的備份信息:

SELECT b.name, a.type, MAX(a.backup_finish_date) lastbackup

FROM msdb..backupset a

INNER JOIN master..sysdatabases b ON a.database_name COLLATE DATABASE_DEFAULT = b.name COLLATE DATABASE_DEFAULT

GROUP BY b.name, a.type

ORDER BY b.name, a.type

指定資料庫最後20條事務日誌備份信息:

SELECT TOP 20 b.physical_device_name, a.backup_start_date, a.first_lsn, a.user_name FROM msdb..backupset a

INNER JOIN msdb..backupmediafamily b ON a.media_set_id = b.media_set_id

WHERE a.type = 'L'

ORDER BY a.backup_finish_date DESC

指定時間段的事務日誌備份信息:

SELECT b.physical_device_name, a.backup_set_id, b.family_sequence_number, a.position, a.backup_start_date, a.backup_finish_date

FROM msdb..backupset a

INNER JOIN msdb..backupmediafamily b ON a.media_set_id = b.media_set_id

WHERE a.database_name = 'AdventureWorks'

AND a.type = 'L'

AND a.backup_start_date > ཆ-Jan-2007'

AND a.backup_finish_date

Ⅶ sql server 2005 如何遷移其他盤

如果你想只備份數據,不挪動資料庫(即卸載-重裝SQL-Server)

試試這個,

首先備份資料庫:

BACKUPDATABASEBaiTest
TODISK='C:your_database.Bak'
WITHFORMAT,
MEDIANAME='C_your_database_Backups',
NAME='FullBackupofyour_database';

GO

然後,恢復數據到別的盤:

RESTOREDATABASEyour_databaseFROMDISK='C:your_database.Bak'
WITHreplace,
MOVE'your_database'TO'D:your_database_1.mdf',
MOVE'your_database_Log'TO'D:your_database_Log_1.ldf'
GO

Ⅷ 如何將SQL Server資料庫遷移到新伺服器中

如何將SQL Server資料庫遷移到新伺服器中
首先,打開伺服器上已經安裝好的SQL Server 2005 伺服器,並且用本地Windows身份登錄。

2
打開SQL Server伺服器以後,點擊資料庫--選擇附加
3
打開附加資料庫界面後,點擊右小角的添加
4
打開電腦上,之前備份好的完成資料庫文件,然後點擊確認。
5
資料庫文件和其資料庫日誌文件,就一並載入過來了,點擊確認就可以了。
6
展開資料庫,就可以了看到我
們剛剛附加過來的完整資料庫了,現在就可以
使用
這個資料庫。

Ⅸ 如何把sql server資料庫遷移到oracle

前陣做了下資料庫遷移,從Sql Server2005遷移到Oracle
10g,這里說一下遷移的方法。
Sql
Server和Oracle區別比較大,包括語法,欄位類型,資料庫機制,配置管理方法等等,區別是全方位的,做遷移需要注意很多問題,在遷移過程中也會遇到問題,需要細細處理之。這里說一下資料庫結構的遷移,和遷移過程中注意的一些問題。(當然具體的資料庫遷移過程中可能問題是不一樣的,具體問題具體分析了)
遷移的方法是從Sql Server已有資料庫中生成出Oracle的建庫腳本,然後在Oracle資料庫上執行。用到的生成工具是Power
Designer。
1、打開PD(Power
Designer簡稱,以下均使用PD),新建一個PDM(物理數據模型),DBMS選擇Microsoft SQL
Server2005,Model name起名叫做mssdb。
2、通過逆向工程將現有Sql
Server資料庫生成PDM
(1)選擇Database->Reverse
Engineer Database,配置數據源,選擇要遷移的資料庫,輸入用戶名、密碼。
(2)選擇資料庫,選擇用戶dbo下的所有表、視圖、存儲過程、方法、觸發器、序列等(由於Sql Server與oracle,資料庫概念上的區別,這里不需選擇用戶、角色)。
點擊OK,生成PDM。已經建立過PDM的情況,這一步可以省略。
3、生成Oracle物理數據模型
選擇Tools->Generate Physical Data Model
(1)DBMS選擇Oracle
10g,輸入名稱:oradb。
(2)在Configure Model
Options配置中, Model Settings的Table&View界面中,勾選Ignore
identifying owner。Oracle中用戶的概念與Sql Server不同,這里忽略owner。
(3)Selection標簽,選擇需要生成的所有表、視圖、外鍵、存儲過程、方法、觸發器、序列等。
點擊確定,即生成了oracle 的PDM。
注意,在生成PDM的過程中可能不會一帆風順,有可能會報錯(比如提示對象長度超限),這會導致生成失敗。這時需要根據具體錯誤提示做相應修改(可能需要多次調整,沒有辦法,誰讓兩者差別這么大的呢)。
4、生成Oracle腳本
與Sql
Server不同的是,在Oracle里表名、欄位名全部為大寫,若要單獨處理為小寫,需加上雙引號。而PD生成的腳本默認是有雙引號的,這里需要修改默認配置,去掉雙引號。
然後選擇oradb,然後選擇Database->Generate
Database,進入資料庫生成界面
在Format標簽下,去掉勾選Owner prefix,它將省掉建表語句前「dbo.」所帶來的麻煩;
在Selection標簽下,選擇要生成腳本的各對象;
在Preview標簽下,可以預覽預生成的腳本(表較多時,切換會比較慢)。
點擊確定,即得到生成的腳本。
5、檢查與調整
腳本是PD自動生成的,因為表比較多,在oracle上直接去執行難免會有錯誤。所以在執行之前需要檢查下腳本的正確性。這里提幾點需要注意的地方。
(1)Oracle要求表名、欄位名等長度最多是30位,而Sql Server沒有這個限制,所以可能會有在Sql
Server創建正常的表而在Oracle下會創建失敗。
(2)檢查一下主鍵、外鍵的名稱,它們有可能是隨機生成的名稱。可根據相應規范進行修改。
(3)檢查欄位名是否用到了Oracle的關鍵字。比如Sql
Server命名「備注」欄位可能會用「comment」、標題用「title」,但comment、title在Oracle中是關鍵字,不可以做為欄位名稱。
(4)存儲過程、方法是否符合Oracle語法。
(5)Sql
Server有自增欄位,而Oracle沒有。要實現此功能,需要相應創建序列、觸發器。
(6)Sql
Server中欄位類型為text的情況,如果是存二進制數據需要在Oracle中選用Blob欄位類型。
(7)Sql
Server有外鍵的情況,主表記錄刪除,從表記錄也會跟著刪除;而Oracle默認情況是當從表有記錄時,所對應的主表記錄不允許刪除。所以這種情況下外鍵需要添加外鍵級聯刪除。
(8)生成的表、視圖等個數是否正確,缺失的情況可單獨生成腳本。
系統不一樣,出現問題的點可能也不一樣,具體問題具體分析。
6、建庫
在Oracle資料庫服務(當然要先安裝好Oracle服務端、並建立資料庫)orcl實例下,使用用戶sys登陸並創建用戶orauser,並將resource、connect角色賦給orauser(這里,orauser使用默認表空間、默認臨時表空間)。
用剛創建的用戶orauser登陸orcl資料庫服務,執行前面已經生成的腳本,若干分鍾後腳本執行完畢,觀察一下執行過程中有無錯誤產生,也可以記錄執行的日誌以便日後查看;檢查看錶、視圖等個數與Sql
Server資料庫中是否一致。如果都正確,那麼,資料庫結構從Sql
Server到Oracle的遷移到此結束。當然,遷移的是否正確還需要在之後的使用中檢查,發現錯誤及時修改即可。