SQL Server 2008 Default Schema

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的属性中改就好了,如下图:

SQL Server 2008 Default Schema_第1张图片

但却始终抱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即可。

你可能感兴趣的:(sql,server,2008)