我有兩個SQL Server,我想對其中一臺進行備份,然後在其他服務器上進行恢復。問題在於數據庫已經存在於我正在恢復的服務器上,並且我希望保持安全設置與恢復到的服務器上的方式一致。當我從另一臺服務器恢復數據庫時,如何保持安全設置
另一個問題是我想從PowerShell中完成所有這些工作,所以沒有GUI操作。
或者這可能是問題的錯誤解決方案。是否有另一種方法可以在不進行備份/恢復並保持安全設置的情況下移動數據?
我有兩個SQL Server,我想對其中一臺進行備份,然後在其他服務器上進行恢復。問題在於數據庫已經存在於我正在恢復的服務器上,並且我希望保持安全設置與恢復到的服務器上的方式一致。當我從另一臺服務器恢復數據庫時,如何保持安全設置
另一個問題是我想從PowerShell中完成所有這些工作,所以沒有GUI操作。
或者這可能是問題的錯誤解決方案。是否有另一種方法可以在不進行備份/恢復並保持安全設置的情況下移動數據?
在我的環境中,我們使用Powershell腳本和Red Gate Compare Professional來恢復數據庫並保持安全性和數據庫對象的差異。該過程相當簡單
此解決方案確實需要購買專業版的SQL比較並在開發服務器上安裝該工具,從中可以執行該腳本。所有這些都可以輕鬆地放入SQL Agent作業中。 Powershell的使用真的很基礎,因爲我們只是執行sqlcompare.exe
有an article here解釋如何通過PowerShell通過SMO腳本SQL Server權限。然後,您的方案將在恢復備份之前從您的初始數據庫創建腳本權限,然後在備份恢復後執行生成的腳本。
你是什麼意思的「安全設置」?登錄,用戶,角色,對象權限?你使用的是什麼版本的SQL Server? – Pondlife 2012-03-20 14:42:01
個人在不同服務器上恢復數據庫後,我使用存儲的proc do set安全性。你可以用posh腳本執行存儲後恢復成功 – 2012-03-20 19:27:13
@Pondlife是的。登錄,用戶和角色在兩臺服務器(不同的服務帳戶等)上是不同的。我們在兩臺服務器上都使用Microsoft SQL Server 2008 R2 Enterprise。 – 2012-03-21 08:01:44