前言:此篇讲解在Win32系统下SQLServer创建数据库和用户(建立测试环境必需),顺带讲下用户和登录名的区别,不对之处,欢迎拍砖。
一、创建数据库:
(1)SQLServer安装过程中有一个需要注意的地方,设置各个系统的账户和密码,见下图:
图1 设置所有的账户和密码
其他的没什么需要留意的了,只需按照提示一步步走完就算安装成功了。
(2)SQLServer安装完成后,在“开始”--“程序”--“SQLServer”--“SQLServer Management Studio”中打开SQLServer的管理页面,系统会弹出连接DB的对话框,选择对应数据库引擎、服务器名称、连接方式和对应的用户名和密码(有个默认的sa用户,初始密码为空,登陆成功后可以修改)。
图2 SQLServer登陆页面
(3)连接成功后可以查看当前连接的对象资源管理器,此时系统中的数据库只有系统默认的,我们测试时候需要新建对应的数据库,一方面是为了不影响系统数据库的结构,另一方面测试也需要一个纯净的环境。
(4)右键数据库,选择新建数据库,输入数据库名称,此时可以选择该数据库的Owner(系统当前存在的登录名),如果不选择,系统默认将Owner设定为当前登录的登录名。设置该DB的数据库文件,初始大小,自增等变量,以及对应的存放位置,此处和create database Database_Name On primary(...) Log On(...)这种语法是一致的,需要指定的话填写对应的内容,不需要的话系统会保持默认。
(5)接下来是创建用户,展开该DB,在“安全性”栏中右键“用户”,输入对应的用户名,并选择映射的登录名,选择对应的架构和角色成员(个人觉得ddladmin一般情况下就可以了,害怕权限小了影响使用可以选择owner,每个角色对应的权限帮助文档中有详细的说明),至于用户名和登录名之间的映射关系放在下一段中讲。
(6)用户建立完成后可以使用测试工具或写代码测试连接,user/password是登陆名。登录名的CRUD在对象资源管理器的“安全性”的“登录名”下,创建的时候选择映射的用户(第三栏)和选择默认的DB。不选择系统将默认处理。(SQLServer默认端口号是1433,占用了可以用命令netstat -a -o -n查看)。
图3 测试SQLServer连接
二、登录名和用户名:
(1)登录名顾名思义是用来登录SQLServer系统的,用户名是数据库的user,在SQLServer中,两者之间是一种多对多的映射关系。
(2)需要使用系统的时候,登录名是必须的,没有登录名就无法使用SQLServer系统,但是登陆成功后你能够有多少权限使用某个数据库,取决于该登录名映射的用户名的权限。一个登录名可以映射不同数据库的多个用户,同理一个用户也可以映射多个登录名,但是在同一个数据库中,一个登录名只能有一个用户与之映射。
(3)在创建数据库时,如果不指定owner,系统会把当前登录名设置成该DB的owner,那么当前的登录名就会映射到该DB创建时默认的用户dbo上,其他的登录名在未手动设置关联用户时关联该DB中默认guest用户。owner可以使用该DB的任何功能。guest用户的权限则小的多。
暂时先总结这么多,基本的测试环境搭建,SQLServer功能很强大,算是入门级的,希望对大家有帮助。