1

We are attempting to grant access to a database to one of our employees. We open up his user properties in Security -> Logins, navigate to the User Mappings page, select the database, select db_owner in the options below, set the default schema to dbo, then when we click OK to save the changes, we get the following error:

Create failed for User 'domain\username'. (Microsoft.SqlServer.Smo)
Xml data type is not supported as a parameter to remote calls. (Microsoft SQL Server, Error: 9512)

Any thoughts on why we may be getting this error and what we can do to resolve it?

2

Sounds like you have a DDL trigger that is set to listen for ALTER_LOGIN events, and is trying to pass EVENTDATA() directly to some remote procedure.

Check for this using:

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

It could also be a database-level DDL trigger that listens for 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%';
| improve this answer | |
  • Turns out someone put a change window trigger on there that only allows schema changes to that database after hours. Temporarily disabling that trigger did the trick. Thank you! – smoothgrips May 27 '15 at 17:56
  • 1
    @smoothgrips Glad it helped. They should probably consider changing the trigger so that a more intuitive error is raised (or maybe security through obscurity is the goal). – Aaron Bertrand May 27 '15 at 18:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.