关于 SQL Server 2000 身份验证与安全控制
关于 SQL Server 2000 身份验证与安全控制
设置 SQL Server 2000 身份验证模式
SQL Server 2000 身份验证模式可以在安装过程中指定或使用 SQL Server 企业管理器指定,如下图。
也可以通过修改注册表的方式来改变,如下图,它保存在
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer 节的 LoginMode 中。
LoginMode的键值:1 表示Windows 身份验证模式,2 表示混合模式。
注:改变模式后,必须重新启动 SQL Server 2000 才会生效。
SQL Server 2000 联机丛书: |
若要连接到 Microsoft© SQL Server™ 2000 实例,只需给应用程序提供下面中的两条信息:
在登录属性中,有一个是默认数据库。当一个登录连接到 SQL Server 时,这个默认数据库就变成该连接的当前数据库,除非该连接请求指定另一个数据库作为当前数据库。 登录 ID 仅能使您连接到 SQL Server 实例。特定数据库内的权限由用户帐户控制。数据库管理员将您的登录帐户映射到您有权访问的任何数据库中的用户帐户。 |
Windows 身份验证 |
|
SQL Server 身份验证 |
|
由此可以看出,SQL Server 2000 安全控制是由登录>>用户>>权限来得到控制的。因此要连接 SQL Server 2000,首先要经过身份验证,要通过身份验证,就必须拥有登录 ID。
一、登录 ID 的获取
SQL Server 2000 使用两类身份验证:Windows 身份验证和 SQL Server 身份验证(注:Microsoft Windows Me 和 Windows 98 操作系统不支持服务器端的信任连接 API,也就是说安装在 Microsoft Windows Me 和 Windows 98 操作系统上的 SQL Server 2000 不支持 Windows 身份验证)。
- 为 Windows 身份验证的登录 ID 的获取
对于有域的网络,在域用户管理器中添加域用户,设为:UserSQL
对于无域的网络,在用户和组中添加用户,设为:UserSQL
向本地计算机中添加 Windows 用户(以 Windws XP 为例)
下图举例说明在 Windows XP 添加用户,打开 Windows 资源管理器,右键单击 [我的电脑] 选择 [管理] 就打开了 [计算机管理],在 [计算机管理] 中,展开 [本地用户和级] 右键单击 [用户] 选择 [新用户],这时打开 [新用户] 窗口,输入用户名为 UserSQL,描述为 SQL Server 登录 ID(可选,方便以后管理),输入密码,去掉“用户下次登录时必须更改密码”(为了讲解简单点),勾选“用户不能更改密码”和“密码永不过期”,然后点击 [创建] 按钮,这时就为该计算机创建了一个名为 UserSQL 的用户。
到此该用户还不能用来连接 SQL Server 2000 数据库,还必须在 SQL Server 2000 中创建“登录”与刚建的用户相对应。
A. 使用 SQL Server 2000 企业管理器添加 Windows 用户的登录 ID
下面举例说明如何在 SQL Server 2000 的企业管理器中创建“登录”,打开 SQL Server 2000 的企业管理器并以 sa 身份或 Windows 系统管理员的身份(因为这两个登录拥有 SQL Server 2000 sysadmin 角色的权限)连接到当前运行的 SQL Server 2000 (在本例中是本地的 SQL Server 2000),展开 [安全性] 节点,右键单击 [登录] 选择 [新建登录],这时会打开 [SQL Server 登录发生 -- 新建登录] 窗口,在 [常规] 标签下,点击 [名称] 右侧的 [...] 按钮浏览 Windows 用户名,如下图,列出了本地服务名(MYDESK)的用户,在列表中选择上一步创建的 Windows 用户 UserSQL,然后点击 [添加] 按钮将其添加到 [添加名称] 中,点击 [确定] 按钮。
然后,要为 UserSQL 登录选择默认数据库,如下图,选择“NorthwindCS”,点击 [确定] 按钮。
可是这时弹出一个错误提示框,如下图,说用户没有访问 NorthwindCS 数据库的权限,不要紧,这个问题留待后面的创建数据库用户再进行讲解,点击 [是],到此为止,在 SQL Server 2000 中创建了一个登录 UserSQL,并选择默认数据库为 NorthWindCS。
B. 使用 osql 向本地 MSDE 2000 添加 Windows 用户的登录 ID
由于 MSDE 2000 没有企业管理器,可以通过 Osql 运行系统的存储过程 sp_grantlogin 达到同样的目的,下图是用 osql 向本地 MSDE 2000 添加 Windows 用户的登录 ID。
- 为 SQL Server 身份验证的登录 ID 的获取
A. 使用 SQL Server 2000 企业管理器添加登录 ID
下面举例说明如何在 SQL Server 2000 的企业管理器中创建“登录”,打开 SQL Server 2000 的企业管理器并以 sa 身份或 Windows 系统管理员的身份(因为这两个登录拥有 SQL Server 2000 sysadmin 角色的权限)连接到当前运行的 SQL Server 2000 (在本例中是本地的 SQL Server 2000),展开 [安全性] 节点,右键单击 [登录] 选择 [新建登录],这时会打开 [SQL Server 登录发生 -- 新建登录] 窗口,在 [常规] 标签下,在 [名称] 右侧的文本输入框输入登录名 UserX,然后选择 SQL Server 身份验证单选器,输入该登录 ID UserX 登录 SQL Server 要用的密码,然后,为 UserX 登录选择默认数据库,如下图,选择“NorthwindCS”,点击 [确定] 按钮,这时会弹出密码确认对话框,重新输入一次密码,点击 [确定] 按钮,即可。
可是这时弹出一个错误提示框,如下图,说用户没有访问 NorthwindCS 数据库的权限,不要紧,这个问题留待后面的创建数据库用户再进行讲解,点击 [是],到此为止,在 SQL Server 2000 中创建了一个登录 UserX,并选择默认数据库为 NorthWindCS。
B. 使用 osql 向本地 MSDE 2000 添加登录 ID
通过 Osql 运行系统的存储过程 sp_addlogin 添加登录 ID,下图是用 osql 向本地 MSDE 2000 添加登录 ID 为 UserX 密码为 123456 默认数据库为 NorthwinCS 的登录 ID。
二、数据库用户的设置
登录 ID 本身并不提供访问数据库对象的用户权限。一个登录 ID 必须与每个数据库中的一个用户 ID 相关联后,用这个登录 ID 连接的人才能访问数据库中的对象。如果登录 ID 没有与数据库中的任何用户 ID 显式关联,就与 guest 用户 ID 相关联。如果数据库没有 guest 用户帐户,则该登录就不能访问该数据库,除非它已与一个有效的用户帐户相关联。
A. 使用 SQL Server 2000 企业管理器在 NorthwindCS 数据库上添加用户
下面举例说明如何在 SQL Server 2000 的企业管理器中创建数据库“用户”,打开 SQL Server 2000 的企业管理器并以 sa 身份或 Windows 系统管理员的身份连接到当前运行的 SQL Server 2000 (在本例中是本地的 SQL Server 2000),展开 NorthwindCS 数据库节点,右键单击 [用户] 选择 [新建数据库用户],打开数据库用户属性对话框如下图,首先选择登录名,本例为 MYDESK\UserSQL,这时用户名输入文本框中出现默认的用户名 MYDESK\UserSQL,本例不作修改,使用默认值。为了能使该用户拥有对该数据库的全部权限,勾选数据库角色成员列表中的 db_owner,点击 [确定] 按钮,就为该数据库创建了一个名为 MYDESK\UserSQL 的用户,并与登录 ID MYDESK\UserSQL 相关联。
B. 使用 osql 在 NorthwindCS 数据库上添加用户
下图使用 osql 在 NorthwindCS 数据库中添加用户 ID MYDESK\UserSQL 和 UserX 分别与登录 ID MYDESK\UserSQL 和 UserX 相关联,并把它们均设为数据库的 db_owner 角色。
(责任编辑:admin)
- ·用DAO或ADO正确访问Access 2000
- ·Access开发网络共享版技巧(多人同时操
- ·access中ADO与DAO格式的区别和写法【总
- ·access执行操作查询的几种方法对比
- ·Access中CurrentDb().Execute 和DoCmd.
- ·[源创技巧]在ACCESS中使用代码来自动创
- ·更新访问权限 (Jet) 数据库中的 40 多
- ·【实例】ADO代码计算余额法
- ·DAO实现的子窗体记录分页显示
- ·分别使用DAO和ADO连接外部数据库和Sql
- ·怎样判断一个表是否存在于数据库中? (D
- ·处理加了密码的MDB文件
- ·谈ADO访问不同数据库的差别
- ·DAO基础(4)
- ·DAO基础(3)
- ·DAO基础(2)