1. 資料庫遷移時怎樣將oracle的視圖導入postgresql中
一. 如果B資料庫是新建的,為了移植資料庫,那就直接附加,分下列步驟:
1. 打開配置管理器
2. 停止SQL Server服務
3. 在C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data目錄下找到資料庫文件,復制到B電腦上,B電腦打開資料庫附加A資料庫就好了。
二. 如果B資料庫已經曾在,可以使用導出任務
打開資料庫,右鍵點在資料庫上,找到導出任務
按照向導選擇該到處的數據表和視圖。填寫兩個資料庫的驗證信息
2. 怎麼把sql資料庫從舊電腦移動到新電腦安裝
操作如下:
1.右鍵你需要的資料庫–>任務–>分離
2.找到你的sqlserver安裝文件夾
這里把你需要的資料庫(如jjj)的兩個相關文件拷貝到另一台電腦上,這里注意,你最好還是要放到sqlserver的這個文件夾,放別的地方可能會報錯,因為文件夾的讀寫屬性還有用戶許可權不一樣,反正修改起來特別麻煩。
3.到另一台電腦上,右鍵–>附加–>選擇你的mdf文件,確定,大功告成,資料庫成功導入,簡單吧!
我試了直接把文件復制過去,導入也成功了,所以不是很明白為什麼要分離,我在網上查了一下:
資料庫分離是指將資料庫文件從資料庫伺服器實例中分離出來,相當於關閉了資料庫。資料庫分離後,應用程序不能連接到該資料庫,資料庫文件可以被其它進程訪問。通常分離資料庫用於快速地將資料庫遷移到另一個SQLSERVER實例。
舊電腦把資料庫分離,用U盤把資料庫文件復制到新電腦,然後在資料庫里把附加舊電腦的資料庫文件上去就可以了
3. 在不能操作伺服器的情況下如何備份pg資料庫
如果不能操作伺服器,但是能夠遠程連接到資料庫進行增刪改查,備份資料庫的方法有以下幾種:
使用pg_mp命令遠程備份:在遠程連接到資料庫後,可以使用pg_mp命令備份資料庫,將備份文件傳輸到本地或其他伺服器。命令示例:pg_mp -h [資料庫地址] -p [資料庫埠] -U [用戶名] -W [密碼] -F c -b -v -f [備份文件名] [資料庫名]。
使用pg_mpall命令備份所有資料庫:在遠程連接到資料庫後,可以使用pg_mpall命令備份所有資料庫,將備份文件傳輸到本地或其他伺服器。命令示例:pg_mpall -h [數據桐指庫地址] -p [資料庫埠] -U [用戶名] -W [密碼] -f [備份文件名]。
使用pgAdmin等GUI工具進行備份:如果可以通過GUI工具遠程連接到資料庫,可以使用工具提供的備份功能進行備份。
無論使用哪種備份方譽碰法,建議在備份之前先確認數據的完整性和一致性,以確保備份慶輪談數據的准確性。另外,備份文件的傳輸也需要注意數據安全性,可以使用加密方式或者傳輸到安全的存儲設備上。
4. 怎麼將資料庫的數據復制到另一個資料庫
第一步:首先,打開並連接Sql
Server,在源資料庫Source_db(源資料庫名稱)上右鍵,然後依次點擊「編寫表腳本為」→「CREATE到」→「新查詢編輯器窗口」。
第二步:在第1步產生的編輯器中按」crtl+a「組合鍵全選內容,然後右鍵「復制「(或按"crtl+c"鍵)。
第三步:新建查詢,然後右鍵」粘貼「(或ctrl+v);如圖所示,將代碼中Source_db(源資料庫名)改為target_db(目標資料庫名)。接著右鍵單擊」執行「執行代碼。
第四步:然後,在目標資料庫的表結構中就可以看到被復制過來的表了。
表的數據內容復制:
第一步:選中目標資料庫target_db,然後點擊」任務「→」導入數據「。
第二步:進入」SQL
Server導入導出向導「,根據提示步驟操作。
第三步:選擇數據源(源資料庫)。
第四步:選擇目標(目標資料庫)、指定表復制或查詢。
第五步:選擇源表和源視圖:設置源表和目標表後,單擊「編輯映射」按鈕,在彈出窗口中選中「啟用標識插入」。(否則後面會出錯)
第六步:一直點擊「下一步」至最後完成操作。
5. 如何在運行 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。
注意:在新伺服器上,包可能無法正常運行。您可能必須對包進行更改,更改包中任