當前位置:首頁 » 數據倉庫 » sqlserver2005資料庫遷移
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserver2005資料庫遷移

發布時間: 2022-08-28 21:03:53

① 如何把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的遷移到此結束。當然,遷移的是否正確還需要在之後的使用中檢查,發現錯誤及時修改即可。

② sqlsever2005 中如何把一個資料庫的表復制到另一個資料庫中去

方法1:直接拷貝你的mdf,ldf文件到另一個資料庫,附加上。
方法2:備份資料庫,到新資料庫上恢復。
方法3:資料庫間導入。
個人建議用方法2。

③ 怎樣把sql 2005的資料庫轉移到sql 2008

Step 1: 單擊某個需要轉換的資料庫,然後選擇任務(Tasks)——生成腳本(Generate Scripts)

Step 2: 彈出生成腳本指導界面

Step 3:選擇需要導出的資料庫對象,有導出整個資料庫對象和選擇指定資料庫對象兩個選項

Step 4: 設置生成腳本選項,例如指定腳本位置,腳本文件的編碼等等選擇,最重要的是高級選項」Advanced「

如下所示,最好在」Script for Server Version「 裡面選擇」SQL Server 2005「等選項

測試伺服器這個版本裡面沒有'Script Data」(生成數據的腳本)選項,如下所示,如果你要通過腳本插入數據,那麼就必須選擇這個選項。

Step 5: Summray your selections, 點擊Next繼續

Step 6: 執行過程。完成後即生成了相應腳本文件。

將生成的腳本在另外一台測試伺服器執行,創建相應的資料庫以及資料庫對象。然後點擊」SQL Server Import and Export「工具進行數據導入,操作步驟如下所示:
SQL Server Import and Export

Step 1: 歡迎界面,點擊Next跳過。

Step 2: 選擇數據源(Data Source),我們需要選擇「SQL Server Native Client 10」, 輸入身份認證信息,我選擇Windows 身份認證。選擇
需要導出數據的資料庫,例如,我選擇一個測試資料庫TSL

Step 3:配置需要導入的Destination,選擇對應的伺服器和資料庫

Step 4:兩個選擇,選項1是用於整個表或視圖導入導出,選項2用於書寫查詢SQL或導入導出

Step 5: 勾選你需要導數的腳本,單擊Source旁邊的選項,即可選擇全部對象。有時候需要編輯「Edit Mappings"選項,勾選」Enable identity Insert「,否則會導致後面導入導出報錯

Step 6: 勾選立即執行,點擊Next執行下一步

Step 7 : 執行過程,需要檢查是否執行成功,查看相關出錯信息。

執行完成後,然後在測試伺服器將該資料庫備份壓縮後,通過FTP上傳到各個工廠,進行還原。關於 Red Gate SQL Compare的操作,也非常方便簡單,由於測試過程中沒有截圖,就此略過。
由於測試用的資料庫比較小,不知道比較大的資料庫,例如幾百G的數據,操作起來是否會遇到性能等雜七雜八的問題。不過相信很多人是不會遇到這么奇葩的案例的。例如使用導入導出工具,其實就會遇到一些小問題(以前遇到的):
1:在驗證時出現錯誤,錯誤信息如下所示:

- Validating (Error)
Messages
* Error 0xc02020f4: Data Flow Task 1: The column "xxxx" cannot be processed because more than one code page (936 and 1252) are specified for it.
(SQL Server Import and Export Wizard)
* Error 0xc02020f4: Data Flow Task 1: The column "xxxx" cannot be processed because more than one code page (936 and 1252) are specified for it.
(SQL Server Import and Export Wizard)
解決:檢查你源資料庫和目標資料庫的排序規則是否不一致,如果不一致,就會出現大量上面錯誤。
2:在驗證時出現下面錯誤信息
- Validating (Error)
Messages
* Error 0xc0202049: Data Flow Task 1: Failure inserting into the read-only column "xxxxx".
(SQL Server Import and Export Wizard)
* Error 0xc0202045: Data Flow Task 1: Column metadata validation failed.
(SQL Server Import and Export Wizard)
解決:出現這個錯誤,是因為這一列是自動增長,需要在」Edite Mappings" 選項裡面勾選「Enable Identity Insert」選項,如果資料庫裡面有大量這類列,是個頭疼的問題。

④ 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 2005中怎麼把一個資料庫里的表及表裡的數據導入到另一個資料庫

復製表結構

1
首先,打開並連接Sql Server,在源資料庫Source_db(源資料庫名稱)上右鍵,然後依次點擊「編寫表腳本為」→「CREATE到」→「新查詢編輯器窗口」。

2
在第1步產生的編輯器中按」crtl+a「組合鍵全選內容,然後右鍵「復制「(或按"crtl+c"鍵)。

3
新建查詢,然後右鍵」粘貼「(或ctrl+v);如圖所示,將代碼中Source_db(源資料庫名)改為target_db(目標資料庫名)。接著右鍵單擊」執行「執行代碼。

4
然後,在目標資料庫的表結構中就可以看到被復制過來的表了。

END
表的數據內容復制

選中目標資料庫target_db,然後點擊」任務「→」導入數據「。

進入」SQL Server導入導出向導「,根據提示步驟操作。

選擇數據源(源資料庫)。

選擇目標(目標資料庫)、指定表復制或查詢。

選擇源表和源視圖:設置源表和目標表後,單擊「編輯映射」按鈕,在彈出窗口中選中「啟用標識插入」。(否則後面會出錯)

一直點擊「下一步」至最後完成操作。

⑥ 請教如何在sql server2005中導出資料庫,然後導到另一台機器上

SQL
Server
Management
Studio裡面操作步驟
在'資料庫'選中你需要的資料庫,右鍵-〉任務-〉分離
然後復制數據和日誌兩個文件到第二台機器上
在'資料庫'右鍵-〉任務-〉附加
或者
在'資料庫'選中你需要的資料庫,右鍵-〉任務-〉備份-〉完整備份
將備份的文件復制到第二台機器上
新建一個空庫,叫原來的名字
在這個庫上右鍵-〉還原

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

可以採用備份的方式

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

選擇好你要保持的路徑

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

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

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

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

然後選擇源設備

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

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

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

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

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

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

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

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

⑨ 如何讓 SQL server 2005資料庫中的數據備份到另一台電腦上

【轉發】
--SQL如何備份到異機
寫成存儲過程,建立作業定時備份~~~
--在sql中映射一下就可以了
exec
master..xp_cmdshell
'net
use
z:
\\yi\D$
"密碼"
/user:yi\administrator'
/*--說明:
exec
master..xp_cmdshell
'net
use
z:
\\xz\c$
"密碼"
/user:xz\administrator'
z:是映射網路路徑對應本機的盤符,與下面的備份對應
\\xz\c$是要映射的網路路徑
xz\administrator
xz是遠程的計算機名,
administrator是登陸的用戶名
密碼
面指定的administrator用戶的密碼
--*/
--備份;with
init覆蓋
|noinit添加
backup
database
庫名
to
disk='E:\H_BACKUP.bak'
with
init
--COPY
exec
master..xp_cmdshell
'
E:\H_BACKUP.bak
z:'
--刪除(這句可以去掉)
--exec
master..xp_cmdshell
'del
E:\H_BACKUP.bak'
--完成後刪除映射
exec
master..xp_cmdshell
'net
use
z:
/delete'