Sql-Server
在同一實例之間複製 Db 權限
我必須將整個數據庫權限從數據庫 A 複製到數據庫 B,該數據庫在同一實例中的數據庫 B 中具有相同的對象。
我需要將哪些內容從數據庫 A 複製到數據庫 B 以獲得與數據庫 A 中相同的權限。
環境:SQL Server 2012,在同一台伺服器上,登錄名相同。
我使用基於 powershell
Sync-DbaSqlLoginPermission
此命令將 SQL 登錄權限從一台伺服器同步到另一台伺服器,包括登錄權限、角色、數據庫權限等。預設情況下,所有登錄都是同步的。-Logins 和 -Excludes 參數為命令行完成自動填充,可用於僅同步特定登錄。
如果目標上不存在匹配的登錄名或安全登錄名,則將跳過權限同步。
目前不支持憑據刪除和應用程序角色同步。
或者您可以使用基於 TSQL 的腳本數據庫級別權限 v3
您可以為此使用 SSMS。右鍵點擊數據庫 -> 任務 -> 生成腳本。
生成腳本可以編寫權限腳本,但該方法非常隱藏。
當您進入選擇腳本位置的螢幕時,點擊“高級”按鈕。滾動到那裡,直到看到“腳本對象級權限”選項,並將其設置為“真”。然後,該腳本將包含您編寫的任何內容的權限。