企业管理器其实是一个客户端,主要就是两个功能,一个是管理服务器的,第二个是查询分析器。
2.1、管理服务器
在object explorer这个小的板块里面,可以去连接数据库服务器,一般根据IP地址、用户名、密码去连接,在连接前要确定是以Windows方式还是 Sql Server 方式连接,有可能由于一些原因连接不上,但是当以某种方式连接上以后,就可以根据服务器分配给连接用户的权限来对服务器进行相应的操作。只要权限足够的高,一个用户可以操作目标服务器上面的所有数据库。这个小板块就是为了实现对数据库服务器进行相应的管理,比如方便客户端查看一些信息。
如果连接的是别的机器上的服务器的话,可以根据权限来操作数据库,比如查看数据库信息等等,但是不能去关闭远程的数据库。
如果连接的是本机器上的服务器的话,可以根据权限来操作数据库,最高权限的时候可以去关闭本地数据库.
对于本地的客户端,可以中断与本地和远程的服务器的连接,这个只是中断了连接,对数据库服务器没有任何的影响,数据库服务器仍然在运行状态.
2.2、查询分析器
查询分析器中新建查询的时候,仍然要连接数据库,一般根据IP地址、用户名、密码去连接,在连接前要确定是以windows方式还是Sql Server方式连接,有可能由于一些原因连接不上,但是当以某种方式连接上以后,就可以根据服务器分配给连接用户的权限来对服务器进行相应的操作。比如对某个数据库的某张表进行增删查改等等操作。
2.3、关于windows身份验证和sql server 身份验证
服务器是可以设置登录本服务器的方式的:1、Windows身份验证。2、Windows和Sql Server 混合身份验证。
当以sql server 身份验证登陆服务器的时候,服务器必须先定义一个用户名和密码,这个就是给客户端登陆用的,在Sql Server客户端可以根据这个用户名和密码来登陆,在程序开发中也可以根据这个用户名和密码来登陆这个服务器。在服务器分配这个用户名和密码的时候,是设置了访问权限的,客户端只能根据这个权限来操作数据库,一般为了方便都是直接设置为管理员,权限很高,所以此时用户可以访问任何数据库这个就是权限的问题。
当以Windows身份验证的登陆服务器的时候,Sql Server服务器是不会去验证Sql Server 2005里面设置好的用户名和密码的,它是直接去验证客户端当前登陆Windows操作系统的用户名和密码,看这个用户名和密码是不是当前登陆到服务器端Windows操作系统的用户名和密码,如果是,就是可以登陆的,否则就不能登陆,登陆后具有服务器端的仅次于Windows系统管理员的权限。除了不能关闭服务器等操作外,其他都是可以的。
2.4、关于sql server 的权限问题
(1)、不论是用什么用户登录的,执行创建脚本的时候,如果脚本前面没有指定是哪个用户的脚本,比如dbo.表名,那么默认就创建在了该用户下面的:比如如果是sa登录的,那就创建在dbo下面,如果是普通用户fsqis登录的,那么创建的就在fsqis下面;但是如果指定了是哪个用户下面的对象,比如是dbo下面的,那么即使是用fsqis登录的,还是会创建在dbo下面。
(2)、不论哪个用户登录的数据库,fsqis用户的存储过程在访问表名的时候,如果没有指定是哪个用户的表,那么先在本用户下面找,如果找不到就到dbo下面找,再找不到就会出错。
(3)、不论哪个用户登录的数据库,dbo用户的存储过程在访问表名的时候,如果没有指定是哪个用户的表,那么只会在dbo下面找,如果找不到就会出错。
2.5、小结
1、查询分析器与管理服务器是完全独立的,绝对不会因为管理服务器没有去连接某个服务器,查询分析器就不能对那个数据库进行操作了,因为查询分析器,管理服务器都要去独立的连接某个服务器的。只要服务器是开着的,就没有问题。
2、对于新建查询,当没有连接任何服务器的时候,就要先连接服务器,然后去查询。当已经连接了某个服务器的时候,可以直接去建立一个针对某个数据库的查询。
3、连接服务器可以辅助查询分析器去查询,因为连接了服务器后可以清楚的看到目标数据库的各张表的信息。
4、Sql Server是以服务器为基准的,当客户端连接上某一个服务器后,一般都能操作所有的数据库,这是因为服务器给客户端的用户权限很高,可以自己调整成连接上服务器后,只能访问某一个数据库。
5、当客户端以管理服务器或者查询分析器根据用户名和密码登陆到某个服务器的时候,都只能在服务器给定的用户权限内操作数据库。
2008-06-24