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提供調試環境,可以極大地提高開發和調試抽取、轉換程序的效率。