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

sqlserver遷移工具

發布時間: 2022-05-03 04:03:31

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

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

2. 如何將 Access 資料庫轉換到 SQL Server

ACCESS2000文件
用ACCESS2007打開,並遷移到SQLSERVER2005里
打開ACCESS2007的資料庫工具
方法一:使用ACCESS2007自帶的資料庫遷移工具
1、打開ACCESS2007的資料庫遷移向導
2、點擊SQLSERVER按鈕,彈出升遷向導對話框
3、選擇新建資料庫
4、輸入計算機名,我的本地計算機名字叫joe,因為SQLSERVER安裝在本地,所以選擇使用可信連接就可以了
資料庫名稱默認就可以了
5、選擇所有表,移動到右邊框
6、把表索引也一起升遷到SQLSERVER里
7、由於沒有應用程序,這一步可以直接跳過
8、點擊完成按鈕開始遷移資料庫到SQLSERVER
9、開始遷移
10、刷新一下SQLSERVER2005里的對象資源管理器里的資料庫
遷移到SQLSERVER之後,SQLSERVER會自動在ACCESS資料庫的名稱後加SQL這三個字母
11、打開LygSQL中的某個數據表,看是否遷移成功
12、表約束也完整遷移成功
方法二:使用SQLSERVER2005自帶的數據導入導出向導
限制:SQLSERVER2005自帶的數據導入導出向導工具只支持ACCESS2003或以下文件
1、在SQLSERVER里新建一個與ACCESS資料庫同名的資料庫Lygl
2、選中Lygl資料庫,然後按右鍵—》任務-》導入數據
3、打開SQLSERVER導入導出向導
4、下一步
提示:如果ACCESS資料庫有密碼的話,點擊下一步會出錯,所以在點擊下一步之前請先去除ACCESS資料庫的密碼!
5、點擊下一步
6、再點擊下一步
7、再點擊下一步
勾選第一個方框就可以了,SQLSERVER會自動幫你勾選ACCESS資料庫中的所有表格
8、點擊下一步
9、最後點擊完成按鈕
10、刷新一下SQLSERVER對象資源管理器里的資料庫
11、打開表
數據都導入進來了
但是表約束沒有導入進來,這個比ACCESS自帶的資料庫遷移向導差了一點

3. 如何把sqlserver的數據遷移到mysql中

以下有幾款遷移工具的對比,可以參考,比較推薦DB2DB.

軟體易用性主要是指軟體在導入前的配置是否容易。由於很多軟體設計是面向程序員而非一般的資料庫管理人員、甚至是普通的應用程序實施人員,而這一類人員很多時候並沒有數據源配置經驗。因為一些使用 ODBC 或者 ADO 進行配置的程序往往會讓這類用戶造成困擾(主要是不知道應該選擇什麼類型的資料庫驅動程序)。下面讓我們看看四個工具的設計界面:

>>>>

1、SQLyog

SQLyog使用的是古老的 ODBC 連接,但對於新一代的程序來說,這種方式的非常的不熟悉並且不容易使用,並且必須要求本機安裝好相應的資料庫的 ODBC 驅動程序(SQL Server 一般自帶好)。

>>>>

2、NavicatPremium

NavicatPremium是四個應用工具中設計最不人性化的一個:從上圖怎麼也想像不到要點按那個小按鈕來添加一個新的連接,並且這個連接設置不會保存,每次導入時都必須重新設置。NavicatPremium使用的是比 ODBC 稍先進的 ADO 設置方式(199X年代的產物),但使用上依然是針對老一代的程序員。

>>>>

3、Mss2sql

Mss2sql是最容易在網路上搜索出來的工具,原因之一是它出現的時間較早。


DB2DB同樣遷移 300萬數據時,僅僅使用了 2 分 44 秒,這個速度相當驚人。不過最後的結果出現一個 BUG,就是提示了轉換成功,但後面的進度條卻沒有走完(在後面的數據完整性評測中,我們驗證了數據其實是已經全部處理完畢了)。

