【问题标题】:Rename Object not supported in Azure SQL Data Warehouse?Azure SQL 数据仓库不支持重命名对象?
【发布时间】:2015-11-21 01:49:54
【问题描述】:

[在内部线程上发布来自客户的问题]

我尝试在 SQL DW 中运行以下命令:

RENAME OBJECT dbo.test TO test2
RENAME OBJECT test TO test2

两者都失败并出现以下错误:

No item by the name of '[DemoDB].[dbo].[test]' could be found in the current database 'DemoDB', given that @itemtype was input as '(null)'.

这是一个缺陷还是有我可以使用的解决方法?

【问题讨论】:

    标签: azure azure-sqldw


    【解决方案1】:

    现在支持重命名。为了使用重命名对象,您必须在要更改的表前面加上架构名称,如下所示:

    重命名对象 x.T_New TO T;

    请注意,目标上没有架构限定。这是因为重命名的对象必须继续驻留在同一架构中。要将表从一个模式转移到另一个模式,您需要使用以下命令:

    ALTER SCHEMA dbo 传输对象::x.T_NEW;

    【讨论】:

    • 快速更新 - 此问题的修复将在接下来的 2 周内推出!
    • 快速仅供参考 - 此修复仅支持重命名同一架构中的表。
    【解决方案2】:

    现在支持重命名。为了使用重命名对象,您必须在要更改的表前面加上架构名称,如下所示:

    重命名对象 x.T_New TO T;

    请注意,目标上没有架构限定。这是因为重命名的对象必须继续驻留在同一架构中。要将表从一个模式转移到另一个模式,您需要使用以下命令:

    ALTER SCHEMA dbo 传输对象::x.T_NEW;

    【讨论】:

    • 这是一个重复的答案——可以删除吗?
    【解决方案3】:

    以防其他人正在查看时间。它现在可以在 Azure Synapse Analytics(以前称为 Azure SQL 数据仓库)中使用;你可以去:

    ALTER DATABASE AdventureWorks2012
    MODIFY NAME = Northwind;
    

    【讨论】:

      猜你喜欢
      • 2017-03-19
      • 1970-01-01
      • 2018-09-01
      • 2017-04-21
      • 2011-12-04
      • 2016-06-30
      • 2019-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多