sql >> Base de Datos >  >> RDS >> Sqlserver

Cambiar el propietario de una tabla

La forma correcta de hacer esto en SQL Server 2005 y versiones posteriores es dejar de pensar en el prefijo como "propietario". El sp_changeobjectowner procedimiento ha quedado obsoleto desde SQL Server 2005 y, en su lugar, debe usar esquema DDL , por ejemplo:

ALTER SCHEMA dbo TRANSFER [current_owner].tablename;

Para verificar el "propietario" actual (esto puede devolver varias filas si tiene más de un tablename en varios esquemas):

SELECT s.name
  FROM sys.schemas AS s
  INNER JOIN sys.tables AS t
  ON s.[schema_id] = t.[schema_id]
  WHERE t.name = N'tablename';

También asegúrese de escribir el objeto correctamente. En una intercalación que distingue entre mayúsculas y minúsculas, por ejemplo, TABLENAME y tablename no son el mismo objeto, y escribirlo con CASO INCORRECTO también podría generar este error.