當前位置:首頁 » 編程語言 » sql移動資料庫

sql移動資料庫

發布時間: 2022-12-09 14:32:37

① 怎麼把sql資料庫從舊電腦移動到新電腦安裝​

1、可以直接復制的,備份或者分離(選中資料庫,右鍵,任務,分離or備份)。
分離:文件直接到之前還原的路徑下面(路徑可以通過,選中資料庫,右鍵,屬性,文件,查看路徑),復制到高於或等於當前這個SQL資料庫版本的實例中即可。

備份:文件備份時可以選擇備份路徑。
2、無法直接復制的。
選中資料庫,右鍵,任務,生成腳本,第一步直接下一步,高級,最下面,要編寫腳本的數據類型,選擇架構和數據,選擇保存位置,下一步,等待導出,導出文件後,修改存儲文件的路徑,到新的實例中執行即可。這個辦法不用考慮實例版本問題,但是,資料庫導出可能導不出來等問題,不一定全都適用。
由於不允許貼圖,看不懂再追問,看到了就補充。

② sql server創建的資料庫文件怎麼移動

在sql的控制界面,右鍵點擊資料庫名-任務-分離-確定。
然後就可以移動資料庫文件了。

③ 怎麼把sql資料庫從舊電腦移動到新電腦安裝

新電腦上直接安裝同樣或者高版本的資料庫軟體,然後把舊電腦的資料庫分離一下,找到資料庫文件的存放路徑,將分離的資料庫再復制到新電腦上(網路共享或使用U盤、移動硬碟拷貝均可),然後打開資料庫軟體,先將資料庫文件復制進你指定的一個文件夾,然後再打開資料庫軟體點附加資料庫

④ 怎麼把sql資料庫從舊電腦移動到新電腦安裝

在你的機器上SQL文件夾下面存資料庫的那個文件夾,然後把你代碼所用到的庫拷到另外的一台電腦上.
在另外一台電腦,運行SQL的企業管理器,在資料庫任務那選擇附加資料庫,然後
選擇你拷過去的庫就行咯.

要把代碼里的SERVER改成那台電腦的伺服器名字,不一定就是LOCALHOST的

想知道另外一機器的伺服器名稱的話,可以用一個叫 MovieLink.udl 的小程序就可以咯.

⑤ sql server怎樣把一個資料庫中的表移動到另一個資料庫中

分兩步進行:
第一步,復製表結構:
在表上面右擊——>編寫表腳本為:——>Create到——>新查詢編輯器窗口,你也可以保存為sql文件,將新查詢編輯器窗口最上面的一句話USE
[olddatabase]中的「olddatabase」修改為「newdatabase」,其中olddatabase為源資料庫名,newdatabase為目標資料庫名,點擊上面的「執行」按鈕,這樣,表結構復制完畢;
第二步,復製表數據:
在「olddatabase」上右擊——>任務——>導出數據,在彈出對話框中選好源資料庫、身份驗證和目標資料庫、身份驗證後,然後選擇要復制的表,完成後則表數據即插入成功。

⑥ 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 的計算機之間移動資料庫

您可以使用相同的方法從 SQL Server 7.0 或 SQL Server 2000 遷移數據。但是,Microsoft SQL
Server 2005 中的管理工具與 SQL Server 7.0 或 SQL Server 2000 中的管理工具有所不同。您應該使用
SQL Server Management Studio(而不是 SQL Server 企業管理器)以及 SQL Server 導入和導出向導
(DTSWizard.exe)(而不是數據轉換服務導入和導出數據向導)。
備份和還原
在源伺服器上備份用戶資料庫,然後將用戶資料庫還原到目標伺服器上。
在備份過程中時可能有人使用資料庫。如果用戶在備份完成後對資料庫執行
INSERT、UPDATE 或 DELETE
語句,則備份中不會包含這些更改。如果您必須傳輸所有更改,那麼,假如您既執行事務日誌備份又執行完整資料庫備份,您可以以盡可能短的停止時間來傳輸這些更改。
在目標伺服器上還原完整資料庫備份,並指定 WITH NORECOVERY 選項。

