由于 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 数据库节点,右键单击 [用户] 选择 [新建数据库用户],打开数据库用户属性对话框如下图,首先选择登录名,本例为 MYDESKUserSQL,这时用户名输入文本框中出现默认的用户名 MYDESKUserSQL,本例不作修改,使用默认值。为了能使该用户拥有对该数据库的全部权限,勾选数据库角色成员列表中的 db_owner,点击 [确定] 按钮,就为该数据库创建了一个名为 MYDESKUserSQL 的用户,并与登录 ID MYDESKUserSQL 相关联。
B. 使用 osql 在 NorthwindCS 数据库上添加用户
下图使用 osql 在 NorthwindCS 数据库中添加用户 ID MYDESKUserSQL 和 UserX 分别与登录 ID MYDESKUserSQL 和 UserX 相关联,并把它们均设为数据库的 db_owner 角色。