sql >> Database teknologi >  >> RDS >> Sqlserver

Ændring af bordejer

Den korrekte måde at gøre dette på i SQL Server 2005 og nyere er at stoppe med at tænke på præfikset som en "ejer". sp_changeobjectowner procedure har været udfaset siden SQL Server 2005, og du bør i stedet bruge skema DDL , f.eks.:

ALTER SCHEMA dbo TRANSFER [current_owner].tablename;

For at kontrollere den aktuelle "ejer" (dette kan returnere flere rækker, hvis du har mere end ét tablename i flere skemaer):

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';

Vær også sikker på, at du staver objektet korrekt. I en sortering, der skelner mellem store og små bogstaver, f.eks. TABLENAME og tablename er ikke det samme objekt, og stave det med InCorrEcT Case kan også føre til denne fejl.



  1. Indsæt forespørgsel for at indsætte rækker i MySQL

  2. Udfør sp_executeSql for select...into #table, men kan ikke udvælge Temp-tabeldata

  3. Mysql arbejder med kommasepareret liste - Junction-tabel

  4. Den nemmeste måde til PHP-e-mailbekræftelseslink