注意:為防止對資料庫做進一步的修改,請指導用戶在源伺服器上退出資料庫活動。
執行事務日誌備份,然後使用 WITH RECOVERY 選項將事務日誌備份還原到目標伺服器上。停止時間僅限於事務日誌備份和恢復的時間。有關更多信息,請參閱 SQL Server 聯機叢書的「Transact-SQL 參考」主題中的「還原」子主題。
目標伺服器上的資料庫將與源伺服器上的資料庫大小相同。要減小資料庫的大小,您必須在執行備份前壓縮源資料庫的大小,或者在完成還原後壓縮目標資料庫的大小。有關更多信息,請參閱 SQL Server 聯機叢書的「創建和維護資料庫」標題下的「壓縮資料庫」子主題。
如果您將資料庫還原到的文件位置不同於源資料庫的文件位置,則必須指定 WITH MOVE 選項。例如,在源伺服器上,資料庫位於 D:\Mssql\Data 文件夾中。目標伺服器沒有 D 驅動器,因而您需要將資料庫還原到 C:\Mssql\Data 文件夾。

有關如何將資料庫還原到其他位置的更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
221465

INF:結合使用 WITH MOVE 選項和 RESTORE 語句
304692 INF:使用 BACKUP 和 RESTORE 將 SQL Server 7.0 資料庫移到新的位置
如果您想覆蓋目標伺服器上的一個現有資料庫,則必須指定 WITH REPLACE 選項。有關更多信息,請參閱 SQL Server 聯機叢書的「Transact-SQL 參考」主題中的「還原」子主題。
源伺服器和目標伺服器上的字元集、排序順序和 Unicode 整序可能必須相同,具體取決於您要還原到 SQL Server 的哪種版本。有關更多信息,請參閱本文中的「關於排序規則的說明」一節。
Sp_detach_db 和 Sp_attach_db 存儲過程
要使用 sp_detach_db 和 sp_attach_db 這兩個存儲過程,請按下列步驟操作:
使用 sp_detach_db 存儲過程分離源伺服器上的資料庫。您必須將與資料庫關聯的 .mdf、.ndf 和 .ldf 這三個文件復制到目標伺服器上。參見下表中對文件類型的描述:

文件擴展名
說明

.mdf 主要數據文件
.ndf 輔助數據文件
.ldf 事務日誌文件
使用 sp_attach_db 存儲過程將資料庫附加到目標伺服器上,並指向您在上一步驟中復制到目標伺服器的文件。

有關如何使用這些方法的更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
224071

如何通過使用 SQL Server 中的分離和附加功能將 SQL Server 資料庫移到新位置
分離資料庫後將無法訪問該資料庫,並且復制文件時也無法使用該資料庫。在進行分離的那一時刻資料庫中包含的所有數據都被移動。
在您使用附加或分離方法時,兩個伺服器上的字元集、排序順序和 Unicode 整序都必須相同。有關更多信息,請參閱本文中的「關於排序規則的說明」一節。
關於排序規則的說明
如果您使用備份和還原或附加和分離方法在兩個
SQL Server 7.0 伺服器之間移動資料庫,則兩個伺服器上的字元集、排序順序和 Unicode 整序都必須相同。如果您將資料庫從
SQL Server 7.0 移到 SQL Server 2000,或者在不同的 SQL Server 2000
伺服器之間移動資料庫,則資料庫將保留源資料庫的整序。這意味著,如果運行 SQL Server 2000
的目標伺服器的整序與源資料庫的整序不同,則目標資料庫的整序也將與目標伺服器的 master、model、tempdb 和 msdb 資料庫的整序不同。有關更多信息,請參見 SQL Server 2000 聯機叢書中的「混合整序環境」主題。
導入和導出數據(在 SQL Server 資料庫之間復制對象和數據)
您可以使用數據轉換服務導入和導出數據向導來復制整個資料庫或有選擇地將源資料庫中的對象和數據復制到目標資料庫。
在傳輸過程中,可能有人在使用源資料庫。如果在傳輸過程中有人在使用源資料庫,您可能會看到傳輸過程中出現一些阻滯現象。
在您使用導入和導出數據向導時,源伺服器與目標伺服器的字元集、排序順序和整序不必相同。
因為源資料庫中未使用的空間不會移動,所以目標資料庫不必與源資料庫一樣大。同樣,如果您只移動某些對象,則目標資料庫也不必與源資料庫一樣大。
SQL Server 7.0 數據轉換服務可能無法正確地傳輸大於 64 KB 的文本和圖像數據。但 SQL Server 2000 版本的數據轉換服務不存在此問題。

