SQL Server 错误 '80040e37' 对象名 '出错的对象名' 无效。
SQL数据库从一个服务器移到另一个服务器后,通过附加或恢复备份导入,发现一直会出现一个错误:
Microsoft OLE DB Provider for SQL Server 错误 '80040e37'
对象名 '出错的对象名' 无效。
先查看了一下数据库表,确实有这个表存在,而且程序中调用语句也没错.
重写了一下代码,结果还是一样.
怀疑不是程序的问题,于是看其它页面,发现所有的页面都有类似的问题,只要有调用到数据库的地方,都会出现错误.如果在查询中加上数据库名可以正常,但不能把所有页面都修改呀,必须找到真正原因。
判断是数据库出现了问题.数据库链接没错.
导入也没错.
最后找到如下方法解决:
原因是必须把所有以前的所有者改为DBO就不会出问题了。
执行下面语句,更改所有表的所有者为DBO
exec sp_msforeachtable "sp_changeobjectowner '?','dbo'"