sql数据库架构的问题
由于数据库是直接建立在远程服务器上的,所以数据库架构名是sample。但现在把数据库附加到本地,那么在访问表的时候表明前不加上架构名就访问出错。例如:select*fro...
由于数据库是直接建立在远程服务器上的,所以数据库架构名是sample。但现在把数据库附加到本地,那么在访问表的时候表明前不加上架构名就访问出错。例如:select * from Book//查询会报错,找不到Bookselect * from sample.Book //正确 不知道这种情况如何解决? PS:由于访问程序里面都没加架构名,所以尽量在不改变查询代码的情况下解决这个问题!
展开
3个回答
2013-12-06
展开全部
sample并不是什么架构名,SQL Server也没有这一说。
sample是一个用户名,book这个表属于这个用户而不是默认的dbo用户,当你把数据库附加到本地的时候,并没有把sample这个用户名也加进来,产生孤立用户,所以会这样。
两种解决办法
1。把book表的所有者改为dbo
方法一:右键点击该表-》设计表,在上面的一排小图标中,点最后一个戚蠢帆“条件约束”,点“表”页,在里面更改所有者。高雹(若没有条件约束的小图标,可以点右键,能看到一个“check约束”的选项) 方法二:利用脚本直接执行,用sa登陆到该数据库,然后执行下面语句: sp_configure 'allow updates','1'
go
reconfigure with override
go
update sysobjects set uid=1 where uid<>1
go
sp_configure 'allow updates','0'
go
reconfigure with override
2。新建login,档谈将数据库中指定的 user 链接到 login,用新的login登录就可以直接
select * from Book。
sample是一个用户名,book这个表属于这个用户而不是默认的dbo用户,当你把数据库附加到本地的时候,并没有把sample这个用户名也加进来,产生孤立用户,所以会这样。
两种解决办法
1。把book表的所有者改为dbo
方法一:右键点击该表-》设计表,在上面的一排小图标中,点最后一个戚蠢帆“条件约束”,点“表”页,在里面更改所有者。高雹(若没有条件约束的小图标,可以点右键,能看到一个“check约束”的选项) 方法二:利用脚本直接执行,用sa登陆到该数据库,然后执行下面语句: sp_configure 'allow updates','1'
go
reconfigure with override
go
update sysobjects set uid=1 where uid<>1
go
sp_configure 'allow updates','0'
go
reconfigure with override
2。新建login,档谈将数据库中指定的 user 链接到 login,用新的login登录就可以直接
select * from Book。
2013-12-06
展开全部
如果该用户只是用于以sample为架构的表,含厅最简单的方法是在本数据库中,把该用户的默认架构从dbo改为sample。这样,查询代码闹老改就不需改变了液判。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-06
展开全部
可以直接访问他的数据库,在远程数据库上操作啊.。。如果你本地有数据库备份文件你才能附加吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询