Sql-Server-2012

修改使用者登錄時 SQL Server 2012 錯誤 9512

  • January 15, 2018

我們正在嘗試向我們的一名員工授予對數據庫的訪問權限。我們在 Security -> Logins 中打開他的使用者屬性,導航到User Mappings頁面,選擇數據庫,db_owner在下面的選項中選擇,將預設架構設置為dbo,然後當我們點擊OK保存更改時,會出現以下錯誤:

為使用者“域\使用者名”創建失敗。(Microsoft.SqlServer.Smo)

不支持將 Xml 數據類型作為遠端呼叫的參數。(Microsoft SQL Server,錯誤:9512)

關於為什麼我們可能會收到此錯誤以及我們可以做些什麼來解決它的任何想法?

聽起來您有一個設置為偵聽ALTER_LOGIN事件的 DDL 觸發器,並試圖EVENTDATA()直接傳遞給某個遠端過程。

使用以下方法檢查:

USE master;
GO
SELECT OBJECT_DEFINITION([object_id]) 
 FROM sys.server_triggers
 WHERE OBJECT_DEFINITION([object_id]) LIKE N'%ALTER[_]LOGIN%';

它也可以是一個數據庫級 DDL 觸發器,用於偵聽ALTER_USER

USE the_relevant_database;
GO
SELECT OBJECT_DEFINITION([object_id]) 
 FROM sys.triggers
 WHERE parent_class = 0
 AND OBJECT_DEFINITION([object_id]) LIKE N'%ALTER[_]USER%';

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