Sql Server2000下面没有Schema的概念,只有User和DBOwer;但是自05之后,产生Schema的概念,用处暂时先不说了,直接说问题。
2000的DB迁移到2008R2上面,GSR这个DB下面有个gsr.Table1这张表,原来2000下面有gsr这个Login User,自然就能直接访问Table1,而不用加Schema;
但是08下面,没有设置Default Schema,只能加Schema进行访问。
不过,因为SSIS中本身并没有写Schema,所以想找一个不加Schema却可以访问的办法~~
一般正常情况,是直接在Login User的属性中改就好了,如下图:
但却始终抱15023的错误,说是用户、组、角色‘gsr’已经存在。但是其他的User设置Default Schema都是没有问题的!
后来查看资料(http://mscmd.com/index.php/archives/414)发现,gsr属于孤立用户,必须建立关联
使用如下的语句先把gsr的DB和gsr的schema联系起来,
sp_change_users_login 'update_one', 'gsr', 'gsr'
然后在使用上面图示的方法创建默认Schema即可。