利用SQL Server Management Studio(SSMS)複製資料庫

小白5173發表於2019-01-23

  文章主要為大家詳細介紹瞭如何利用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。

  以上就是本文的全部內容,希望對大家的學習有所幫助

相關文章