當前位置:首頁 » 操作系統 » 如何復制資料庫

如何復制資料庫

發布時間: 2022-02-05 10:24:39

sql怎麼復制資料庫

SQL六種數據移動方法
1. 通過工具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設計器。值得注意的是:如果源資料庫要拷貝的表有外鍵,注意移動的順序,有時要分批移動,否則外鍵主鍵,索引可能丟失,移動的時候選項旁邊的提示說的很明白,或者一次性的復制到目標資料庫中,再重新建立外鍵,主鍵,索引。
其實建立資料庫時,建立外鍵,主鍵,索引的文件應該和建表文件分開,而且用的數據文件也分開,並分別放在不同的驅動器上,有利於資料庫的優化。
2. 利用Bcp工具
這種工具雖然在SQL Server7的版本中不推薦使用,但許多資料庫管理員仍很喜歡用它,尤其是用過SQL Server早期版本的人。Bcp有局限性,首先它的界面不是圖形化的,其次它只是在SQL Server的表(視圖)與文本文件之間進行復制,但它的優點是性能好,開銷小,佔用內存少,速度快。有興趣的朋友可以查參考手冊。
3. 利用備份和恢復
先對源資料庫進行完全備份,備份到一個設備(device)上,然後把備份文件復制到目的伺服器上(恢復的速度快),進行資料庫的恢復操作,在恢復的資料庫名中填上源資料庫的名字(名字必須相同),選擇強制型恢復(可以覆蓋以前資料庫的選項),在選擇從設備中進行恢復,瀏覽時選中備份的文件就行了。這種方法可以完全恢復資料庫,包括外鍵,主鍵,索引。
4. 直接拷貝數據文件
把資料庫的數據文件(*.mdf)和日誌文件(*.ldf)都拷貝到目的伺服器,在SQL Server Query Analyzer中用語句進行恢復:
EXEC sp_attach_db @dbname = 'test ',
@filename1 = 'd:\mssql7\data\test_data.mdf ',
@filename2 = 'd:\mssql7\data\test_log.ldf '
這樣就把test資料庫附加到SQL Server中,可以照常使用。如果不想用原來的日誌文件,可以用如下的命令:
EXEC sp_detach_db @dbname = 'test '
EXEC sp_attach_single_file_db @dbname = 'test ',
@physname = 'd:\mssql7\data\test_data.mdf '
這個語句的作用是僅僅載入數據文件,日誌文件可以由SQL Server資料庫自動添加,但是原來的日誌文件中記錄的數據就丟失了。
5. 在應用程序中定製
可以在應用程序(PB、VB)中執行自己編寫的程序,也可以在Query Analyzer中執行,這種方法比較靈活,其實是利用一個平台連接到資料庫,在平台中用的主要時SQL語句,這種方法對資料庫的影響小,但是如果用到遠程鏈接伺服器,要求網路之間的傳輸性能好,一般有兩種語句:
1> select ... into new_tablename where ...
2> insert (into) old_tablename select ... from ... where ...
區別是前者把數據插入一個新表(先建立表,再插入數據),後者是把數據插入已經存在的一個表中,我個人喜歡後者,因為在編程的結構上,應用的范圍上,第二條語句強於前者。
6. SQL Server的復制功能
SQL Server提供了強大的數據復制功能,也是最不易掌握的,具體應用請參考相關資料,值得注意的是要想成功進行數據的復制工作,有些條件是必不可少的:
1> SQL Server Agent必須啟動,MSDTC必須啟動。
2> 所有要復制的表必須有主鍵。
3> 如果表中有text或image數據類型,必須使用with log選項,不能使用with no_log選項。
另外max text repl size選項控制可以復制的文本和圖像數據的最大規模,超過這個限制的操作將失敗。
4> 在要進行復制的計算機上,應該至少是隱含共享,即共享名是C$或D$…。
5> 為SQL Server代理使用的Windows NT帳號不能是一個本地的系統帳號,因為本地的系統帳號不允許網路存取。
6> 如果參與復制的伺服器在另外的計算機域中,必須在這些域之間建立信任關系。

㈡ 怎麼將資料庫的數據復制到另一個資料庫

