Wechseln des Tableowners bei MS SQL-Server

Es kann vorkommen, dass eine Vertec Datenbank auf MS SQL Server den falschen Tableowner hat.

Wenn z.B. der User dbo (=login sa) der Besitzer der Tabellen ist, dann funktionert der Vertec Convert nicht.

Hier ist ein Script, welches das Wechseln des Tableowners ermöglicht:


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

SELECT

  @old = 'alter Tableowner_Aendern'

  , @new = 'vertecuser'

  , @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




07.05.2007 | 07.05.2007