有關更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
257425

FIX:DTS 對象傳輸不能傳輸大於 64 KB 的 BLOB 數據
第 2 步:如何傳輸登錄和密碼
如果您不將源伺服器中的登錄傳輸到目標伺服器,當前的 SQL Server 用戶就無法登錄到目標伺服器。您可以按照下面的 Microsoft 知識庫文章中的說明來傳輸登錄和密碼:

246133 如何在 SQL Server 實例之間傳輸登錄和密碼
目標伺服器上的登錄的默認資料庫可能與源伺服器上的登錄的默認資料庫不同。您可以使用 sp_defaultdb 存儲過程來更改登錄的默認資料庫。有關更多信息,請參見 SQL Server 聯機叢書中的「Transact-SQL 參考」主題的「sp_defaultdb」子主題。
第 3 步:如何解決孤立用戶
在您向目標伺服器傳輸登錄和密碼後,用戶可能還無法訪問資料庫。登錄與用戶是靠安全識別符 (SID) 關聯在一起的;在您移動資料庫後,如果 SID
不一致,SQL Server 可能會拒絕用戶訪問資料庫。此問題稱為孤立用戶。如果您使用 SQL Server 2000 DTS
傳輸登錄功能來傳輸登錄和密碼,就可能會產生孤立用戶。此外,被允許訪問與源伺服器處於不同域中的目標伺服器的集成登錄帳戶,也會導致出現孤立用戶。
查找孤立用戶。在目標伺服器上打開查詢分析器,然後在您移動的用戶資料庫中運行以下代碼:
exec sp_change_users_login 'Report'

此過程將列出任何未鏈接到一個登錄帳戶的孤立用戶。如果沒有列出用戶,請跳過第 2 步和第 3 步,直接進行第 4 步。
解決孤立用戶問題。如果一個用戶是孤立用戶,資料庫用戶可以成功登錄到伺服器,但卻無權訪問資料庫。如果您嘗試向資料庫授予登錄訪問權,則會因該用戶已經存在而出現下列錯誤消息:
Microsoft SQL-DMO (ODBC SQLState:42000) 錯誤 15023:當前資料庫中已存在用戶或角色 '%s'。
有關如何解決孤立用戶的更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
240872

如何解決在運行 SQL Server 的伺服器之間移動資料庫時的許可權問題

此文章介紹如何將登錄映射到資料庫用戶,以及如何解決標準的 SQL Server 登錄和集成登錄產生的孤立用戶。

274188 PRB:聯機叢書中的「孤立用戶疑難解答」主題不完整

上面的文章介紹了如何使用 sp_change_users_login 存儲過程來逐個糾正孤立用戶。sp_change_users_login 存儲過程僅能解決標準的 SQL Server 登錄帳戶的孤立用戶問題。
如果資料庫所有者 (dbo) 被當作孤立用戶列出,請在用戶資料庫中運行下面的代碼:
exec sp_changedbowner 'sa'

