我拷过来一个程序,还原数据库后,在SQL 2008中,表名如下显示
    hzd.Account,hzd.Usrs....
    而我的数据库中,没有hzd这个用户,我建立的表,都是dbo.Users之类    在运行程序时,提示找不表    我知道肯定是hzd的架构名导致找不到表,改程序是不可能了,如果把hzd去掉(或者改成dbo也行),让不修改程序可能顺利地找到数据库中的表。(最好不要用添加新用户的方法)

解决方案 »

  1.   

    Refer this:
    http://www.cnblogs.com/insus/articles/1433141.html
      

  2.   

    有错误提示
    消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,第 75 行
    对象 '[zt1026].[TE_News]' 不存在或不是此操作的有效对象。
    消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,第 75 行
    对象 '[zt1026].[TE_NewsCategory]' 不存在或不是此操作的有效对象。
    消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,第 75 行
    ......
      

  3.   

    新建登录,名称为:hzd
    使用存储过程sp_change_users_login把SQL登录用户hzd和数据库用户hzd对应起来,
    Use [你的数据库名称] EXEC sp_change_users_login 'Update_One', 'hzd', 'hzd'SQL Server 2000里这么干可以,2008里面没试过!
      

  4.   

    是叫Schema的东西吗?如果是,创建Schema后调用ALTER SCHEMA hzd 
        TRANSFER dbo.Account参考:
    ALTER SCHEMA (Transact-SQL)
    http://msdn.microsoft.com/en-us/library/ms173423.aspx
      

  5.   


    搞定了,更改架构。SQL 2008中,表没有所有者的概念了
      

  6.   

    额。这不是什么架构吧。应该是数据库所有者的问题。直接新建对应名称的用户是没有用的。我之前都是用5楼的方法。不过也只是在SQL2K下试过。