A. 如何禁止特定用户使用sqlplus或PL/SQL Developer等工具登陆
如何禁止特定用户使用sqlplus或PL/SQL Developer等工具登陆
可以肯定的是,肯定袭雀可以建立登录触发器:
CREATE OR REPLACE TRIGGER tr_logon
AFTER LOGIN ON DATABASE
BEGIN
INSERT INTO log_table(username,logon_time,address)
VALUES(ora_login_user,SYSDATE,ora_client_ip_address);
END;
/
但登录触发器昌睁是after的,不知道如果raise exception后,是不是能够起到拍迅早阻止登录的效果
B. SQL Server数据库中限制某一个用户在指定时间段内登录的SQL语句
select
*
from
学生表
select
学号,姓名,年龄
from
学生表
select
学号,姓名,年龄,系名
from
学生表
where
年龄>=18
&&
年龄<=20
如果系名在别的表里,关联下.
select
学号,姓名,年龄,系信息表.系名
from
学生表,系信息表
where
年龄>=18
&&
年龄<=20
sql挺简单的看看例题都一个样模仿的写就行了
C. sql如何创建用户限制权限
1开启数据库管理工具SQL Server Managerment Studio,用管理员用户登录数据库管理。2展开数据库实例名下的 安全性--->登录名--->‘新建登录名’用以建立一个新的账户。3 输入用户名、密码,选择其有权限的数据库。
D. sql server 2008 express多少用户登录
一、sql server 2008 express没有限制用户登录数,它的限制条件如下:
1.数据库的大小限制:SQL Server 2005 Express
和SQL Server 2008 Express 数据库的大小限制最大为 4GB,最新版本的SQL Server 2008 R2
Express 数据库的哗携大小限制最猛亩大为 10G。这个大小的限制只有在数据文件上,事务日志大小则不受此限枝芦森。
2.只能使用一个 CPU 来运算,这在多个 CPU 的电脑上会造成浪费。
3.可使用的存储器量最高只有 1GB。
4.没有 SQL Agent,若要做调度服务必须自己写程序。
二、另外,注意,winxp等个人操作系统存在并发联入的限制。
E. 如何限制用户对SQL Server的访问
用户登录 id 与存储的过程 sp_addlogin 添加到 SQL Server。执行罩扮庆 sp_addlogin 权限只限于 SQL Server 系统管理员。
创建一个名 Userconn.prg,使用下面的代码的程序文件,请执行以下操作:
LPARAMETER cDSN,cUserName,cUserPassWord
*!* Connect to SQL Server as a restricted access user.
hConnect=SQLCONNECT(cDSN,cUserName,cUserPassWord)
IF hConnect >0
cSQLCommand="SELECT * FROM PUBS.DBO.AUTHORS"
gnExec = SQLEXEC(hConnect, cSQLCommand,'MYCURSOR')
? cSQLCommand,gnExec
IF gnExec>0
SELECT mycursor
BROW
ENDIF
*!* Disconnect as restricted access user.
=SQLDISCONNECT(hConnect)
ELSE
=MESSAGEBOX("Connection failed",0,"Connection Error")
ENDIF
RETURN
创建一个名 Adser.prg,使用下面的代物握码的程序文件,请执行以下操作:
hConnect=SQLCONNECT(cDSN,cUserName,cUserPassWord)
IF hConnect >0
lUserExists=.F.
*!* Poll MASTER.DBO.SYSLOGINS for the NAME COLUMN.
cSQLCommand="SELECT NAME FROM MASTER.DBO.SYSLOGINS"
gnExec = SQLEXEC(hConnect, cSQLCommand,'SYSLOGS')
IF gnExec>0
SELECT syslogs
LOCA
SCAN FOR ALLTRIM(NAME)=ALLTRIM(cUserName)
lUserExists=.T.
EXIT
ENDSCAN
ENDIF
IF !lUserExists
*!* Select the PUBS database on SQL Server.
cSQLCommand="缺没USE PUBS"
gnExec = SQLEXEC(hConnect,cSQLCommand)
*!* Add a new SQL Server Login ID cUserName.
*!* Access granted to the PUBS database.
cSQLCommand="EXEC sp_addlogin "+alltrim(cUserName)+"," + ;
alltrim(cUserPassWord)+",PUBS"
gnExec = SQLEXEC(hConnect, cSQLCommand)
*!* Grant privileges to user "cUserName".
cSQLCommand="GRANT SELECT ON pubs.dbo.authors " + ;
"TO "+cUserName
gnExec = SQLEXEC(hConnect, cSQLCommand)
gnCommit = SQLCOMMIT(hConnect)
ENDIF
*!* Disconnect as System Administrator.
=SQLDISCONNECT(hConnect)
ELSE
=MESSAGEBOX("Connection failed",0,"Connection Error")
ENDIF
RETURN
从命令窗口键入以下内容 (MyDsn 等于有效的 ODBC 数据源名称):
DO USERCONN WITH 'MyDsn','TEST','TEST'
出现以下错误消息:
失败的连接 SQL 状态:"28000"SQL Server 错误: 4002 [Microsoft] [ODBC SQL Server 驱动程序] [SQL Server] 登录失败
在命令窗口中键入以下 (MyDsn 等于有效的 ODBC 数据源名称):
DO ADDUSER WITH 'MyDsn','TEST','TEST'
在命令窗口中键入以下内容:
DO USERCONN WITH 'MyDsn','TEST','TEST'
一个游标,并使用 PUBS.DBO.AUTHORS 表中的数据将显示在一个浏览窗口。
F. mysql能限制特定账号对某个数据库的访问吗
可以通过grant为用户授权来控制用户权限。
授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
1 登录MYSQL(有ROOT权限),这里以ROOT身份登录:
@>mysql -u root -p
@>密码
2 首先为用户创建一个数据库(testDB):
mysql>create database testDB;
3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):
mysql>grant all privileges on testDB.* to test@localhost identified by '1234';
mysql>flush privileges;//刷新系统权限表
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码";
4 如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on testDB.* to test@localhost identified by '1234';
mysql>flush privileges; //刷新系统权限表
5 授权test用户拥有所有数据库的某些权限:
mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";
//test用户对所有数据库都有select,delete,update,create,drop 权限。
//@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)
//对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by '1234';即可。
G. SQL Server数据库中限制某一个用户在指定时间段内登录的SQL语句
此例子的用户为:user
创建触发器,限制user用户的登录时间段(在8:00—18:00之间禁止登录)
CREATE TRIGGER noconn
ON ALL SERVER WITH EXECUTE AS 'user'
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN()= 'user' AND CONVERT(CHAR(10),GETDATE(),108) BETWEEN '8:00:00' AND '18:00:00'
ROLLBACK;
END;
H. 在SQL中如何用t-sql语句禁止账号登录
用t-sql语句禁止账号登录禁止后要恢复的t-sql语句<br> <br>-------------------<br> 从你的看来,你要禁用或重新启用<br> <br>像你这样的话,若是用sp_droplogin来删除登陆的话,则必须用sp_dropuser删除映射到该拍高登陆的数据库用户才行.但这样的话,下次重新建立登陆时,还得重新建立数据库用户,比较麻烦。<br> <br>所以,现在换一个方式,就是更改登陆余贺氏帐号的密码,从而达到你要的目的(若不想让帐号登陆,更改其密竖散码;若让其登陆,再把新密码告诉有关人员,让其登陆即可):<br> <br>下面的示例将登录 Victoria 的密码更改为 ok<br> EXEC sp_password NULL, 'ok', 'Victoria'<br> <br> <br>你只要告诉我怎么能用简单的语句比如说像exec sp_addlogin StudentAmdmin,exec sp_denylogin StudentAmdmin这样的语句简单地实现其目的就好了<br> --------------------------------<br> sp_denylogin 只能和 Windows NT 帐户一起使用,格式为域\\用户,如 London\\Joeb。sp_denylogin 无法用于通过 sp_addlogin 添加的 SQL Server 登录。<br> <br>所以,如果你的用户是用sp_addlogin创建的,则想用sp_denylogin来禁用是无法实现的.