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

sql存儲過程用戶限制

發布時間: 2022-08-26 11:28:20

1. 問大家個sql方面的問題 SQL 存儲過程可以給它設置許可權對吧 那麼 oracle裡面存儲過程可以像它這樣么

可以的,oracle中存儲過程有擁有者和使用者,一般來講擁有者比使用者有著更高的許可權。
SQL> GRANT EXECUTE
ON HIRE_emp
TO Green;
這句表示把存儲過程HIRE_emp的執行許可權授予Green這個用戶

2. 如何修改mysql 存儲過程許可權

方法如下:

  1. 修改mysql 存儲過程的definer
    修改mysql.proc表 的definer欄位


update mysql.proc set definer='root@%' where db='servant_591up'; UPDATE `mysql`.`proc` SET `definer`='root00@%' WHERE `db`='test' AND `name`='jjjj' AND `type`='PROCEDURE'; UPDATE `mysql`.`proc` SET `definer`='wtc_678869@%' WHERE `db`='servant_591up' AND `type`='PROCEDURE';


2.修改sql security

ALTER PROCEDURE www SQL SECURITY INVOKER ; ALTER PROCEDURE www SQL SECURITY DEFINER ;



(1)MySQL存儲過程是通過指定SQL SECURITY子句指定執行存儲過程的實際用戶;

(2)如果SQL SECURITY子句指定為DEFINER,存儲過程將使用存儲過程的DEFINER執行存儲過程,驗證調用存儲過程的用戶是否具有存儲過程的execute許可權和DEFINER用戶是否具有存儲過程引用的相關對象的許可權;

(3)如果SQL SECURITY子句指定為INVOKER,那麼MySQL將使用當前調用存儲過程的用戶執行此過程,並驗證用戶是否具有存儲過程的execute許可權和存儲過程引用的相關對象的許可權;

(4)如果不顯示的指定SQL SECURITY子句,MySQL默認將以DEFINER執行存儲過程。

3.執行存儲過程授權

GRANT EXECUTE ON test.* TO 'wtc'@'%'; GRANT CREATE ROUTINE,ALTER ROUTINE, SELECT,CREATE, INSERT, UPDATE, DELETE, EXECUTE ON test.* TO 'wtc'@'%' IDENTIFIED BY '111111'


CREATE ROUTINE : 創建存儲過程的許可權
ALTER ROUTINE : 修改存儲過程的許可權

4.刪除用戶

REVOKE all ON test.* FROM wtc@'%'


DELETE FROM user WHERE User='user_name' and Host='host_name';

FLUSH PRIVILEGES;

好文要頂關注我

3. SQLServer 怎麼設置可以讓某用戶只可以執行存儲過程而不能直接select存儲過程涉及的表

windows登錄sql,設置登錄名許可權,只grant授予他Execute的許可權就可以了

4. SQL怎麼在存儲過程中給登錄名賦許可權

create procere pro_ww
(
@uname nvarchar(50)
)
as
begin
declare @sql nvarchar(4000)

set @sql='grant select on table student to '+@uname
exec(@sql)

end

5. SQL2008管理器如何設置用戶不準查看存儲過程即只對用戶開放表和視圖,但不開放存儲過程

你好,你所說的只是簡單的資料庫,用戶許可權設置問題可參考:http://database.51cto.com/art/201107/276210.htm 此網友的sqlserver2005用戶許可權設置的方式去設置即可,方法不會有太大的區別。

6. SqlServer 資料庫的存儲過程許可權怎麼設置,只讓用戶查看存儲過程,不讓用戶修改添加刪除存儲過程怎麼做

用ORACLE就可以輕松實現這個安全管理,但是sql server 就不明了 可以嘗試查看SQL SERVER對於許可權的分類的文檔,sql server幫助裡面應該有,用沒有那種只能看不能修改和刪除的操作的許可權

7. sql 用戶許可權只能執行存儲過程

用system登錄,創建新用戶,然後只grant授予他create procere的許可權就可以了,自己試試,用SQL命令建立一下。

8. sql server 2008 中修改存儲過程會是否會改變原有用戶的許可權

肯定不會啊,存儲過程和用戶許可權沒關系啊,除非你在存儲過程裡面修改了用戶許可權並執行了該存儲過程

9. 如何解決執行sql存儲過程(大數據量復雜的sql計算操作)時,不影響用戶使用

對實時性不是非常必須的功能,不要放在主業務集中操作的同時操作。這個需要引導客戶。
系統的開銷就在那裡擺著,沒有別的辦法,一運行資源就佔了,CPU 資源,資料庫資源,內存資源。
兩個辦法:一個是做一個資料庫復制,可以半天復制一次,也可以一天復制一次(閑時復制),根據用戶對數據的敏感度決定,存儲過程運行不限時間,運行時訪問復制資料庫,不影響主資料庫。需要額外資源:資料庫伺服器,資料庫復制時間和網路資源開銷;
第二個是定製成任務,閑時執行結果放到指定表中,或者直接以文件形式導出在伺服器指定位置。用的人直接讀記錄或者讀文件就OK 了。
請參考。

10. 在SQL SERVER 2005中如何給某個用戶分配執行存儲過程的許可權

打開 management studio,選擇要操作的資料庫-->安全性-->用戶,選擇用戶,右擊,屬性-->安全類型->添加許可權-->特定類型的所有對象,選擇 存儲過程,點擊確認後,分配可以分配的 許可權,有 control\alter\exeute etc.。之前要創建好用戶,並給予登錄的許可權。