日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

jquery设置输入框为只读_将SQL中几张表设为只读,这是什么奇怪需求?

發布時間:2023/12/19 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jquery设置输入框为只读_将SQL中几张表设为只读,这是什么奇怪需求? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近接到一個奇怪的需求,要將SQL Server中的幾張表設為只讀。我的第一反應就是直接將用戶設為只讀權限就好了,但是仔細一想又不是那么回事。

創建只讀賬號

SQL Server的只讀賬號是針對某個具體的數據庫,設置的方法很簡單:

  • 進入Sqlserver Management Studio(MSSQL客戶端)
  • 選擇安全性->登錄名->右鍵新建登錄名
  • 在常規里輸入用戶名和密碼
  • 在"用戶映射"里“映射到此登錄名的用戶”選擇該用戶可以操作的數據庫
  • 在“數據庫角色成員身份”里選擇"db_datareader",
  • 這樣一個只讀用戶就創建完成了。
  • 但是這樣會造成所有的表都變成只讀,這與需求不符。

    那該怎么辦呢?今天就告訴大家幾種常見的方法。

    1、使用觸發器限制單表只讀

    有如下一張創建好的表Teacher

    我們先往里面插入一條數據來證明它是可寫的。

    <pre language="typescript" code_block="true">INSERT INTO Teacher VALUES('04','馬六');</pre>

    再查下一下表里面的結果,看是否寫進去了。

    證明該表是可寫的,下面我們開始新建一個觸發器將其設為只讀。

    <pre language="typescript" code_block="true">CREATE TRIGGER trReadOnly_Teacher ON TeacherINSTEAD OF INSERT,UPDATE,DELETE AS BEGIN RAISERROR( 'tblEvents table is read only.',16, 1 )ROLLBACK TRANSACTION END</pre>

    (提示:可以左右滑動代碼)

    創建完成后,我們再往Teacher里面寫數據或刪數據

    <pre language="typescript" code_block="true">INSERT INTO Teacher VALUES('05','趙七'); DELETE FROM Teacher TID='04';</pre>

    結果會報如下錯誤提示:

    ![image](https://upload-images.jianshu.io/upload_images/22570485-fcbcdb45ba0a302f?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    證明我們設置的觸發器生效了。

    雖然我們一般不提倡在數據庫中使用觸發器,因為觸發器會造成有很多性能上的影響,但是如果用來控制權限還是可以的。

    此外該方法只針對少量需要設置為只讀的表,如果需要設置表比較多就不太合適了。

    如果要禁用該觸發器也很簡單,使用如下代碼即可:

    <pre language="typescript" code_block="true">disable trigger trReadOnly_Teacher on Teacher</pre>

    2、創建只讀文件組

    先創建一個只讀文件組

    <pre language="typescript" code_block="true">--創建文件組READ_ONLY_TBLS ALTER DATABASE School ADD FILEGROUP [READ_ONLY_TBLS] GO ALTER DATABASE School ADD FILE ( NAME =N'School_readonly_tables', FILENAME = N'D:TempSchoolReadOnly.ndf' , SIZE =2048KB , FILEGROWTH = 1024KB ) TO FILEGROUP [READ_ONLY_TBLS]</pre>

    然后將要設為只讀的文件先插入臨時表再刪除

    <pre language="typescript" code_block="true">SELECT * INTO #Teacher FROM Teacher DROP TABLE Teacher</pre>

    然后創建剛被刪除的表名,再將臨時表里面的數據插入進去,最后將文件組設為只讀即可

    <pre language="typescript" code_block="true">CREATE TABLE Teacher ( TID VARCHAR(10), TName varchar(100) ) ON [READ_ONLY_TBLS]INSERT INTO Teacher SELECT * FROM #Teacher

    --將數據庫的文件組設為只讀
    ALTER DATABASE School MODIFY FILEGROUP
    [READ_ONLY_TBLS] READONLY</pre>

    下面我們試著往Teacher里面插入數據:

    <pre language="typescript" code_block="true">INSERT INTO Teacher VALUES('05','趙七');</pre>

    結果如下:

    證明也是不可寫的。

    這種方法相比觸發器復雜一點,但是可以大批量的設置,前提是要備份好數據。

    3、拒絕對象級別的操作

    可以通過DCL命令控制用戶權限,但此步無法限制高級權限用戶(如system admin,DatabaseOwner)

    <pre language="typescript" code_block="true">DENY INSERT, UPDATE, DELETE ON tblEvents TO Test DENY INSERT, UPDATE, DELETE ON tblEvents TO Public</pre>

    4、創建視圖

    為了替代直接訪問表,可以使用視圖:

    <pre language="typescript" code_block="true">CREATE VIEW V_SC AS SELECT SID,CID,Score FROM SC UNION ALL SELECT '0', '0',0 WHERE 1=0</pre>

    當我們要刪除視圖中的數據時

    <pre language="typescript" code_block="true">DELETE FROM V_SC WHERE score=30.0</pre>

    會得到如下提示:

    如果不加UNION ALL,正常的視圖是可以刪除數據的。

    以上就是幾種常見的將表設為只讀的方法,可以根據自身實際需求進行選擇。

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的jquery设置输入框为只读_将SQL中几张表设为只读,这是什么奇怪需求?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 色婷婷av久久久久久久 | a视频 | 99自拍偷拍视频 | а√中文在线资源库 | 国产精品污 | 成人在线观看黄色 | 日日摸夜夜添夜夜 | 欧美黄网站 | 亚洲欧美日韩国产 | 日产电影一区二区三区 | 久久精品香蕉视频 | 日本国产精品一区 | 欧美裸体xxxx | 可以直接看av的网址 | 久草91 | 字幕网在线 | 国产精品二 | 91久久精 | 99视频热 | 日韩精品久久久久久免费 | 蜜桃臀av一区二区三区 | 成人免费视频播放 | 一区二区三区在线免费 | av毛片基地 | 福利视频大全 | 日本人三级 | 国产视频一区二区三区四区五区 | 日韩一二三四五区 | 黄色三级视屏 | 精品久久久久久无码人妻 | 亚洲午夜国产 | 免费av在线网 | 青青草97国产精品麻豆 | 久久久久久久久久久久久久久久久 | 日韩人妻精品中文字幕 | 永久免费看片在线播放 | av影视在线观看 | 精品国产一区二区三区久久久 | 中文字幕一区二区三区四区 | 99热首页 | 日韩三级一区二区 | 国产综合网站 | 四虎精品在线播放 | 日日夜夜免费精品 | 婷婷激情综合 | 成人免费视频播放 | 日韩毛片中文字幕 | 男人天堂手机在线观看 | 日韩在线国产 | 日韩中文字幕精品 | 91操操操 | 黄色国产一级片 | 依人成人网 | av资源中文在线 | 欧美最猛性xxxxx(亚洲精品) | 国产精品久久久久野外 | 丰满岳妇伦在线播放 | 亚洲婷婷在线观看 | 亚洲区在线播放 | 国产综合久久久久 | 国产福利一区二区 | 99久久久久久久久 | 狠狠干婷婷| 中文字幕人妻互换av久久 | 4438x全国最大成人 | 国产极品美女高潮无套在线观看 | 能看的毛片| 日韩精品第一页 | 国产一区二区三区四区三区四 | 国产精品久久久久久久成人午夜 | 少妇人妻综合久久中文字幕 | 免费黄色在线观看 | japanese国产 | 尤物视频官网 | a免费观看 | 国产高清www | 天天看天天摸 | 男女无遮挡做爰猛烈视频 | 免费在线播放视频 | 伊人狼人综合 | 成人动漫h在线观看 | 闷骚老干部cao个爽 av九九九 | 亚洲精品久久久久久久久久吃药 | 一区二区三区伦理片 | 久久精品丝袜 | 爽妇网国产精品 | 特级做a爱片免费69 少妇第一次交换又紧又爽 亚洲大胆人体 | 亚洲永久精品一区 | 免费无遮挡在线观看视频网站 | 好大好爽视频 | 激情视频在线免费观看 | 九九综合九九综合 | 国模一区二区 | 欧美一区二区三区久久 | 91av在| 国产亚洲一区二区三区四区 | 性免费网站 | 国产欧美一区二区三区视频 | 国产日韩精品中文字无码 |