如何遷移完整SQL資料庫到另外一台伺服器
首先,打開伺服器上已經安裝好的SQL Server 2005 伺服器,並且用本地Windows身份登錄。
2
打開SQL Server伺服器以後,點擊資料庫--選擇附加
3
打開附加資料庫界面後,點擊右小角的添加
4
打開電腦上,之前備份好的完成資料庫文件,然後點擊確認。
5
資料庫文件和其資料庫日誌文件,就一並載入過來了,點擊確認就可以了。
6
展開資料庫,就可以了看到我
們剛剛附加過來的完整資料庫了,現在就可以
『貳』 SQL資料庫的遷移方法有多少
本文介紹五種遷移SQL資料庫的方法,包括DTS設計器導入導出、利用備份和恢復、直接拷貝數據文件、在應用程序中定製和SQL Server的復制功能。
DTS設計器導入導出
DTS的設計器功能強大,支持多任務,也是可視化界面,容易操作,但知道的人一般不多,如果只是進行SQL Server資料庫中部分表的移動,用這種方法最好,當然,也可以進行全部表的移動。在SQL Server Enterprise Manager中,展開伺服器左邊的+,選擇資料庫,右擊,選擇All tasks/Import Data...(或All tasks/Export Data...),進入向導模式,按提示一步一步走就行了,裡面分得很細,可以靈活的在不同數據源之間復制數據,很方便的。而且可以另存成DTS包,如果以後還有相同的復制任務,直接運行DTS包就行,省時省力。也可以直接打開DTS設計器,方法是展開伺服器名稱下面的Data Transformation Services,選Local Packages,在右邊的窗口中右擊,選New Package,就打開了DTS設計器。
值得注意的是:如果源資料庫要拷貝的表有外鍵,注意移動的順序,有時要分批移動,否則外鍵主鍵,索引可能丟失,移動的時候選項旁邊的提示說的很明白,或者一次性的復制到目標資料庫中,再重新建立外鍵,主鍵,索引。
利用備份和恢復
先對源資料庫進行完全備份,備份到一個設備(device)上,然後把備份文件復制到目的伺服器上(恢復的速度快),進行資料庫的恢復操作,在恢復的資料庫名中填上源資料庫的名字(名字必須相同),選擇強制型恢復(可以覆蓋以前資料庫的選項),再選擇從設備中進行恢復,瀏覽時選中備份的文件就行了。這種方法可以完全恢復資料庫,包括外鍵,主鍵,索引。
直接拷貝數據文件
把資料庫的數據文件(*.mdf)和日誌文件(*.ldf)都拷貝到目的伺服器,在SQL Server Query Analyzer中用語句進行恢復:
EXEC sp_attach_db @dbname = ';test';,
@filename1 = ';d:mssql7datatest_data.mdf';,
@filename2 = ';d:mssql7datatest_log.ldf';
這樣就把test資料庫附加到SQL Server中,可以照常使用。如果不想用原來的日誌文件,可以用如下的命令:
EXEC sp_detach_db @dbname = ';test';
EXEC sp_attach_single_file_db @dbname = ';test';,
@physname = ';d:mssql7datatest_data.mdf';
這個語句的作用是僅僅載入數據文件,日誌文件可以由SQL Server資料庫自動添加,但是原來的日誌文件中記錄的數據就丟失了。
在應用程序中定製
可以在應用程序(PB、VB)中執行自己編寫的程序,也可以在Query Analyzer中執行,這種方法比較靈活,其實是利用一個平台連接到資料庫,在平台中用的主要是SQL語句,這種方法對資料庫的影響小,但是如果用到遠程鏈接伺服器,要求網路之間的傳輸性能好,一般有兩種語句:
1> select ... into new_tablename where ...
2> insert (into) old_tablename select ... from ... where ...
區別是前者把數據插入一個新表(先建立表,再插入數據),後者是把數據插入已經存在的一個表中,我個人喜歡後者,因為在編程的結構上,應用的范圍上,第二條語句強於前者。
SQL Server的復制功能
SQL Server提供了強大的數據復制功能,也是最不易掌握的,具體應用請參考相關資料,值得注意的是要想成功進行數據的復制工作,有些條件是必不可少的:
1)SQL Server Agent必須啟動,MSDTC必須啟動。
2)所有要復制的表必須有主鍵。
3)如果表中有text或image數據類型,必須使用with log選項,不能使用with no_log選項。
另外max text repl size選項控制可以復制的文本和圖像數據的最大規模,超過這個限制的操作將失敗。
4)在要進行復制的計算機上,應該至少是隱含共享,即共享名是a1、b1…。
5)為SQL Server代理使用的Windows Server賬號不能是一個本地的系統賬號,因為本地的系統賬號不允許網路存取。
『叄』 如何把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的遷移到此結束。當然,遷移的是否正確還需要在之後的使用中檢查,發現錯誤及時修改即可。
『肆』 sql server 2008 資料庫的遷移有哪些方法
方法一:
將\Microsoft SQL Server\MSSQL\DATA文件夾中的syntt_data.mdf和syntt_log.ldf文件復制到安裝有資料庫伺服器的機器的文件夾中(可以是本機的\Microsoft SQL Server\MSSQL\DATA\文件夾),然後進入企業管理器。右鍵點擊「資料庫」,在浮動菜單中選擇「所有任務」中的「附加資料庫」。
在隨後的提示頁面中選擇剛才復制過來的.MDF文件,如果想指定資料庫的所有者,在「指定資料庫所有者」選擇框中選擇你認為合適的用戶。如果想修改資料庫的名字,可在「附加為」框中輸入新的資料庫名字(對本資料庫,不建議這么做,因為這樣的話,整個程序中所有涉及資料庫連接的代碼都要隨之修改,那將是不必要的勞動)。
在進行完上述的工作之後,直接點擊「確定」就可進行數據的SQL Server 數據轉移轉移。
方法二:
(方法一)是針對資料庫中沒有本資料庫的伺服器,如果資料庫中已經建有與該資料庫名稱相同的資料庫,則直接按照備份資料庫的恢復操作就可完成數據的SQL Server 數據轉移轉移。
方法如下所述:
這種方法首先要在本機上建立一個備份文件,具體操作介紹如下:
1、 在企業管理器中打開伺服器組以及指定的伺服器。然後右鍵點擊需要備份的資料庫在這里是syntt,在浮動菜單中選擇「所有任務」菜單下的「備份資料庫」,打開數據備份對話框。
2、 選擇「常規」選項卡,在名稱對話框中輸入本分集合名稱,在「描述」文本框中輸入備份集描述文本信息。在「備份」組下選擇備份操作類型,共有以下幾種:
資料庫—完全:完整備份資料庫。
資料庫—差異:增量備份資料庫。
事務日誌:事務日誌備份。
文件和文件組:資料庫文件和文件組備份。
在「目的」組中指定備份設備或者備份文件名稱,選擇「添加」按鈕添加備份設備或者文件;「刪除」按鈕用來刪除備份設備和備份文件;選擇「內容」按鈕,則可查看已經存儲在備份設備或文件中的備份信息。
在「重寫」組中有兩種選項:
追加到媒體:選擇該選項,表示需要保存備份設備或文件中以前的備份數據。
重寫現有媒體:要求本次被分數據覆蓋以前的備份數據,從而節省存儲空間。
在「調度」組中,安排數據備份的時間。用來指定資料庫備份在將來的某個時間執行
3、 「選項」選項卡,設置資料庫備份操作選項。其中的內容主要有以下幾項:
完成後驗證備份:要求在備份結束時對備份數據進行校驗。
備份後彈出磁帶:只對磁帶備份設備有效,他要求在備份結束時自動卸帶。
刪除事務日誌中不活動的條目:要求在事務日誌備份結束時刪除事務日誌中的已經完成的事務日誌條目。
檢查媒體集名稱和備份集到期時間:要求在備份前檢查介質集名稱和原備份集中備份SQL Server 數據轉移的有效期,以防止意外重寫破壞原來的備份數據。
備份集到期時間:設置備份集的有效期。
初始化並標識媒體:只對磁帶設備有效。選擇該選項後,SQL Server在備份時將Microsoft定義的磁帶格式信息寫入介質的開始部分。此時,可以在「媒體集名稱」和「媒體集描述」文本框中定義介質集名稱和介質描述信息。
4、 在進行完上述的操作之後,剩下的任務就是點擊「確定」,使系統開始進行資料庫的備份操作。
到目前為止,我們已經有了一個資料庫的備份文件,剩下的任務就是怎麼將這個文件還原至另外的資料庫伺服器中了。
1、因為使用企業管理器進行資料庫的恢復只能是在本機進行,所以在進行數據還原之前,必須將剛才所作的備份文件復制到本機,然後在本機選擇「syntt」資料庫,右鍵點擊它,在顯示出來的浮動菜單中選擇「所有任務」下的「還原資料庫」。
2、在還原資料庫對話框中,在「常規」選項卡中的選擇「從設備」的數據恢復方法,通過「選擇設備」按鈕選擇剛才復制過來的文件。
「常規」選項卡與「選項」選項卡中的具體內容如下所示:
「常規」選項卡:
資料庫恢復方法:包括「資料庫」、「文件組或文件」、「從設備」三種恢復方式。
「資料庫」方式:選擇該項時,從「顯示資料庫備份」列表中選擇需要顯示的指定資料庫備份集合,從「要還原的第一個備份」列表框中選擇首先使用哪一個備份集恢復資料庫;「文件組或文件」:選擇它時,資料庫恢復部件列出指定資料庫備份集合中備份的資料庫文件或文件組,管理員可從這些備份文件中選擇恢復那個資料庫文件或文件組;「從設備」:選擇它時,管理員選擇恢復資料庫或其日誌所使用的備份設備,之後再從該備份設備中選擇使用哪一次備份中的數據恢復資料庫或其日誌。
3、點擊「確定」,完成恢復操作。
『伍』 SQL2000整個資料庫如何從一台機器轉移到另一台機器
1.
不是機器配置本身的影響,而是因兩台機器的sql資料庫版本不同會有影響 ;
2.
一般情況下如果兩台機器都裝的是sql2000的同一個版本,並且沒有安裝錯誤出現,那你就沒什麼好擔心的,sql可以先在一台機器上執行資料庫備份,然後把數據文件拷貝到另一台機器上做資料庫還原,這是sql的基本的功能,不會有任何問題;
3.
具體情況還是只有一試才能知道,你可以先在另一台機器上裝好資料庫,在看下一步的備份、還原過程到底會有什麼具體問題出現,再去針對性解決具體問題;
『陸』 怎麼把sql資料庫從舊電腦移動到新電腦安裝
操作如下:
1.右鍵你需要的資料庫–>任務–>分離
2.找到你的sqlserver安裝文件夾
這里把你需要的資料庫(如jjj)的兩個相關文件拷貝到另一台電腦上,這里注意,你最好還是要放到sqlserver的這個文件夾,放別的地方可能會報錯,因為文件夾的讀寫屬性還有用戶許可權不一樣,反正修改起來特別麻煩。
3.到另一台電腦上,右鍵–>附加–>選擇你的mdf文件,確定,大功告成,資料庫成功導入,簡單吧!
我試了直接把文件復制過去,導入也成功了,所以不是很明白為什麼要分離,我在網上查了一下:
資料庫分離是指將資料庫文件從資料庫伺服器實例中分離出來,相當於關閉了資料庫。資料庫分離後,應用程序不能連接到該資料庫,資料庫文件可以被其它進程訪問。通常分離資料庫用於快速地將資料庫遷移到另一個SQLSERVER實例。
舊電腦把資料庫分離,用U盤把資料庫文件復制到新電腦,然後在資料庫里把附加舊電腦的資料庫文件上去就可以了
『柒』 如何把sqlserver數據遷移到mysql資料庫及需要注意事項
二、將SQL
Server數據遷移到MySQL需要注意的一些問題
1、唯一索引的不同,sql
server的唯一索引的欄位只能允許存在一個null值,而mysql,一直oracle中唯一索引對應的欄位都允許存在多個null值。
2、存儲過程的語法存在很大的不同,存儲過程的遷移是最麻煩的,需要仔細修改。
3、程序中部分寫的SQL語句由於語法的不同也要相應的修改。
三、將SQL
Server數據遷移到MySQL的常見方法
1、使用 SQLyog 遷移
優點
該遷移方法很簡單,靈活,遷移時,可以進行欄位的修改,比如在sql
server中原來是datetime,然後遷移到mysql時你可以配置成timestamp;成功率很高;
缺點
遷移很慢!這是該方法最大的缺點,如果表的數據量達到幾十萬行,甚至幾百萬行,你會發現遷移起來真的很慢。明顯比其他遷移方法慢很多。
2、使用 powerdesigner 和 sql server 的腳本導出功能 來遷移
(1)、該方法首先使用 powerdesigner,對sql
server資料庫,進行逆向工程,得到E-R圖,然後生成MySQL的建表語句。完成資料庫結構的遷移;當然表結構的遷移,不使用powerdesigner一樣也是可以的。比如我將表結構導出成語句,然後手動進行修改,然後在MySQL中運行,也是一樣的;
(2)、然後使用 sql server的工具 SSMS,將sql
server資料庫中的表的數據,導出成insert語句,每個表對應導出一個文件,然後對文件進行一些處理,然後導入到MySQL資料庫中。
3、使用Oracle MySQL Server 官方的 workbeach 工具進行遷移
(1)、在workbench 連接sql server時,用戶需要有 view any database 的許可權。不然workbench無法訪問sql
server的表結構的元數據,從而無法進行遷移。
(2)、還有使用 Navicat 來進行遷移的方法,方法和 SQLyog 是類似的。
『捌』 如何將資料庫從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,就是提示了轉換成功,但後面的進度條卻沒有走完(在後面的數據完整性評測中,我們驗證了數據其實是已經全部處理完畢了)。