创建登录名
USE [master] GO /* For security reasons the login is created disabled and with a random password. */ /****** Object: Login [lee] Script Date: 2020/1/1 21:43:33 ******/ CREATE LOGIN login1 WITH PASSWORD=N'login1',--密码 DEFAULT_DATABASE=[TestDb],--默认登录数据库 DEFAULT_LANGUAGE=[简体中文], CHECK_POLICY=ON GO
此时如果直接用此登录名登录,则会报错;原因是没有与数据库【TestDb】中的任何用户建立映射关系。
USE [TestDb] GO /****** Object: User [User1] Script Date: 2020/1/1 21:58:13 ******/ CREATE USER [User1] FOR LOGIN [login1] --与登录名建立映射关系 WITH DEFAULT_SCHEMA=[schema1]--设置用户的Schema GO
再次登录则可以登录成功TestDb,此时没有任何权限,什么也看不到。
执行以下代码进行授权
USE [TestDb] GO --创建schema,将其所有者设置为用户user1 CREATE SCHEMA [schema1] AUTHORIZATION user1 --创建角色 CREATE ROLE [role1] --设置角色权限 grant create table,create procedure,create view to [role1] --将用户User1添加到role1角色中 exec sp_addrolemember 'role1','User1 '