Sql-Server

在同一實例之間複製 Db 權限

  • January 14, 2021

我必須將整個數據庫權限從數據庫 A 複製到數據庫 B,該數據庫在同一實例中的數據庫 B 中具有相同的對象。

我需要將哪些內容從數據庫 A 複製到數據庫 B 以獲得與數據庫 A 中相同的權限。

環境:SQL Server 2012,在同一台伺服器上,登錄名相同。

我使用基於 powershellSync-DbaSqlLoginPermission

此命令將 SQL 登錄權限從一台伺服器同步到另一台伺服器,包括登錄權限、角色、數據庫權限等。預設情況下,所有登錄都是同步的。-Logins 和 -Excludes 參數為命令行完成自動填充,可用於僅同步特定登錄。

如果目標上不存在匹配的登錄名或安全登錄名,則將跳過權限同步。

目前不支持憑據刪除和應用程序角色同步。

或者您可以使用基於 TSQL 的腳本數據庫級別權限 v3

您可以為此使用 SSMS。右鍵點擊數據庫 -> 任務 -> 生成腳本。

生成腳本可以編寫權限腳本,但該方法非常隱藏。

當您進入選擇腳本位置的螢幕時,點擊“高級”按鈕。滾動到那裡,直到看到“腳本對象級權限”選項,並將其設置為“真”。然後,該腳本將包含您編寫的任何內容的權限。

引用自:https://dba.stackexchange.com/questions/148433