将nvarchar值''转换为数据类型int时转换失败

时间:2011-05-20 12:27:14

标签: sql sql-server-2005

虽然这可能听起来像初学者101的问题,但我觉得它有点复杂。

我有两个SQL服务器实例,一个是用于报告目的的主数据库的日志传送的只读备用副本。

它们都是64位SQL 2005,SP3。

LogShipped实例是:9.00.4035.00(标准版) 原始实例是:主动/被动群集中的9.00.4035.00(企业版)。

服务器排序规则是Latin1_General_CI_AI,它们都运行在Server 2003 64位上。

我有一个在master数据库服务器上运行并执行正常的查询,但是在将nvarchar转换为int的备用/只读副本上失败。

代码是相同的,我已经从主实例查询窗口复制并粘贴它,只是为了仔细检查。

SQL server中是否有错误?如果需要,我可以粘贴查询(它是带有一些内嵌表的沼泽标准选择)

只是不明白为什么它可以在日志传送的副本失败的情况下工作。

非常感谢任何指针。

- 编辑

我找到了罪魁祸首..事务日志数据库包含不在主数据库中的无效数据..为什么他们不在sych我不知道因为事务日志传送仍在工作,我有工作历史中没有错误。

只有少数无效的孤立记录不在主数据库中..多么奇怪

2 个答案:

答案 0 :(得分:0)

确定数据是否相同?

如果您尝试

select convert(int, char(10))

它可能会出现类似的错误,因此如果您要转换的值为char(10),则查询将失败,这在查看数据时可能不明显。

答案 1 :(得分:0)

根据您的表

检查任何触发器是否正在更新任何视图(具有特定列的int)