SQL Server 7.0資料庫的六種資料移動方法 (轉)
SQL Server 7.0資料庫的六種資料移動方法 (轉)[@more@] Server 7.0的六種資料移動方法 轉自:世紀易網 年3月3日20:6 本人從事的工作是資料庫管理員,要維護多臺中的資料庫,經常把某臺伺服器中的某個資料庫移動到另外一臺伺服器,對資料的移動有些心得體會,希望和大家共同交流。
1. 透過工具DTS的設計器進行匯入或匯出
DTS的設計器功能強大,支援多工,也是視覺化介面,容易操作,但知道的人一般不多,如果只是進行SQL Server資料庫中部分表的移動,用這種方法最好,當然,也可以進行全部表的移動。在SQL Server Enterprise Manager中,展開伺服器左邊的+,選擇資料庫,右擊,選擇All tasks/Import Data...(或All tasks/Export Data...),進入嚮導,按提示一步一步走就行了,裡面分得很細,可以靈活的在不同資料來源之間複製資料,很方便的。而且可以另存成DTS包,如果以後還有相同的複製任務,直接執行DTS包就行,省時省力。也可以直接開啟DTS設計器,方法是展開伺服器名稱下面的Data Tranormation 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_ @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資料庫自動新增,但是原來的日誌檔案中記錄的資料就丟失了。
5. 在應用中定製
可以在應用程式(PB、VB)中自己編寫的程式,也可以在Query Analyzer中執行,這種方法比較靈活,其實是利用一個平臺連線到資料庫,在平臺中用的主要時SQL語句,這種方法對資料庫的影響小,但是如果用到連結伺服器,要求之間的傳輸效能好,一般有兩種語句:
1> ... 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使用的 NT帳號不能是一個本地的帳號,因為本地的系統帳號不允許網路存取。
6>如果參與複製的伺服器在另外的計算機域中,必須在這些域之間建立信任關係。
1. 透過工具DTS的設計器進行匯入或匯出
DTS的設計器功能強大,支援多工,也是視覺化介面,容易操作,但知道的人一般不多,如果只是進行SQL Server資料庫中部分表的移動,用這種方法最好,當然,也可以進行全部表的移動。在SQL Server Enterprise Manager中,展開伺服器左邊的+,選擇資料庫,右擊,選擇All tasks/Import Data...(或All tasks/Export Data...),進入嚮導,按提示一步一步走就行了,裡面分得很細,可以靈活的在不同資料來源之間複製資料,很方便的。而且可以另存成DTS包,如果以後還有相同的複製任務,直接執行DTS包就行,省時省力。也可以直接開啟DTS設計器,方法是展開伺服器名稱下面的Data Tranormation 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_ @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資料庫自動新增,但是原來的日誌檔案中記錄的資料就丟失了。
5. 在應用中定製
可以在應用程式(PB、VB)中自己編寫的程式,也可以在Query Analyzer中執行,這種方法比較靈活,其實是利用一個平臺連線到資料庫,在平臺中用的主要時SQL語句,這種方法對資料庫的影響小,但是如果用到連結伺服器,要求之間的傳輸效能好,一般有兩種語句:
1> ... 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使用的 NT帳號不能是一個本地的帳號,因為本地的系統帳號不允許網路存取。
6>如果參與複製的伺服器在另外的計算機域中,必須在這些域之間建立信任關係。
(編輯:weimin
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993536/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server中六種資料移動的方法(轉)SQLServer
- 深入剖析SQL Server的六種資料移動方法SQLServer
- SQL Server 移動資料庫SQLServer資料庫
- ASP建立SQL Server資料庫的兩種方法SQLServer資料庫
- SQL Server資料庫遷移SQLServer資料庫
- 五十種巧妙優化SQL Server資料庫的方法優化SQLServer資料庫
- 四種方法在SQL Server資料庫中成批匯入資料SQLServer資料庫
- 50種方法巧妙優化你的SQL Server資料庫優化SQLServer資料庫
- 移動sql server 2008 master 資料庫SQLServerAST資料庫
- 高效資料移動指南 | 如何快速實現資料庫 SQL Server 到 Dameng 的資料同步?資料庫SQLServer
- 50種方法最佳化SQL Server資料庫查詢SQLServer資料庫
- (轉)檢視sql server 資料庫連線數方法SQLServer資料庫
- SQL SERVER 資料庫遷移孤立使用者的解決方法SQLServer資料庫
- 複製的SQL Server 7資料庫的恢復方法 (轉)SQLServer資料庫
- MS SQL Server 資料庫備份方法SQLServer資料庫
- SQL Server置疑資料庫解決方法SQLServer資料庫
- 移至64位SQL Server資料庫(轉)SQLServer資料庫
- SQL Server資料庫基礎之行資料轉換為列資料SQLServer資料庫
- 談談資料從sql server資料庫匯入mysql資料庫的體驗(轉)Server資料庫MySql
- SQL Server資料庫的簡單實現方法SQLServer資料庫
- SQL Server資料庫安全SQLServer資料庫
- SQL Server 資料庫映象SQLServer資料庫
- SQL Server 資料庫索引SQLServer資料庫索引
- 資料庫映象 (SQL Server)資料庫SQLServer
- SQL SERVER資料庫口令的脆弱性(轉)SQLServer資料庫
- SQL Server資料庫內容替換方法SQLServer資料庫
- 附加和分離SQL Server資料庫方法SQLServer資料庫
- 細說SQL Server資料庫備份方法SQLServer資料庫
- 優化SQL Server資料庫查詢方法優化SQLServer資料庫
- SQL SERVER 2012資料庫自動備份的方法SQLServer資料庫
- SQL SERVER收集資料庫使用增量資料SQLServer資料庫
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- 轉發:C#操作SQL Server資料庫C#SQLServer資料庫
- Sql Server資料庫資料匯入到SQLite資料庫中Server資料庫SQLite
- Sql Server 資料庫學習-常用資料庫 物件SQLServer資料庫物件
- SQL Server資料庫日誌清除的兩個方法SQLServer資料庫
- 小麥苗資料庫巡檢指令碼V7.0,支援Oracle、MySQL、SQL Server和PG資料庫資料庫指令碼OracleMySqlServer
- SQL Server 資料庫最小當機遷移方案GESQLServer資料庫