文章主要為大家詳細介紹瞭如何利用SQL Server Management Studio複製資料庫,具有一定的參考價值,感興趣的小夥伴們可以參考一下。
利用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。
以上就是本文的全部內容,希望對大家的學習有所幫助