第一步:首先,打開並連接Sql
Server,在源資料庫Source_db(源資料庫名稱)上右鍵,然後依次點擊「編寫表腳本為」→「CREATE到」→「新查詢編輯器窗口」。
第二步:在第1步產生的編輯器中按」crtl+a「組合鍵全選內容,然後右鍵「復制「(或按"crtl+c"鍵)。
第三步:新建查詢,然後右鍵」粘貼「(或ctrl+v);如圖所示,將代碼中Source_db(源資料庫名)改為target_db(目標資料庫名)。接著右鍵單擊」執行「執行代碼。
第四步:然後,在目標資料庫的表結構中就可以看到被復制過來的表了。
表的數據內容復制:
第一步:選中目標資料庫target_db,然後點擊」任務「→」導入數據「。
第二步:進入」SQL
Server導入導出向導「,根據提示步驟操作。
第三步:選擇數據源(源資料庫)。
第四步:選擇目標(目標資料庫)、指定表復制或查詢。
第五步:選擇源表和源視圖:設置源表和目標表後,單擊「編輯映射」按鈕,在彈出窗口中選中「啟用標識插入」。(否則後面會出錯)
第六步:一直點擊「下一步」至最後完成操作。

㈢ 怎麼才能完整復制MySQL資料庫

有兩種辦法。

1、在B機器上裝mysql。
將A機器上的mysql/data下的你的資料庫目錄整個拷貝下來。
將B機器上的mysql服務停止。
找到B機器上的mysql/data目錄,將你拷貝的目錄粘貼進去,然後啟動mysql服務就可以了。
2、使用SQL語句備份和恢復
你可以使用SELECT INTO OUTFILE語句備份數據,並用LOAD DATA INFILE語句恢復數據。這種方法只能導出數據的內容,不包括表的結構,如果表的結構文件損壞,你必須要先恢復原來的表的結構。
語法:
SELECT * INTO {OUTFILE ¦ DUMPFILE} 』file_name』 FROM tbl_name
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 』file_name.txt』 [REPLACE ¦ IGNORE]
INTO TABLE tbl_name
SELECT ... INTO OUTFILE 』file_name』
在dos命令提示符下使用mysqlmp命令進行備份.
如下:
C:\Documents and Settings\Administrator>mysqlmp yinshi >c:\\backup.txt -uroot
-p12142022

㈣ 怎麼復制MySQL資料庫

項目上 MySQL還原 SQL 備份經常會碰到一個錯誤如下,且通常出現在導入視圖、函數、存儲過程、事件等對象時,其根本原因就是因為導入時所用賬號並不具有SUPER 許可權,所以無法創建其他賬號的所屬對象。ERROR 1227 (42000) : Access denied; you need (at least one of) the SUPER privilege(s) for this operation常見場景:1. 還原 RDS 時經常出現,因為 RDS 不提供 SUPER 許可權;2. 由開發庫還原到項目現場,賬號許可權等有所不同。

處理方式:

1. 在原庫中批量修改對象所有者為導入賬號或修改SQL SECURITY為Invoker;2. 使用 mysqlmp 導出備份,然後將 SQL 文件中的對象所有者替換為導入賬號。
二、問題原因我們先來看下為啥會出現這個報錯,那就得說下 MySQL 中一個很特別的許可權控制機制,像視圖、函數、存儲過程、觸發器等這些數據對象會存在一個DEFINER和一個SQL SECURITY的屬性,如下所示:

  • --視圖定義CREATEALGORITHM=UNDEFINEDDEFINER=`root`@`%`SQLSECURITYDEFINERVIEWv_test


  • --函數定義CREATEDEFINER=`root`@`%`FUNCTION`f_test()`RETURNSvarchar(100)SQLSECURITYDEFINER


  • --存儲過程定義CREATEDEFINER=`root`@`%`PROCEDURE`p_test`()SQLSECURITYDEFINER


  • --觸發器定義CREATE DEFINER=`root`@`%` trigger t_test


  • --事件定義CREATE DEFINER=`root`@`%` EVENT `e_test`

  • DEFINER:對象定義者,在創建對象時可以手動指定用戶,不指定的話默認為當前連接用戶;

  • SQL SECURITY:指明以誰的許可權來執行該對象,有兩個選項,一個為DEFINER,一個為INVOKER,默認情況下系統指定為 DEFINER;DEFINER:表示按定義者的許可權來執行;INVOKER:表示按調用者的許可權來執行。

  • 如果導入賬號具有 SUPER 許可權,即使對象的所有者賬號不存在,也可以導入成功,但是在查詢對象時,如果對象的SQL SECURITY為DEFINER,則會報賬號不存在的報錯。ERROR 1449 (HY000): The user specified as a definer ('root'@'%') does not exist



  • 改寫好處:1. 可以避免還原時遇到 DEFINER 報錯相關問題;2. 根據輸出信息知道備份是否正常進行,防止備份中遇到元數據鎖無法獲取然後一直卡住的情況。

