日期:2014-05-18 浏览次数:20590 次
--创建windows 登录账户
create login [computer_name\alice] from windows
with default_databse=adventureworks
--创建sqlserver 登录名
create login bob with password='P@ssWord',
default_database=adventureworks
--创建sqlserver 弱密码登录名
create login bob with password='Password',
default_database=adventureworks
--创建请密码,让密码过期,首次要改密码的sqlserver登录名
create login bob
with password='password' must_shange,--必须更改
default_database=adventureworks,
check_expipation=on, --判断是否过期
check_pulicy=on --密码复杂度
sqlserver2005 为客户流出来了一个接口.
解锁:alter login username with password='user1'password' unlock
账户--本地安全策略--账户锁定阀值--(在发生以下情况之后,锁定账户) 设置为5或是3 其他人输入三次密码错误就不在让输入了
设定多长时间也可以设置.. 账户锁定时间 缺省情况下是30分钟..这里也可以自己设置..自己进去不去...就一直进给你吧账户锁住..
sa,登录点击锁定的用户..点属性--状态--这时这里就有一个sqlserver身份验证..下面登录已锁定前面的对号给去掉就可以了
2000 下 创建登录名
sp_addlogin 'demo2','123'
go
sp_adduser '123',demo2'
--sa用户创建表 demo2
create table demo2(a int)
--切换用户demo2
setuser 'demo2'
我们没有为demo2授权..在默认情况下他的权利应该是非常低的
select * from sysobjects --demo2可以看系统表...这样就有危险了..
sql 2000下就根据报错就能看出数据库有那些表--用户没有在demo2上执行该操作的权限
这样就告诉黑客数据库里有这张表了
--sql2005
create login demo2user
with password='demo2',default_database=demodb
go
create user demo2user for login demo2user
--且账号
setuser 'demo2user'
这个demo2user 是看不了系统表的..可以看到自己自带的系统表
删除数据库就算数据库数据存在..没有权限:他也会报 无法对数据表demo2进行删除,因为他不存在.或你没有所需的权限
--example
use master
go
create login demo3a
with password='123',default_database=demodb
create login demo3b
with password='123',default_database=demodb
use demodb
go
create user demo3a for login demo3a
create user demo3b fro login demo3b
--创建无架构表
create table table3a(a int,b int)
go
--创建一个架构
create schema sch
create table table3b(a int ,b int)
go
grant select on schema::sch to demo3b --为demo3b账户 授予sch下面的所有表的权限
set user 'demo3b'
select * from demo3b --前面创建demo3b的时候没有指明他属于哪个shm
select * from sch.demo3b
setuser --切换到 sa
setuser demo3a --切换到demo3a登录名
select * from sch.table3b --这里也会报错..因为还没有给sch 查询权限
setuser--切换成管理员
alter user demo3b with default_cchema=sch
set user demo3b
select * from talbe3b --这个时候就不会报错了
grant insert,select on table1 to user1,user2
go
grant insert,select on schema::sch
to user1
go
grant alter any schema
to user1 --这里要有sa权限才能执行
user master --此处必须要用master
go
grant control server --可以去控制server
to user1
go
create login user_kr
with password='!C906E6D9',default_database=demo ----创建登录名
go
create user user_kr for login user_kr ----为登录名创建用户名.他默认在demo数据库下
GRANT SELECT ON student TO user_kr --为user用户名创建权限
SETUSER 'user_kr' --切换用户到user_kr
SELECT * FROM dbo.student --查询成功
SELECT * FROM dbo.sc --查询失败,没有select权限
SELECT 'grant select on '+NAME+' to user_kr' from sysobjects where type='u' --sql2000的写法
SELECT 'grant select on '+NAME+' to user_kr' FROM sys.tables --sql2005的写法
SELECT 'grant select on '+NAME+' to user_kr' from sysobjects where type='u'
AND SUBSTRING(NAME,14,8)='20111010'
BETWEEN '20111011' AND '20111025'
ORDER BY NAME
sp_helptext --查询创建数据表,数据库,视图,的脚本
sp_helptext:显示用户定义规则的定义、默认值、未加密的 Transact-SQL 存储过程、用户定义 Transact-SQL 函数、触发器、计算列、CHECK 约束、视图或系统对象(如系统存储过程)。
sp_adduser 'user_kr','C906E6D9' --2000加