此存儲過程會將資料庫所有者更改為 dbo 並解決這個問題。要將資料庫所有者更改為另一用戶,請使用您想使用的用戶再次運行 sp_changedbowner。有關更多信息,請參見 SQL Server 聯機叢書的「Transact-SQL 參考」主題中的「sp_changedbowner」子主題。
如果您的目標伺服器運行的是 SQL Server 2000 Service Pack 1,則在您執行附加操作或還原操作(或兩種操作都執行)後,企業管理器的用戶文件夾中的列表中可能沒有資料庫所有者用戶。

有關更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
305711

BUG:在企業管理器中沒有顯示 DBO 用戶
如果目標伺服器上不存在映射到源伺服器上的 dbo 的登錄,您在嘗試通過企業管理器更改系統管理員 (sa) 密碼時,可能會收到以下錯誤消息:
錯誤 21776:[SQL-DMO] 名稱 'dbo' 在 Users 集合中沒有找到。如果該名稱是合法名稱,則使用 [] 來分隔名稱的不同部分,然後重試。
有關更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
218172

PRB:在企業管理器中不能更改 SA 密碼
警告:如果您再次還原或附加資料庫,則資料庫用戶可能會再次被孤立,這樣您就必須重復第 3 步操作。
第 4 步:如何移動作業、警報和運算符
第 4 步是可選操作。您可以為源伺服器上的所有作業、警報和運算符生成腳本,然後在目標伺服器上運行腳本。
要移動作業、警報和運算符,請按照下列步驟操作: 您可以用右鍵單擊選擇為所有警報、所有作業或所有運算符生成腳本。
打開 SQL Server 企業管理器,然後展開管理文件夾。
展開 SQL Server 代理,然後右鍵單擊警報、作業或運算符。
單擊所有任務,然後單擊生成 SQL 腳本。對於 SQL Server 7.0,請單擊為所有作業生成腳本、警報或運算符。
您可以將作業、警報和運算符從 SQL Server 7.0 移到 SQL Server 2000,也可以在運行 SQL Server 7.0 和運行 SQL Server 2000 計算機之間移動。
如果在源伺服器上為運算符設置了 SQLMail 通知,則目標伺服器上也必須設置 SQLMail,才能具有相同的功能。

有關更多信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
263556

INF:如何配置 SQL Mail
第 5 步:如何移動 DTS 包
第 5 步是可選操作。如果 DTS 包在源伺服器上存儲在 SQL Server 中或存儲庫中,您可以在需要時移動這些包。要在伺服器之間移動 DTS 包,請使用下列方法之一。
方法 1
在源伺服器上將 DTS 包保存到一個文件中,然後在目標伺服器上打開 DTS 包文件。
將目標伺服器上的包保存到 SQL Server 或存儲庫中。
注意:您必須用單獨的文件逐個地移動這些包。
方法 2
在 DTS 設計器中打開每個 DTS 包。
在包菜單上,單擊另存為。
指定目標 SQL Server。
注意:在新伺服器上,包可能無法正常運行。您可能必須對包進行更改,更改包中任

⑧ 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」保存並關閉對話框。

熱點內容
java喂狗 發布:2024-03-29 10:03:33 瀏覽:546
mcafee按訪問掃描 發布:2024-03-29 10:02:40 瀏覽:816
編譯成debug版本 發布:2024-03-29 09:06:55 瀏覽:884
wms伺服器地址 發布:2024-03-29 09:05:55 瀏覽:415
mep編程器 發布:2024-03-29 09:05:13 瀏覽:139
大小s我們一家訪問人 發布:2024-03-29 09:03:16 瀏覽:532
造物者編程 發布:2024-03-29 08:50:27 瀏覽:534
sql技能 發布:2024-03-29 08:50:23 瀏覽:56
希沃安卓下載安裝應用在哪裡 發布:2024-03-29 08:22:51 瀏覽:631
python和excel 發布:2024-03-29 07:47:03 瀏覽:861