问题描述

 RDS SQL Server实例在使用过程中,经常遇到schema为非dbo的情况,导致查询表报错,提示对象名无效。

云数据库RDS SQL Server实例如何修改schema为dbo(图1)

 解决方案

 阿里云提醒您:

 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

 以下操作本文以KKK表为例,现场以实际环境为准。

 执行如下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,导致问题出现。

云数据库RDS SQL Server实例如何修改schema为dbo(图2)

 执行如下命令,修改单个表的schema。

 ALTER SCHEMA dbo TRANSFER test.kkk

 执行如下命令,批量修改表的schema。

 exec sp_msforeachtable 'alter schema dbo transfer ?'

 适用于

 云数据库 RDS SQL Server 版

 如果您的问题仍未解决,您可以免费咨询久云大使,或登陆阿里云官网提交工单联系阿里云技术支持。

 
分享
继续阅读相关文章

发表评论 快来秀出你的观点

评论区暂时关闭,请谅解!
评论 点赞 收藏