迁移数据库和移动服务后,移动服务仍在使用旧架构

时间:2015-01-29 07:22:52

标签: azure migration database-migration azure-mobile-services

我需要将azure项目移动到新帐户。我的azure项目包括一个SQL数据库和一个连接到该数据库的移动服务。

我通过将数据库备份到.bacpac文件并将其导入新的Azure帐户来移动数据库。我手动重新创建了移动服务。由于移动服务需要不同的名称,因此我通过运行:

更改了导入表的架构
ALTER SCHEMA [NewSchema]
    TRANSFER [OldSchema].[TableName]

迁移后,SELECT正常运行。在azure门户网站中,我可以看到所有表都有行,移动服务可以从数据库中读取。但是问题出在插入和服务的自定义API中。

那些似乎仍然适用于旧模式:

Insert: Error: [Microsoft][SQL Server Native Client 10.0][SQL Server]Invalid object name '[OldSchema].[TableName]'. (SqlState: 42S02, Code: 208)
CustomAPI: Error: [Microsoft][SQL Server Native Client 10.0][SQL Server]Invalid object name '[OldSchema].[TableName]'.

我无法在任何地方找到旧架构的引用。不在代码库中,不在数据库中。

我甚至去了并执行了

SELECT * FROM sys.database_principals

alter user <userName> WITH DEFAULT_SCHEMA = [NewSchema]

适用于所有用户。

我没有想法。我缺少什么,它在哪里引用旧架构?

感谢您的帮助!

编辑:我刚刚尝试在我尝试执行的自定义API中打印SELECT SCHEMA_NAME()。它打印正确的新架构名称。当我打印SELECT CURRENT_USER时,打印正确的用户,并使用正确的默认架构。我现在比以前更加困惑。

1 个答案:

答案 0 :(得分:1)

您可以查看数据库触发器吗?在Insert / Update / Delete上运行的触发器可能仍然引用了您的旧架构。