4. 如何完整地遷移SQL SERVER

有幾種方式,需要你自己判斷。
物理對拷方式:
如果是sqlerver對sqlserver 可以考慮用庫直接對拷,此方法比較省事。
1.分離,在新書庫上附加。
2.備份,在新數據上建立同樣名稱的庫,還原。
3.數據全部導出,此方法可以在導出數據時選擇導出目標庫。
邏輯對拷方式:
這個方法限於數據的量不大的情況下使用,太多就別指望了,主要是針對局部需要處理的數據進行人為曬選時使用。
1.將數據導出成excel格式,再根據需要處理後導入新庫表。
2.利用工具抽取,我記得sqlserver有個工具可以直接對接到數據進行抽取推送,效率還不錯。

3.自己寫jdbc的鏈接然後抽取插入進指定的地方,我一般都是用這種,主要是轉換和比對的太多,純粹的從邏輯層面或者從物理層面不是很方便復用。

5. sql server 怎麼遷移資料庫

1、真心不建議你遷移系統資料庫,太麻煩了。就一個系統用戶賬號就夠你累的了。
2、我一般都是在新計算機上安裝新的SQL服務實例,然後逐個遷移用戶資料庫
3、只需要向用戶貼出安民告示即可,也就半個小時到1一個小時,基本上全部搞定。

若非要遷移,那麼你可以這樣做:
首先遷移master資料庫,master資料庫是整個SQL Server實例的核心,所有的設置都存放在master資料庫里,如果master資料庫出現問題,整個實例都將癱瘓。首先打開SQL Server Configuration Manager,在左邊的列表框中選中SQL Server Services節點,然後在右邊的列表框中找到需要遷移系統資料庫的實例的那個SQL Server服務,比如說SQLServer(MSSQLSERVER),停止這個實例的服務(不會停的去菜場買塊豆腐撞死算了),然後右鍵單擊,選中最底下的「Properties」,並且切換到「Advanced」標簽,如下圖所示:

看到「Startup Parameters」了吧,這里的參數就是需要我們更改的。如下圖所示:

把這段字元整理一下就是這樣:
-dC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf;
-eC:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;
-lC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf

基本上看出來了吧,「-d」後面的就是master資料庫數據文件的位置,「-e」是該SQL Server實例的錯誤日誌所在的位置,至於「-l」就是master資料庫日誌文件所在的位置了。修改數據文件和日誌文件的路徑到適當為位置,錯誤日誌的位置一般不需要做變更,例如將數據文件存放到D盤的SQLData文件夾下,日誌文件存放到E盤的SQLLog文件夾下,則參數如下:

-dD:\SQLData\master.mdf;-eC:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;-lE:\SQLLog\mastlog.ldf

點擊「OK」保存並關閉對話框。

6. 如何將資料庫從SQL Server遷移到MySQL

以下有幾款遷移工具的對比,可以參考,比較推薦DB2DB.

軟體易用性主要是指軟體在導入前的配置是否容易。由於很多軟體設計是面向程序員而非一般的資料庫管理人員、甚至是普通的應用程序實施人員,而這一類人員很多時候並沒有數據源配置經驗。因為一些使用 ODBC 或者 ADO 進行配置的程序往往會讓這類用戶造成困擾(主要是不知道應該選擇什麼類型的資料庫驅動程序)。下面讓我們看看四個工具的設計界面:

>>>>

1、SQLyog

SQLyog使用的是古老的 ODBC 連接,但對於新一代的程序來說,這種方式的非常的不熟悉並且不容易使用,並且必須要求本機安裝好相應的資料庫的 ODBC 驅動程序(SQL Server 一般自帶好)。

>>>>

2、NavicatPremium

NavicatPremium是四個應用工具中設計最不人性化的一個:從上圖怎麼也想像不到要點按那個小按鈕來添加一個新的連接,並且這個連接設置不會保存,每次導入時都必須重新設置。NavicatPremium使用的是比 ODBC 稍先進的 ADO 設置方式(199X年代的產物),但使用上依然是針對老一代的程序員。

