Hello, I need to add one user to different 30 databases on the same
instance.Is there any way to do it in less time then to add it manually one by one. there is some command "force all users"...ect,can you please let me know the exact command if you are aware. thank you rgds,
Using SSMS you can quickly check all the tick-boxes for the databases that the login requires. This is on the "Login Properties" page, "User Mapping" section. Does this give you what you need or do you need to set more specifics about the users?
Something like this may also work for you (try it out, it will print the commands that would be run): DECLARE @DBName varchar(255), @User varchar(255), @sql varchar(8000) SET @User = 'MyTestUser' DECLARE DBUSer CURSOR FAST_FORWARD READ_ONLY FOR select name from sys.databases where state=0 --online and database_id>4 -- not systemdatabase OPEN DBUser FETCH NEXT FROM DBUser INTO @DBName WHILE @@FETCH_STATUS = 0 BEGIN SET @sql = 'USE '+@DBName +' GO '+'CREATE USER '+ QUOTENAME(@User) + ' FOR LOGIN ' + QUOTENAME(@User) + ' GO' PRINT @sql -- EXEC @sql FETCH NEXT FROM DBUser INTO @DBName END CLOSE DBUser DEALLOCATE DBUser If this fits, you can uncomment the `EXEC` line and it will work. I'm going on the assumption you want the user to be called the same as the login.