问题描述

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,导致问题出现。SQL
  2. 执行如下命令,修改单个表的schema。
    ALTER SCHEMA dbo TRANSFER test.kkk
  3. 执行如下命令,批量修改表的schema。
    exec sp_msforeachtable 'alter schema dbo transfer ?'

适用于

云数据库RDS SQL Server版