恢复SQL Server 2008数据库后,“无效的对象名称”

Kim*_*mpo 2 sql-server asp.net exception sql-server-2008 invalid-object-name

我要切换虚拟主机并备份数据库。由于新主机的某些限制,我无法还原.bak文件,只能发送给他们,以便他们还原。一旦他们恢复了它,我就运行了我的应用程序

System.Data.SqlClient.SqlException: Invalid object name "<table name>"

每当我尝试从应用程序查询表时。但是,使用相同的用户名和密码通过Management Studio登录并查询表没有问题。

我正在使用SQL Server 2008运行MVC 3站点

有谁知道为什么在尝试运行我的应用程序时为什么会出现这些异常?

编辑:

更多信息:

我在旧数据库中使用的用户名是Kimpo54321,因此我创建的所有表都带有这样的前缀Kimpo54321。因此,我尝试将其添加到我的Web应用程序中的第一个查询中,这样就可以SELECT * FROM Kimpo54321.<tablename>使查询毫无例外地通过。

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

编辑:

我运行此命令是为了为每个表获取一条更改模式行,并将所有内容更改为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')
Run Code Online (Sandbox Code Playgroud)

Aar*_*and 5

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