線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1226
推到 Plurk!
推到 Facebook!

SQL数据库如何限制对一个数据表的操作

答題得分者是:eaglewolf
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-07-08 14:25:19 IP:222.184.xxx.xxx 訂閱
在SQL数据库中,我已初始建立好了一个数据表,我希望这个表中的内容不让用户做增加、修改、删除记录的操作,也就是保证我原来是什么数据还是什么数据。光和用户讲不要改好象没有用,有没有稍微强制一点的措施让他想改也改不了?谢谢!
------
我的编程起步于ktop,我将永远支持ktop
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-07-08 23:31:47 IP:211.22.xxx.xxx 未訂閱
1.既然這個數據表的內容是給使用者讀取參考的,把他獨立出來成另一個表在程式中僅提供使用者讀取就好,沒有必要讓使用者知道這個表的存在.
2.如果堅持要將這個讀取的數據以及使用者可以更改的數據放在同一個表中,那勢必你要寫一個權限管理的程式,依照使用者登入這個程式後可以使用的權限來作被允許的動作,這樣就比較麻煩了,可是一旦這種程式寫好後,你以後對資料庫登錄的權限管理彈性就比較大.
===================引 用 ntjrr 文 章===================
在SQL数据库中,我已初始建立好了一个数据表,我希望这个表中的内容不让用户做增加、修改、删除记录的操作,也就是保证我原来是什么数据还是什么数据。光和用户讲不要改好象没有用,有没有稍微强制一点的措施让他想改也改不了?谢谢!
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-07-09 07:31:20 IP:222.184.xxx.xxx 訂閱

===================引 用 Stallion 文 章===================
1.既然這個數據表的內容是給使用者讀取參考的,把他獨立出來成另一個表在程式中僅提供使用者讀取就好,沒有必要讓使用者知道這個表的存在.

这个表是独立出来的一个表,那么如何不让使用者知道这个表存在呢?
------
我的编程起步于ktop,我将永远支持ktop
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-07-09 08:06:22 IP:211.22.xxx.xxx 未訂閱
難道你的資料庫使用者可以直接連線MSSQL瀏覽並更改資料表內的資料甚至欄位嗎?我覺得這樣風險很大!如果不可避免的必須讓使用者知道資料庫的位址,也不可以把sa的密碼告訴他們,否則以後你的資料庫將很難維護!只要sa的密碼沒有泄露,那麼你就可以很容易的管理,哪些資料表使用者可以有那些權限,不是嗎?
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-07-09 09:09:49 IP:222.184.xxx.xxx 訂閱

===================引 用 Stallion 文 章===================
難道你的資料庫使用者可以直接連線MSSQL瀏覽並更改資料表內的資料甚至欄位嗎?我覺得這樣風險很大!如果不可避免的必須讓使用者知道資料庫的位址,也不可以把sa的密碼告訴他們,否則以後你的資料庫將很難維護!只要sa的密碼沒有泄露,那麼你就可以很容易的管理,哪些資料表使用者可以有那些權限,不是嗎?

在客户端用户肯定是修改不到的,我说的是在服务器端,用户直接打开电脑(不用打开我的软件)去修改数据库,那种情况好象不好控制,看了一些相关资料,是不是用外键约束的方法能起到一定的作用,他一改就受到另一个表的制约?
------
我的编程起步于ktop,我将永远支持ktop
eaglewolf
資深會員


發表:4
回覆:268
積分:429
註冊:2006-07-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-07-09 12:05:12 IP:211.75.xxx.xxx 訂閱
如果你指的是 MS-SQL 的Enterprise Manager
你可以先將Builtin\Administrators\的權限設為拒絕伺服器存取,然後再把SQL Server註冊移除
這樣user 就無法透過Enterprise Manager來修改
就算user要新增SQL Server註冊也要有SQL 的帳號/密碼
-----------------------------------------------------------------------
user 亂搞資料庫.....有問題user 要自行負責~~~
這不屬於軟體系統保固範圍

------
先查HELP
再查GOOGLE
最後才發問

沒人有義務替你解答問題
在標題或文章中標明很急
並不會增加網友回答速度

Developing Tool:
1.Delphi 6
2.Visual Studio 2005
3.Visual Studio 2008
DBMS:
MS-SQL
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-07-09 14:29:49 IP:222.184.xxx.xxx 訂閱

===================引 用 eaglewolf 文 章===================----------------------------------------------------------------------
user 亂搞資料庫.....有問題user 要自行負責~~~
這不屬於軟體系統保固範圍

可能也就是这样了,只要知道了账号和密码,是无法阻止用户改动数据库的,只有上面的话,他乱改动由他自己负责,不是软件上的事了。
谢谢两位前辈。
------
我的编程起步于ktop,我将永远支持ktop
系統時間:2024-04-23 21:42:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!