位置: 编程技术 - 正文

设置SQLServer数据库中某些表为只读的多种方法分享(如何设置sqlserver数据库用户名密码)

编辑:rootadmin
一般情况下会有几种情况需要你把数据库设为只读: 1. Insert,Update,Delete 触发器 2. Check 约束 和 Delete 触发器 3. 设置数据库为只读 4. 把表放到只读文件组中 5. 拒绝对象级别权限 6. 创建视图 在开始之前,先创建一个数据库及表作为示例: nsert/Update/Delete触发器: 请注意这里使用的是INSTEADOF trigger,因为如果你使用了AFTER trigger,会在执行DELETE, UPDATE和INSERT语句时请求锁,会对写事务日志和回滚操作造成性能上的影响 当用户执行insert/update/delete时,将提示以下错误: Msg , Level , State 1, Procedure trReadOnly_tblEvents, Line 7tblEvents table is read only.Msg , Level , State 1, Line 1The transaction ended in the trigger. The batch has been aborted. 使用 Check 约束和Delete 触发器: 现在先在表中添加一个check 约束“1=0”,意味着总是失败。它禁止你在任何行执行INSERT或者Delete操作。 首先,先禁用在上一步创建的触发器:disable trigger trReadOnly_tblEvents on tblevents然后,添加约束:ALTER TABLE tblEvents WITH NOCHECK ADD CONSTRAINT chk_read_only_tblEvent CHECK( 1 = 0 )执行以后,无论你执行任何一个INSERT/UPDATE语句,都将提示以下错误信息: Msg , Level , State 0, Line 1 The UPDATE statement conflicted with the CHECKconstraint "chk_read_only_tblEvent". The conflict occurred indatabase "MyDB", table "dbo.tblEvents". The statement has been terminated. 但是,该约束不会对DELETE操作造成影响,为此,需要再创建一个DDL触发器: 设置数据库为只读: 你可以设置数据库为只读,这样就禁止对整个数据库的DDL/DML操作。可以使用以下语句: 把表放到只读文件组: 可以在一个只读文件组中创建一个表: 拒绝对象级别权限 可以通过DCL命令控制用户权限,但此步无法限制高级权限用户(如system admin,DatabaseOwner): 创建视图 为了替代直接访问表,可以使用视图: 在这个视图中,使用了UNION,只有在你确保有对应数量的列时才使用。在这个例子中,表有两列,所以使用两个输出列。同时,你也应该确保数据类型也一致。 当一个用户尝试通过INSERT/UPDATE/DELETE操作数据时,将得到以下错误信息: Msg , Level , State 1, Line 1Update or insert of view or function 'vwtblEvents1' failed because it contains a derived or constant field.Msg , Level , State 1, Line 1View'vwtblEvents1' is not updatable because the definition contains a UNIONoperator. 最后一步: 确认是否有必要用这些步骤来设置表为只读。 如果一个表总是只读,那么你应该放到只读文件组中。

推荐整理分享设置SQLServer数据库中某些表为只读的多种方法分享(如何设置sqlserver数据库用户名密码),希望有所帮助,仅作参考,欢迎阅读内容。

设置SQLServer数据库中某些表为只读的多种方法分享(如何设置sqlserver数据库用户名密码)

文章相关热门搜索词:sql server设置,sql server设置,如何设置sqlserver数据库用户名密码,sqlserver怎么设置默认值,sql server设置,sqlserver语言设置,sqlserver怎么改数据,sql数据库设置,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL Server错误代码大全及解释(留着备用) SQLSTATESQLSERVER驱动程序错误描述HY所有绑定列都是只读的。必须是可升级的列,以使用SQLSetPos或SQLBulkOperations更改或插入行。HY已检测到一个旧netlib(%s

SQL Server 数据库索引其索引的小技巧 一、什么是索引减少磁盘I/O和逻辑读次数的最佳方法之一就是使用【索引】索引允许SQLServer在表中查找数据而不需要扫描整个表。1.1、索引的好处:当

个常用sql语句 网上流行的学生选课表的例子 个常用sql语句Student(S#,Sname,Sage,Ssex)学生表Course(C#,Cname,T#)课程表SC(S#,C#,score)成绩表Teacher(T#,Tname)教师表问题:1、查询课程比课程成绩高的所有学生

标签: 如何设置sqlserver数据库用户名密码

本文链接地址:https://www.jiuchutong.com/biancheng/348463.html 转载请保留说明!

上一篇:SQL Server 日期相关资料详细介绍(sqlserver日期类型数据)

下一篇:SQL Server错误代码大全及解释(留着备用)(sql server错误代码1608)

  • 小规模企业出租设备税率
  • 收到投资土地使用权的会计科目
  • 小规模未开票收入填在哪里
  • 两家公司原材料能否借用
  • 非货币投资如何缴纳企业所得税
  • 固定资产计提折旧的原则
  • 票据贴现利息怎么开发票
  • 并购产生的商誉怎么冲减
  • 免抵退附加
  • 公司用商标权作假违法吗
  • 合伙企业工资薪金申报
  • 结算纪律与法律责任表格
  • 建设项目检测费
  • 过渡费交税吗
  • 预付款税率是多少
  • 外币报表未分配利润折算
  • 盈亏平衡点定价法例题及答案
  • 研发企业税率
  • 收入未实现成本怎么进
  • 利息支出的会计科目
  • 支付固定资产运杂费计入什么科目
  • windows登录提示
  • 个人劳务费怎么计算
  • 住房公积金如何使用
  • 个人所得税手续费比例
  • 入库的原材料单价怎么求
  • 会计交接的时候是不是有报税单
  • hotkey可以卸载吗
  • 购买股票会计分录怎么写
  • 企业发放误餐补助需要票据吗
  • framework7教程
  • 海关发票丢失怎么处理
  • 租用办公设备
  • 常用的绘图比例有哪些?
  • cvpr2021录用文章
  • php支付宝现实支付要收费吗
  • ps填头发
  • 盈余公积调减
  • 银行承兑到期怎么入账
  • 投资回收期计算公式例题
  • 负数发票开票条件?
  • 解决烧心最快方法
  • 工程施工与工程结算账务处理
  • 原材料计入什么摘要
  • 给员工租房怎么才能避开风险
  • 现金日记账要如何做账
  • 小规模应交增值税怎么算出来的
  • 销售材料购买方会计分录
  • 供应合同转让协议
  • 逾期未缴税款法律依据
  • 研发费用的会计处理对公司经营成果的影响
  • 人力资源差额税率
  • 设备丢失查找
  • 商业会计的任务有哪些
  • sql语句行转列
  • 通过SQL Server的位运算功能巧妙解决多选查询方法
  • Linux下MySQL 5.6.27 安装教程
  • win8开机错误
  • win10日历怎么设置
  • centos如何查询ip
  • xp系统禁止程序联网
  • windows启动很慢很慢
  • win8删除文件不提示
  • win10开始菜单磁贴颜色
  • 进程 python
  • perl遍历哈希
  • android contextmenu
  • 如何批量删除列表
  • python程序讲解
  • 聊天界面的新消息通知设置 找不到
  • jquery ajax双击div可直接修改div中的内容
  • 举例说明jquery的功能
  • python字符串的用法
  • 英语流利说的简单介绍
  • 买药开税票多少税率
  • 社保当月减员当月还可以增加上吗
  • 新疆自治区国税局郑志全
  • 交完契税,房产证没办,契税能退吗
  • 国税局官网查询平台
  • 南京税务事务所排行
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设