SQL Server系列(9) -- 数据库的安全与备份

来源:互联网 发布:arduino 单片机 编辑:程序博客网 时间:2024/05/20 06:23

学习视频:链接:http://pan.baidu.com/s/1dDc7npB 密码:eq54


服务器认证模式:
windows认证模式,SQLServer认证模式,混合认证模式


数据库认证:
对象权限,语句权限,暗示性权限


更改验证方式:
1、先使用windows身份连接到服务器
2、右键服务器-属性-左侧“选择页”中选择安全性-选择右边的“SQL Server和windows身份验证模式”-单机确定
3、右键服务器-停止
4、右键服务器-启动
5、验证方式已更改
6、依次展开服务器下面的节点:“安全性”-“登录名”
7、右键“sa”-属性-输入密码后确定
8、右键服务器-断开连接或者重启软件
9、再次登录时选择SQL Server身份验证即可成功登录


--更改数据库验证方式
xp_instance_regwrite N'KEY_LOCAL_MACHINE',N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer','LoginMode',N'REG_DWORD',2  --取值为1表示windows验证方式,2表示混合验证方式


--更改用户名的登录密码
execute sp_password '旧密码','新密码','登录名'


--更改登录名的默认数据库
execute sp_defaultdb '登录名','需要的数据库'


--更改登录名的默认语言
execute sp_defaultlanguage '登录名','语言(simplified Chinese表示简体中文)'


--删除登录名
execute sp_droplogin '登录名'


--T-SQL语句创建登录名
use Mydatabase
exec sp_grantdbaccess '登录名','数据库的用户名' 


--当前所有用户名信息
exec sp_helpuser


--查看某一用户名的信息
exec sp_helpuser 'newuser'


--删除数据库用户
exec sp_revokedbaccess 'newuser'








角色和权限:
服务器角色,数据库角色


Bulkadmin:用于执行大容量插入操作
dbcreate:用于创建和更改数据库
Diskadmin:用于管理磁盘文件
Processadmin:用于管理永兴子啊sqlserver中的进程
Public:用于提供数据库的默认权限
Securityadmin:用于管理服务器的登录
Serveradmin:用于管理配置服务器范围的设置
Setupadmin:用于管理扩展的存储过程
Sysadmin:权限最高,执行服务器中的任何操作


--添加用户的某服务器角色(权限)
exec sp_addsrvrolemember 'newadmin3','sysadmin'


--删除用户的某服务器角色
exec sp_dropsrvrolemember 'newadmin3','sysadmin'


--创建自定义数据库角色
exec sp_addrole 'test_databaseA','dbo'


--删除数据库角色
exec sp_droprole 'test_databaseA'


--将数据库角色test_database添加到数据库角色中
exec sp_addrolemember 'test_database','newuserA'


--将数据库角色test_database从数据库角色中删除
exec sp_droprolemember 'test_database','newuserA'




权限管理
默认管理员登录账号 sa账号拥有最高权限
系统安装时sa账号的密码默认为空




--将指定的权限赋予给指定的用户或数据库角色
--给予用户test_Database更新的权限并且该角色可以将这个权限授予给别的角色
grant update on 表123 to test_Database with grant option


--给予用户test_Database插入的权限但是该角色不可以将这个权限授予给别的角色
grant insert on 表123 to test_Database


--从角色里剥夺权限
revoke update on 表123 from test_Database cascade


--角色拒绝被授权但有给别的角色授权的权限
deny update on 表123 to test_Database


--角色拒绝被授权并且没有给别的角色授权的权限
deny update on 表123 to test_Database cascade






--数据库备份
1、右键数据库--任务--备份
2、用T-SQL语句备份:
backup database Mydatabase to disk=N'F:\Sql Server资料\DatabaseBackups' with noformat,noinit,name=N'multidatabase-完整数据库备份',skip,norewind,nounload,stats=10


--差异备份
backup database Mydatabase to disk=N'F:\Sql Server资料\DatabaseBackups' WITH differential,noformat,noinit,name=N'multidatabase-差异数据库备份',skip, norewind,nounload,stats=10


--事务日志备份
backup log database Mydatabase to disk=N'F:\Sql Server资料\DatabaseBackups' WITH noformat,noinit,name=N'multidatabase-差异数据库备份',skip, norewind,nounload,stats=10


--备份还原
restore database Mydatabae from to disk=N'F:\Sql Server资料\DatabaseBackups' with file=1,nounload,stast=10










0 0