Useful MSSQL Scripts

I use these SQL scripts quite a bit - they work on Microsoft SQL2000.

These are mostly to modify users/owners - usually when moving databases from one box to another.  Open up the Query Manager - paste these in (make sure you have the correct database selected and run them.

This will change the owner on all tables back to the dbo:


DECLARE @old sysname, @new sysname, @sql varchar(1000)

SELECT
  @old = 'username you want to remap'
  , @new = 'dbo'
  , @sql = '
  IF EXISTS (SELECT NULL FROM INFORMATION_SCHEMA.TABLES
  WHERE
      QUOTENAME(TABLE_SCHEMA)+''.''+QUOTENAME(TABLE_NAME) = ''?''
      AND TABLE_SCHEMA = ''' + @old + '''
  )
  EXECUTE sp_changeobjectowner ''?'', ''' + @new + ''''

EXECUTE sp_MSforeachtable @sql

Occasionally you will restore a database where the users may not be in sync between SQL Server and the database...  Say you restore a database on your local development machine - the database has a user "Joe Smith" but there is no such user on your local machine. If you try to create that user and grant it permission to the database that already has a user by that name - SQL Server will throw an error.  Run the following to find these 'orphaned' users - and re-sync them.

To get list of users:


SP_CHANGE_USERS_LOGIN REPORT


To sync users:


SP_CHANGE_USERS_LOGIN 'Update_One', 'joesmith','joesmith'







Comments
Thanx for the script :) was really usefull
# Posted By Dario Leanza | 3/5/08 4:46 AM
BlogCFC was created by Raymond Camden. This blog is running version 5.9.002. Contact Blog Owner