當前位置:首頁 » 編程語言 » sql限制用戶登錄
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql限制用戶登錄

發布時間: 2023-03-16 07:45:50

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來禁用是無法實現的.