Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net &引用;无效的对象名称";恢复SQL Server 2008数据库后_Asp.net_Sql Server_Sql Server 2008_Exception_Invalid Object Name - Fatal编程技术网

Asp.net &引用;无效的对象名称";恢复SQL Server 2008数据库后

Asp.net &引用;无效的对象名称";恢复SQL Server 2008数据库后,asp.net,sql-server,sql-server-2008,exception,invalid-object-name,Asp.net,Sql Server,Sql Server 2008,Exception,Invalid Object Name,我正在切换我的网络主机并备份我的数据库。由于新主机的一些限制,我无法还原.bak文件,必须发送给他们,以便他们还原它。一旦他们恢复了它,我运行我的应用程序,我得到了这个 System.Data.SqlClient.SqlException:无效的对象名“” 每当我试图从应用程序中查询表时。但是,我可以使用相同的用户名和密码通过ManagementStudio登录并查询表 我正在用SQLServer2008运行一个MVC3站点 有人知道为什么我在尝试运行应用程序时会遇到这些异常吗 编辑: 更多信息

我正在切换我的网络主机并备份我的数据库。由于新主机的一些限制,我无法还原.bak文件,必须发送给他们,以便他们还原它。一旦他们恢复了它,我运行我的应用程序,我得到了这个

System.Data.SqlClient.SqlException:无效的对象名“”

每当我试图从应用程序中查询表时。但是,我可以使用相同的用户名和密码通过ManagementStudio登录并查询表

我正在用SQLServer2008运行一个MVC3站点

有人知道为什么我在尝试运行应用程序时会遇到这些异常吗

编辑:

更多信息:

我在旧数据库中使用的用户名是Kimpo54321,因此我创建的所有表都有类似于Kimpo54321的前缀。因此,我尝试将其添加到我的web应用程序的第一个查询中,使其成为来自Kimpo54321的
SELECT*。
,并且查询毫无例外地通过

现在,我不必在我的应用程序的前面为每个表名加上前缀,我也不想将它应用于所有查询。有办法解决这个问题吗

编辑:

我运行此命令以获得每个表的alter schema行,并将所有内容更改为
dbo
,它最终可以工作。thnx aaron为我指出了正确的方向找到了答案

SELECT 'ALTER SCHEMA dbo TRANSFER ' + s.Name + '.' + o.Name 
    FROM sys.Objects o 
    INNER JOIN sys.Schemas s on o.schema_id = s.schema_id 
    WHERE s.Name = 'yourschema'
    And (o.Type = 'U' Or o.Type = 'P' Or o.Type = 'V')

这可能是一个需要将Web应用程序的用户重新添加到还原数据库中的问题。将数据库还原到其他sql server上时,某些用户不保留其权限。

是否引用架构(例如dbo.table vs.table)?新主机上的用户可能与旧主机上的用户具有不同的默认架构。您是如何“查询表格”的?右键单击并选择其中一个选项,还是使用应用程序发出的完全相同的查询?

Ah yes在发布您的答案时正在编辑我的问题。现在一切都开始有意义了,我在ManagementStudio select top 1000中右键单击了一个表,事实上,它在表名前面加了旧模式(kimpo54321)。我尝试在ManagementStudio菜单树中的Logins文件夹中单击,并尝试在用户映射中添加kimpo54321模式。我收到一条错误消息“cannotalteruserdbo”,当我尝试添加这两个模式时,什么也没有发生,默认模式仍然是dbo。如何改变这一点?