RDS SQL Server中如何将表的Schema修改为dbo

问题描述

在使用RDS SQL Server实例时,可能会遇到表的schema不是dbo的情况,导致查询时提示“对象名无效”的错误。报错信息

解决方案

以下操作以KKK表为例,具体环境请根据实际情况调整。

  1. 执行如下SQL语句,查看该表的相关信息。

    SELECT *
    FROM KKK
    SELECT a.name schemaName,
       b.name tableName,
       b.type_desc
    FROM sys.schemas a,
      sys.tables b
    WHERE a.schema_id = b.schema_id

    查询结果中可以看到表所属的schema不是dbo,则需要进行修改。

    image

  2. 修改单个表的schema,SQL命令如下:

    ALTER SCHEMA dbo TRANSFER test.KKK;
  3. 批量修改表的schema,SQL命令如下:

    EXEC sp_msforeachtable 'ALTER SCHEMA dbo TRANSFER ?';

适用于

云数据库RDS SQL Server