Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thay đổi chủ sở hữu bảng

Cách chính xác để thực hiện việc này trong SQL Server 2005 trở lên là ngừng nghĩ về tiền tố với tư cách là "chủ sở hữu". sp_changeobjectowner thủ tục đã không được dùng nữa kể từ SQL Server 2005 và thay vào đó bạn nên sử dụng giản đồ DDL , ví dụ:

ALTER SCHEMA dbo TRANSFER [current_owner].tablename;

Để kiểm tra "chủ sở hữu" hiện tại (điều này có thể trả về nhiều hàng nếu bạn có nhiều hơn một tablename trong nhiều lược đồ):

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

Ngoài ra, hãy chắc chắn rằng bạn đánh vần đối tượng một cách chính xác. Trong đối chiếu phân biệt chữ hoa chữ thường, ví dụ:TABLENAMEtablename không phải là cùng một đối tượng và việc đánh vần nó bằng InCorrEcT CaSe cũng có thể dẫn đến lỗi này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql chọn nhóm theo và nối chuỗi

  2. Có thể khôi phục bản sao lưu Sql Server 2008 trong sql server 2005 không

  3. Cách tốt hơn để kiểm tra xem dữ liệu đã tồn tại hay chưa và chèn

  4. Khám phá các thao tác lập chỉ mục trực tuyến cấp độ phân vùng trong SQL Server 2014 CTP1

  5. Cách đặt tùy chọn maxrecursion cho một CTE bên trong một Table-Valued-Function