我拷过来一个程序,还原数据库后,在SQL 2008中,表名如下显示
hzd.Account,hzd.Usrs....
而我的数据库中,没有hzd这个用户,我建立的表,都是dbo.Users之类 在运行程序时,提示找不表 我知道肯定是hzd的架构名导致找不到表,改程序是不可能了,如果把hzd去掉(或者改成dbo也行),让不修改程序可能顺利地找到数据库中的表。(最好不要用添加新用户的方法)
hzd.Account,hzd.Usrs....
而我的数据库中,没有hzd这个用户,我建立的表,都是dbo.Users之类 在运行程序时,提示找不表 我知道肯定是hzd的架构名导致找不到表,改程序是不可能了,如果把hzd去掉(或者改成dbo也行),让不修改程序可能顺利地找到数据库中的表。(最好不要用添加新用户的方法)
http://www.cnblogs.com/insus/articles/1433141.html
消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,第 75 行
对象 '[zt1026].[TE_News]' 不存在或不是此操作的有效对象。
消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,第 75 行
对象 '[zt1026].[TE_NewsCategory]' 不存在或不是此操作的有效对象。
消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,第 75 行
......
使用存储过程sp_change_users_login把SQL登录用户hzd和数据库用户hzd对应起来,
Use [你的数据库名称] EXEC sp_change_users_login 'Update_One', 'hzd', 'hzd'SQL Server 2000里这么干可以,2008里面没试过!
TRANSFER dbo.Account参考:
ALTER SCHEMA (Transact-SQL)
http://msdn.microsoft.com/en-us/library/ms173423.aspx
搞定了,更改架构。SQL 2008中,表没有所有者的概念了