SQL Server 2012 のマスター データ サービスを調査および実験していました。属性 (列) で読み取り専用機能を使用できることがわかりました。列を読み取り専用としてマークしましたが、機能しました。ただし、すべての管理者権限を失いました。モデルを探索することはできますが、他には何もできません。
モデルが権限ビューとシステム管理ビューの両方にリストされていない場合に、MDS の管理者権限を取り戻す方法。データベース自体に対する管理者権限がまだあります。
SQL Server 2012 のマスター データ サービスを調査および実験していました。属性 (列) で読み取り専用機能を使用できることがわかりました。列を読み取り専用としてマークしましたが、機能しました。ただし、すべての管理者権限を失いました。モデルを探索することはできますが、他には何もできません。
モデルが権限ビューとシステム管理ビューの両方にリストされていない場合に、MDS の管理者権限を取り戻す方法。データベース自体に対する管理者権限がまだあります。
モデルの Code 属性のアクセス許可を read_only に設定すると、モデルがアクセス許可とシステム ビューから「消える」ことがあります。
基礎となるデータベースにまだアクセスできる場合は、データベース レベルで直接メンバーのアクセス許可を更新できます。
問題のメンバーのテーブル tblSecurityRoleAccessMember および/または tblSecurityRoleAccess の特権 ID を更新する必要があります。
変更をすぐに有効にする必要がある場合は、次の SP を実行する必要があります。
USE [database];
GO
DECLARE @Model_ID INT;
SELECT @Model_ID = ID FROM mdm.tblModel WHERE [Name] = N'Model_Name';
EXEC [mdm].[udpSecurityMemberProcessRebuildModel]
@Model_ID=@Model_ID, @ProcessNow=1;
GO
セキュリティ テーブルの設定に関する詳細は、次の記事で説明されています。