in order to change the table names to the target system sid
after performing a restore of database from another system will the following code work
--
-- Before running this script, replace the following[Br type="_moz" />
-- @NAME@ - your new <SID> in lowercase (prd for example).[Br type="_moz" />
-- @PASSWORD@ - a password for your @NAME@ sid login which will be created[Br type="_moz" />
-- @DB_SID@ - your new <SID> in uppercase (same as the db name)
-- @HOSTNAME@ - your computer host name
-- @PASSWORD1@ - password of local user SAPMssXPUser
-- @SIDADM@ - DOMAINsidadm, the r3 system administrator OS login. PRODprdadm for example
-- NOTE: The case is important. Should be all lowercase.
-- @SAPSERVICE@ - DOMAINSAPServiceSID, the r3 service OS login. PRODSAPServicePRD for example
-- NOTE: Case is also important here, and it should be exactly as shown above.
-- [Br type="_moz" />
use master[Br type="_moz" />
EXEC sp_addlogin '@NAME@', '@PASSWORD@', @DB_SID@[Br type="_moz" />
go
use @DB_SID@
EXEC sp_change_users_login 'Update_One','@NAME@','@NAME@'
EXEC sp_grantdbaccess '@NAME@'
EXEC sp_addrolemember 'db_owner', '@NAME@'
go
use master
EXEC sp_grantdbaccess '@NAME@'
EXEC sp_addrolemember 'db_owner', '@NAME@'
go
use msdb
EXEC sp_grantdbaccess '@NAME@'
EXEC sp_addrolemember 'db_owner', '@NAME@'
go
use model
EXEC sp_grantdbaccess '@NAME@'
EXEC sp_addrolemember 'db_owner', '@NAME@'
go
use tempdb
EXEC sp_grantdbaccess '@NAME@'
EXEC sp_addrolemember 'db_owner', '@NAME@'
go
use master
grant all on xp_cmdshell to @NAME@
go
EXEC sp_addsrvrolemember '@NAME@', 'serveradmin'
EXEC sp_addsrvrolemember '@NAME@', 'dbcreator'
EXEC sp_addsrvrolemember '@NAME@', 'bulkadmin'
go
EXEC xp_sqlagent_proxy_account 'SET', '@HOSTNAME@', 'SAPMssXPUser', N'@PASSWORD1@'
go
EXEC sp_grantlogin '@SIDADM@'
EXEC sp_grantlogin '@SAPSERVICE@'
EXEC sp_defaultdb '@SIDADM@','@DB_SID@'
EXEC sp_defaultdb '@SAPSERVICE@','@DB_SID@'
go
EXEC sp_addsrvrolemember '@SIDADM@', 'sysadmin'
EXEC sp_addsrvrolemember '@SAPSERVICE@', 'sysadmin'
go
Software/Hardware used:
sql server, ecc6
ASKED:
March 28, 2012 12:16 AM
UPDATED:
March 28, 2012 12:21 PM