>>>>

3、Mss2sql

Mss2sql是最容易在網路上搜索出來的工具,原因之一是它出現的時間較早。


DB2DB同樣遷移 300萬數據時,僅僅使用了 2 分 44 秒,這個速度相當驚人。不過最後的結果出現一個 BUG,就是提示了轉換成功,但後面的進度條卻沒有走完(在後面的數據完整性評測中,我們驗證了數據其實是已經全部處理完畢了)。

7. 如何從SQL Server遷移大批量數據到Oracle

下面要說的是如果將txt文本數據導入到Oracle中
Dos
環境下使用SQl*Loader命令
載入
使用其它資料庫的數據轉移工具
Oracle
企業管理器中的數據載入功能
具體的技術實現
一、Dos
環境下載入
1、首先,伺服器端的偵聽服務必須已經開啟。
測試方法:Dos
下輸入
C:/>sqlplus
username/password@serviceName
2、然後使用
Oracle

sqlldr
命令進行數據的導入
前期條件
1)
Oracle
資料庫端必須已經建好了需要導入的數據表的結構
2)
一個數據源文件
下面例子中為製表符分隔的文本文件
model.txt
,為Excel
表中導出的
3)
手工編輯一個XXX.CTL
的控制文件
4)
命令行載入數據
如下實例:
以下文件預設放到C:/
下,如果不是,就需要指明全路徑
1.
命令控制文件
input.ctl
內容
命令
說明
load
data
1、控制文件標識
infile
'model.txt'
2、要輸入的數據文件名為test.txt
append
into
table
system.塔位屬性表
3、向表test中追加記錄
fields
terminated
by
X'09'
4、指定分隔符,欄位終止於X'09',是一個製表符(TAB)
(編號,名稱,大小)
5、定義列對應表中順序
控制文件中指定插入數據的方式關鍵字
insert,為預設方式,在數據裝載開始時要求表為空
append,在表中追加新記錄
replace,刪除舊記錄,替換成新裝載的記錄
truncate,同上

