我们让另一位开发人员来完成并为我们完成了一些工作。不幸的是,他在我们的团队中工作不好,管理层让他离开。
由于这个原因,我现在无法调试他的代码并撤消已完成的工作。他没有记录他的代码(他被释放的原因之一),很少注意到任何东西,因此我不知道从哪里开始寻找。
当我在DB中的两个特定表上运行基本SELECT
时:
SELECT * FROM table_name
使用SQL Server Management Studio我得到了这个......
Msg 207, Level 16, State 1, Line 1
Invalid column name 'eventTime'.
有一个eventTime
列,但没有必要,并且没有在任何PHP文件中使用,但是它现在似乎与表直接相关,我不知道在哪里查找它。提供的错误消息指向我的SELECT
语句,但它没有任何问题,甚至也没有引用eventTime
列。
我看过,似乎没有引用此表的任何触发器或存储过程。还有其他方法可以尝试追踪这个吗?
答案 0 :(得分:4)
这听起来像是一个难以解决的问题。以下是一些想法。
我的第一个想法是table_name
是一个视图,并且某种程度上视图与基础表定义不同步。在某些情况下,我看到了类型问题。我想象列名可能会发生同样的情况。
下一个想法是table_name
已经计算了列。在这种情况下,计算列可以使用函数,函数调用可能会生成错误。我想不出用简单的select
运行代码的任何其他方式。
我不认为问题是外键约束,除非。因此,第三个选项是外键约束引用同一数据库中的表但是引用不同的模式。不同的架构可能具有使表无法访问的权限。
对于其中任何一个,在SSMS中编写定义脚本将帮助您解决问题。