July 12, 2013 at 8:43 am
I have to be missing something as I can't seem to make this happen. I have 2 SQL 2012 boxes linked and have tried dozens of methods to delete a user from a database on the other server with no luck. I've tried various methods of "sys.sp_dropuser" and "Drop User".
Am I missing something?
Charlie
July 12, 2013 at 9:00 am
Charles Deaton (7/12/2013)
I have to be missing something as I can't seem to make this happen. I have 2 SQL 2012 boxes linked and have tried dozens of methods to delete a user from a database on the other server with no luck. I've tried various methods of "sys.sp_dropuser" and "Drop User".Am I missing something?
Charlie
You have to drop the user from the instance where that user belongs. You can't drop remote users, that would be a HUGE security issue.
_______________________________________________________________
Need help? Help us help you.
Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.
Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.
Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/
July 14, 2013 at 3:30 pm
EXEC ('DROP USER thatuser') AT YourServer
[font="Times New Roman"]Erland Sommarskog, SQL Server MVP, www.sommarskog.se[/font]
July 15, 2013 at 6:24 am
That wprk fine for dropping the user from the master database. Is it possible to specify the database I need?
July 15, 2013 at 7:22 am
Erland Sommarskog (7/14/2013)
EXEC ('DROP USER thatuser') AT YourServer
Thanks for the correction. I did not realize you could drop a user remotely like that.
_______________________________________________________________
Need help? Help us help you.
Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.
Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.
Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/
July 15, 2013 at 7:27 am
Charles Deaton (7/15/2013)
That wprk fine for dropping the user from the master database. Is it possible to specify the database I need?
just a a USE DatabaseName to the command, if the linked server didn't define the context for the database name :
EXEC ('Use SandBox; DROP USER thatuser;') AT YourServer
Lowell
July 15, 2013 at 2:47 pm
Very good correct Lowell!
Here's one that is slicker:
EXEC LinkedServer.yourdb.sys.sp_executesql N'DROP USER myuser'
Not the least is this one slick, if any of the items are variable:
DECLARE @sp_executesql nvarchar(1024) =
quotename(@server) + '.' + quotename(@db) + '.sys.sp_executesql'
EXEC @sp_executesql N'DROP USER myuser'
Key here is that EXEC accepts a variable for the procedure name, and a system procedure always executes in the context of the database from which it is invoked.
[font="Times New Roman"]Erland Sommarskog, SQL Server MVP, www.sommarskog.se[/font]
Viewing 7 posts - 1 through 6 (of 6 total)
You must be logged in to reply to this topic. Login to reply