2024.05.21

今日学习时长:83分钟;

代码行数:41行

博客数量:1篇

今天主要开始了数据库实验三的操作,今天的大部分时长都在研究SQL server数据库中的用户的新建和权限修改。

SQL sever中直接用windows验证登录后可以在安全性—>登录名下新建一个用户,但是在切换为用户名+密码登录后,我发现我无法打开查看之前windows验证登录下的数据库。并且,在此用户下建立的查询文件在切换回windows验证登录后无法使用。

解决方法:新建的查询默认赋予的是你当前登录方式的账户的权限,所以只需要关闭该查询文件再在文件中打开就可以使用了,然后新建的登录名是要赋予权限的。可以在windows验证登录下找到该登录名的熟悉,服务器角色中添加sysadmin就行了。

复制代码
复制代码
create database students
use students

CREATE TABLE Student (
Sno char ( 7 ) PRIMARY KEY,
Sname char ( 10 ) NOT NULL,
Ssex char (2),
Sage tinyint ,
Sdept char (20)
)

CREATE TABLE Course (
Cno char(10) NOT NULL,
Cname char(20) NOT NULL,
Ccredit tinyint ,
Semester tinyint,
PRIMARY KEY(Cno)
)

CREATE TABLE SC
(
Sno char(7) NOT NULL,
Cno char(10) NOT NULL,
Grade tinyint,
XKLB char(4) ,
PRIMARY KEY ( Sno, Cno ) ,
FOREIGN KEY (Sno) REFERENCES Student (Sno),
FOREIGN KEY (Cno) REFERENCES Course (Cno)
)


go
--将 student 表中“sname”、“ssex”、“sage”的修改权限赋予自己创建的数据库用户。
grant update on Student(Sname,Ssex,Sage) to [20223717-user]
go
--将 student 表、course 表、sc 表的查询权限授予自己创建的角色。
grant select on Student to [20223717-role];
grant select on Course to [20223717-role];
grant select on SC to [20223717-role];
--拒绝自己创建的角色拥有 sc 表中 grade 的修改权限。
deny update on SC(grade) to [20223717-role];
--将自己创建的数据库用户添加为自己创建的角色成员。
exec sp_addrolemember '20223717-role','20223717-user';


--定义 course 表中 credit 属性为“3”的缺省。
alter table Course add constraint DF_Course_Credit default 3 for Ccredit;
go
复制代码
posted @   new菜鸟  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示