㈤ sql server 怎麼復制一個整個資料庫到另一個資料庫

  • 首先,新建一個資料庫,資料庫名字為【fu】

  • 然後【右擊】選擇想要從中獲取數據的資料庫,選擇【任務】,選擇【導入數據】

  • 然後進入導入第一個頁面,然後點擊下一步

  • 然後填寫想要從中導入數據的資料庫配置信息,點擊下一步

  • 然後填寫fu的配置信息,點擊下一步

  • 然後選擇第一個,點擊下一步

  • 然後選擇所有的表數據,點擊下一步

  • 選中立即運行,點擊下一步

  • 然後都是下一步,然後完成,就可以導入數據了

  • 導入完成之後,就可以看到fu的數據里的表數據了

或者把SQL服務先停止,然後拷出來mdf文件和ldf文件,然後"分離和附加",提示改名,就OK了。

㈥ 怎麼拷貝資料庫

以下問題要說清:是什麼資料庫?
什麼版本?
從什麼操作系統到什麼操作系統?
在同一台機器上還是不同機器上?
資料庫規模有多大?有多少GB的數據?
很多資料庫不能直接拷貝的,ACCESS可以直接這么干

㈦ 怎樣將一個資料庫完整復制到另一個sql伺服器

1、開始菜單--->程序,打開SQL Server Management Studio。

㈧ 如何將一個oracle資料庫復製成一個新的資料庫

1、在資料庫伺服器的開始菜單中找到Datebase Configuration Assistant。

㈨ 如何復制資料庫文件


配置發布伺服器
在發布伺服器上執行以下步驟:
(1)
從[工具]下拉菜單的[復制]子菜單中選擇[配置發布、訂閱伺服器和分發]出現配置發布和分發向導
(2)
[下一步]
選擇分發伺服器
可以選擇把發布伺服器自己作為分發伺服器或者其他sql的伺服器
(3)
[下一步]
設置快照文件夾
一般採用默認\\servername\d$\Program
Files\Microsoft
SQL
Server\MSSQL\ReplData
**(4)
[下一步]
自定義配置
可以選擇:
是,讓我設置分發資料庫屬性啟用發布伺服器或設置發布設置
否,使用下列默認設置
建議採用自定義設置
(5)
[下一步]
設置分發資料庫名稱和位置
採用默認值
(6)
[下一步]
啟用發布伺服器
選擇作為發布的伺服器
(7)
[下一步]
選擇需要發布的資料庫和發布類型
(8)
[下一步]
選擇注冊訂閱伺服器
(9)
[下一步]
完成配置

㈩ 如何復制mysql資料庫到另一台電腦上

有兩種辦法。 1、在B機器上裝mysql。 將A機器上的mysql/data下的你的資料庫目錄整個拷貝下來。 將B機器上的mysql服務停止。 找到B機器上的mysql/data目錄,將你拷貝的目錄粘貼進去,然後啟動mysql服務就可以了。 2、使用SQL語句備份和恢復 你可以使用SELECT INTO OUTFILE語句備份數據,並用LOAD DATA INFILE語句恢復數據。這種方法只能導出數據的內容,不包括表的結構,如果表的結構文件損壞,你必須要先恢復原來的表的結構。 語法: SELECT * INTO {OUTFILE ¦ DUMPFILE} 』file_name』 FROM tbl_name LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 』file_name.txt』 [REPLACE ¦ IGNORE] INTO TABLE tbl_name SELECT ... INTO OUTFILE 』file_name』 在dos命令提示符下使用mysqlmp命令進行備份. 如下: C:\Documents and Settings\Administrator>mysqlmp yinshi >c:\\backup.txt -uroot -p12142022

熱點內容
webrtc伺服器搭建哪家價格低 發布:2024-04-27 01:30:08 瀏覽:139
oracle資料庫無法啟動 發布:2024-04-27 01:29:20 瀏覽:612
倪萍超級訪問 發布:2024-04-27 01:23:29 瀏覽:704
java集合循環 發布:2024-04-27 01:17:18 瀏覽:593
解壓喪屍片 發布:2024-04-27 01:02:28 瀏覽:370
編程師加班 發布:2024-04-27 00:49:24 瀏覽:910
lol四川伺服器雲空間 發布:2024-04-27 00:42:08 瀏覽:934
卡宴怎麼看配置 發布:2024-04-27 00:41:08 瀏覽:942
央視影音緩存視頻怎麼下載視頻 發布:2024-04-27 00:25:55 瀏覽:584
手機緩存的視頻怎麼看 發布:2024-04-27 00:11:05 瀏覽:58