利用SQL Server Management Studio(SSMS)復制數據庫,供大家參考,具體內容如下
前言
今天由于客戶購買的軟件版本確認了,而之前進行開發的本地數據庫版本較低,打算復制一份開發數據庫,升級為客戶軟件版本的數據庫再進行后續開發。以前做這種事情一般都是在不同的數據庫實例上進行,一直都是使用備份——恢復的方法,今天這次是在同一個實例上,我就在想強大的SSMS有沒有向導式的復制數據庫方法呢?
看似美好的開始
找到復制數據庫的過程很簡單,在SSMS上右擊數據庫就能在任務里找到復制數據庫的選項,點開進入了非常友好的圖形化操作界面。
依次選擇源數據庫服務器與目標數據庫服務器,和SSMS的任務差不多,看來跨服務器復制數據庫也并不復雜,點擊下一步,提示
行,那就去SQL Server配置管理器(SQL Server Configuration Manager)打開SQL Server代理(也可以在系統服務中打開)。打開之后可以正常進入下一步了,注意有警告,由于是警告且是開發環境,先試試忽略警告看能不能行。
選擇目標數據庫的名稱與實體位置,然后接下來就是一路下一步(中間可以選擇輸出到Windows日志,我試過不選的時候可以在SQL Server日志看到結果,選了之后就只能在Windows日志中看了)
果不其然的失敗,并無波折的成功
果不其然,失敗了,回去看忽略的警告
“若要使用分離和附加方法,運行SQL Server代理作業時所使用的Integration Services代理賬戶必須可以訪問源服務器和目標服務器的文件系統”
OK,觀察一下SQL Server代理的用戶(在SQL Server配置管理器可以看到,同樣可以在系統服務中查到)是NT SERVICE/SQLSERVERAGENT。
在SSMS的安全性——用戶名中可以找到該用戶,點開用戶屬性,發現只有sysadmin和public角色,沒有diskadmin角色
本來勾上diskadmin角色,應該就可以了,但是由于我對SQL Server代理了解不深,既然安裝默認沒有選那就保持原樣吧,而數據庫復制也不常用,我把Server代理的用戶暫時改成本地用戶重新執行復制。
OK,復制成功。重新再把SQL Server代理的用戶改回NT SERVICE/SQLSERVERAGENT。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答