-
添加/删除 SQL登录账户
sql">exec sp_addlogin '12123','QWQ12123' -- '用户名' , '密码' create login qwq with password='QWQ12123' --这种方式创建的用户名不能是纯数字 -- 用户名 密码 --删除SQL登陆账户 exec sp_droplogin 12123 drop login qwq
-
修改登录用户 用户名/密码
sql">alter login qwq with password='qwq12123' --修改密码 加' ' alter login qwq with name=qaq --修改用户名 不加' ' qaq_server
-
创建数据库用户
sql">use Sales go exec sp_grantdbaccess 'qaq' ,'qaquser' -- 登录用户名 ,数据库用户名(可以与登录用户名一样)qaq_database --grant 授权 db 数据库 access 记录 create user qaquser for login qaq -- 数据库用户 登录用户
-
删除/修改 数据库用户
sql">--删除数据库用户 exec sp_revokedbaccess 'qaquser' -- revoke 撤销 drop user qaquser --修改数据库用户 alter user qaquser with name=qaq_user
-
授予权限
sql">grant select on Employees to qaq_user -- 查看 表 数据库用户 grant exec on proc_销售额 to qaq_user -- 执行 存储过程 --更改连接后,验证对qaq登录用户的权限 select * from Employees delete from Employees update Employees set 姓名='赵燕' where 编号='1001' declare @a int exec proc_销售额 '1301' ,@a output
-
撤销/禁用 权限
sql">--撤销权限(更改连接——连接到windows后才能更改) revoke select on Employees to qaq_user revoke exec on proc_销售额 to qaq_user --错误:无法对 sa、dbo、实体所有者、information_schema、sys 或您自己授予、拒绝或撤消权限。 --禁用权限(有这个权限不让你用) deny select on Employees to qaq_user deny exec on proc_销售额 to qaq_user
-
数据库的备份和恢复
sql">--数据的导入和导出 界面操作 --数据备份和恢复 --创建备份设备 --devide 设备 第一个参数:设备类型 disk (硬盘),第二个参数: 逻辑文件名 Sales_bak 就表示sales库的备份 exec sp_addumpdevice 'disk','Sales_bak','D:\project\Sales_bak.bak' -- 第三个参数:物理文件名(放在哪个文件夹),最后要加备份文件的文件属性:(.bak) --2、备份数据库 backup database Sales to Sales_bak --备份 数据库 哪个库 库的逻辑文件名 drop table Sell --恢复数据库 restore database Sales from Sales_bak with replace --恢复时不能在本库使用时恢复,建议在执行此操作时使用 master 数据库。 --恢复 数据库 库 从 备份了的文件 以覆盖的方式
-
练习
sql">--1、在SQL Server服务器上创建两个登录账户: --班主任登录账户:banzhuren 密码:111111 --教师登录账户:jiaoshi 密码:123456 exec sp_addlogin 'banzhuren','111111' create login jiaoshi with password='123456' --2、在Xk数据库中创建两个用户: --班主任用户:banzhurenuser 对应于登录账户banzhuren --教师用户:jiaoshiuser对应于登录账户jiaoshi use XK go exec sp_grantdbaccess 'banzhuren' , 'banzhurenuser' create user jiaoshiuser for login jiaoshi --3、为用户授权: --班主任用户 banzhurenuser 对表student具有查询、增加、修改、删除权限; --教师用户 jiaoshiuser 对表student具有查询权限。 --教师用户 jiaoshiuser 对存储过程proc_选课情况3的调用权限。 grant select,insert,update,delete on Student to banzhurenuser grant select on Student to jiaoshiuser grant exec on proc_学生选课情况3 to jiaoshiuser --4、以班主任及教员账户登录,对班主任banzhurenuser及教员jiaoshiuser的权限进行验证, --将学号为‘00000001’的同学的姓名改为‘林一斌’。 --试用学号’00000001’,’ 00000025’,’ 000000001’调用存储过程proc_选课情况3,验证教师对存储过程的调用权限。 --更改连接为——banzhuren select * from Student update Student set StuName='林一斌' where StuNo='00000001' --更改连接为——jiaoshi --调用 declare @sum int ,@a int exec @a=proc_学生选课情况3 '00000001',@sum output print '返回值:'+cast(@a as char(1)) --调用 declare @sum int,@a int exec @a=proc_学生选课情况3 '00000025',@sum output print '返回值:'+cast(@a as char(1)) --调用 declare @sum int,@a int exec @a=proc_学生选课情况3 '000000001',@sum output print '返回值:'+cast(@a as char(10)) --5、将表student和视图v_选课详情中的信息导出到stuInfo.xls表中。 界面操作 --6、在D:\project文件夹中创建备份设备Xk_bak,对数据库XK进行完整备份, --然后删除stucou表,再对数据库Xk进行恢复,验证stucou表是否恢复。 --(1)创建备份设备 exec xp_cmdshell 'mkdir D:\project' , no_output exec sp_addumpdevice 'disk','XK_bak','D:\project\XK_bak.bak' --(2)备份数据库 backup database XK to XK_bak --(3)删除StuCou表 drop table StuCou --切换到master数据库 进行恢复 restore database XK from XK_bak with replace --测试是否恢复 select * from StuCou