Wechseln des Tableowners bei MS SQL-​Server

Erstellt: 07.05.2007, Änderung: 07.05.2007
Mehr ansehen

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