Dos
窗口下使用
SQl*Loader
命令實現數據的導入
C:/>sqlldr
userid=system/manager@
serviceName
control=input.ctl
默認日誌文件名為:input.log
默認壞記錄文件為:input.bad
二、使用其它資料庫轉移工具
以下以SQL
Server
導入導出向導為例
1、在數據的導入導出向導中設置數據源伺服器,實例中選擇數據源選擇SQL
Server
2、然後指定要導入的Oracle
數據源
3、需要配置Oracle
的屬性信息
需要注意的是,登錄資料庫的用戶信息即為數據導入之後的方案名,即導入之後的SQL
Server
中的表在Oracle
中標志名為
username.表名
以下按照提示即可,可以完全導入SQl
Server
中的數據表和視圖,也可以使用查詢語句返回你要選擇的列或者行。
三、Oracle
企業管理器中的數據載入功能
登錄Oracle
的控制台界面,針對單獨的數據表可以使用數據載入工具
中間需要指定控制文件等,同Dos
載入一致,不再重復
----------------------------------------------------
向Oracle中導入文本數據時使用的控制文件格式
無論是使用上一篇中的哪種方式都需要有一個控制文件,下面是控制文件(ctl文件)書寫的基本格式:
命令
說明
load
data
1、控制文件標識
infile
'testl.txt'
2、要輸入的數據文件名為test.txt,此時是要導入的數據文件同控制文件在同一路徑下,如果不在同一路徑下則需要寫完整路徑名
append
into
table
表名(可以是全名也可以是同義詞)
3、向表test中追加記錄
fields
terminated
by
X'09'
4、指定分隔符,欄位終止於X'09',是一個製表符(TAB),如果用逗號分割就將X'09'替換為','
(編號,名稱,大小)
5、定義列對應表中順序
控制文件中指定插入數據的方式關鍵字
insert,為預設方式,在數據裝載開始時要求表為空
append,在表中追加新記錄
replace,刪除舊記錄,替換成新裝載的記錄
truncate,同上
控制文件的示例:
load
data
infile
'test.txt'
append
into
table
test.test
fields
terminated
by
X'09'
(test,test1,test2)
對有時間類型的數據導入的示例控制文件:
load
data
infile
'h:/TB_FACT_PHS_TICKET_DAY.txt'
Append
into
TABLE
TB_FACT_PHS_TICKET_DAY
fields
terminated
by
X'09'
(Time_Id
,Region_Id
,Cust_Type_Id
,Prod_Type_Id
,Acct_Item_Type_Id
,Acct_Item_Type_Cd
,Exchange97_Cd
,Latn_Cd
,Call_Duration
,Access_In_Duration
,Income
,In_Date
Date
"YYYY-MM-DD"
)
文件導入命令
C:/>sqlldr
userid=test/test@test
control=test.ctl(此時控制文件test.ctl存在C:/路徑下)
在命令控制符下進入Oracle
C:/>sqlplus
username/password@serviceName
oracle導入txt數據文件2008年07月30日
星期三
17:21把txt文件格式的數據文件導入oracle的方法是利用sqlloader工具。
第一步:把文本格式的數據文件放入C盤。如,test.txt
第二步:建立控制文件append.ctl。(名字可以隨便取,放C盤下)
append.ctl的內容如下:
load
data
--1、控制文件標識
infile
'test.txt'
--2、要輸入的數據文件名為test.txt
append
into
table
CTXSYS.test--3、向CTXSYS表空間中的表test中追加記錄
fields
terminated
by
X'09'
--4、欄位終止於X'09',是一個製表符
(id,username,password,sj)
-----定義列對應順序
其中append為數據裝載方式,還有其他選項:
a、insert,為預設方式,在數據裝載開始時要求表為空
b、append,在表中追加新記錄
c、replace,刪除舊記錄,替換成新裝載的記錄
d、truncate,同上
第三步:在命令提示符下輸入命令。
C:/>sqlldr
userid=username/password
control=c:/append.ctl
資料庫中用名的用戶名和密碼
或者
C:/>sqlldr
userid=system/manager@
serviceName
control=input.ctl
第二條命令中的system資料庫用戶名
manager密碼
@serviceName
是Oracle中本地配置文件的服務名
----------------------------------------------------
一些經常出現的問題:
1。關於日期格式的問題:
ctl基本寫法諸如:
load
data
infile
'C:/TP_LOANCONTRACTSUM.txt'
insert
into
table
TP_LOANCONTRACTSUM
fields
terminated
by
'|!'
(
column01,
column02,
column03,
column04
"to_date(:column04,'''yyyy-mm-dd
hh24:mi:ss''')",
column05
"to_date(:column05,'''yyyy-mm-dd
hh24:mi:ss''')",
column06,
column07,
column08,
column09,
column10,
column11,
column12
"to_date(:column12,'''yyyy-mm-dd
hh24:mi:ss''')",
column13
)
2。關於長字元串問題,CTL默認情況下是256位(或者256位左右),所以長字元串時會在log里報錯,提示所輸入的值超過最大長度,解決辦法,在ctl文件里再指定大小,注意個情況,不能寫VARCHAR只能寫CHAR,否則報錯,諸如:
load
data
infile
'C:/TP_PLEDGECONTRACTINFO.txt'
insert
into
table
TP_PLEDGECONTRACTINFO
fields
terminated
by
'|!'
(
column01,
column02,
column03,
column04,
column05,
column06,
column07
"to_date(:column07,'''yyyy-mm-dd
hh24:mi:ss''')",
column08,
column09,
column10
"to_date(:column10,'''yyyy-mm-dd
hh24:mi:ss''')",
column11,
column12,
column13,
column14,
column15
"to_date(:column15,'''yyyy-mm-dd
hh24:mi:ss''')",
column16,
column17,
column18
"to_date(:column18,'''yyyy-mm-dd
hh24:mi:ss''')",
column19,
column20,
column21,
column22,
column23,
column24,
column25
"to_date(:column25,'''yyyy-mm-dd
hh24:mi:ss''')",
column26
CHAR(500),
column27,
column28
)

8. mysql to sql server 2008遷移工具怎麼用

以下有幾款遷移工具的對比,可以參考,比較推薦DB2DB.

軟體易用性主要是指軟體在導入前的配置是否容易。由於很多軟體設計是面向程序員而非一般的資料庫管理人員、甚至是普通的應用程序實施人員,而這一類人員很多時候並沒有數據源配置經驗。因為一些使用 ODBC 或者 ADO 進行配置的程序往往會讓這類用戶造成困擾(主要是不知道應該選擇什麼類型的資料庫驅動程序)。下面讓我們看看四個工具的設計界面:

>>>>

1、SQLyog

SQLyog使用的是古老的 ODBC 連接,但對於新一代的程序來說,這種方式的非常的不熟悉並且不容易使用,並且必須要求本機安裝好相應的資料庫的 ODBC 驅動程序(SQL Server 一般自帶好)。

>>>>

2、NavicatPremium

NavicatPremium是四個應用工具中設計最不人性化的一個:從上圖怎麼也想像不到要點按那個小按鈕來添加一個新的連接,並且這個連接設置不會保存,每次導入時都必須重新設置。NavicatPremium使用的是比 ODBC 稍先進的 ADO 設置方式(199X年代的產物),但使用上依然是針對老一代的程序員。

>>>>

3、Mss2sql

Mss2sql是最容易在網路上搜索出來的工具,原因之一是它出現的時間較早。


DB2DB同樣遷移 300萬數據時,僅僅使用了 2 分 44 秒,這個速度相當驚人。不過最後的結果出現一個 BUG,就是提示了轉換成功,但後面的進度條卻沒有走完(在後面的數據完整性評測中,我們驗證了數據其實是已經全部處理完畢了)。

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

10. 數據遷移的數據遷移的工具選擇

數據遷移工具的開發、部署主要有2種選擇,即自主開發程序或購買成熟的產品。這2種選擇都有各自不同的特點,選擇時還要根據具體情況進行分析。縱觀目前國內一些大型項目,在數據遷移時多是採用相對成熟的ETL產品。可以看到這些項目有一些共同特點,主要包括:遷移時有大量的歷史數據、允許的宕機時間很短、面對大量的客戶或用戶、存在第三方系統接入、一旦失敗所產生的影響面將很廣。同時也應該看到,自主開發程序也被廣泛地採用。
目前,許多資料庫廠商都提供數據抽取工具,如Informix的InfoMover、Microsoft SQLServer的DTS和0raele的Oracle Warehouse Builder等。這些工具在一定范圍內解決了數據的提取和轉換。但這些工具基本都不能自動完成數據的抽取,用戶還需利用這些工具編寫適當的轉換程序。
例如Oracle的Oracle Warehouse Builder(OWB)數據抽取工具提供的功能包括:模型構造和設計,數據提取、移動和裝載,元數據管理等。但OWB提供的流程繁瑣,維護很困難,不易於使用。
在第三方產品中,Ascential Software公司的DataStage是一套相對比較完善的產品。DataStage可以從多個不同的業務系統、從多個平台的數據源中抽取數據,完成轉換和清洗,裝載到各種系統裡面,其中每步都可以在圖形化工具里完成;同樣可以靈活地被外部系統調度,提供專門的設計工具來設計轉換規則和清洗規則等,實現了增量抽取、任務調度等多種復雜而實用的功能。其中簡單的數據轉換可以通過在界面上拖拉操作和調用一些DataStage預定義轉換函數來實現,復雜轉換可以通過編寫腳本或結合其他語言的擴展來實現,並且DataStage提供調試環境,可以極大地提高開發和調試抽取、轉換程序的效率。