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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)