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 7 (of 7 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy