SQL Profiler

EF快速入门--直接修改(简要介绍ObjectContext处理机制)

左心房为你撑大大i 提交于 2020-04-28 04:59:21
原地址:http://www.cnblogs.com/fly_dragon/archive/2011/06/05/2073084.html 正文: 在介绍Entity Framework的修改实体到数据库的方法之前呢,我们先简要的介绍一下ObjectContext的处理机制。 1、ObjectContext的处理机制 ObjectContext是Entity Framework封装了数据库访问的上下文,以及实体的映射关系元数据信息等。EF帮我们封装好了这么一个统一的接口。让我们所有的操作都只通过这个一个实体上下文就可以实现了增删查改等所有对应数据库的操作。当然,我们要了解EF的生成SQL的机制我们才能更好的使用EF帮我们生成效率更高的SQL脚本。 看一个实例:下图所示项目截图与实体模型图(一个简单的例子) 然后看下面一段代码: static void Main( string [] args) { SchoolDBEntities schoolDB = new SchoolDBEntities(); Student student = new Student(); student.Address = " 北京上地 " ; student.Name = " 飞龙 " ; student.Phone = " 110 " ; schoolDB.Student.AddObject

EntityFramework Core 3.0查询

ぐ巨炮叔叔 提交于 2020-04-18 06:34:13
前言 随着.NET Core 3.0的发布,EF Core 3.0也随之正式发布,关于这一块最近一段时间也没太多去关注,陆续会去对比之前版本有什么变化没有,本节我们来看下两个查询。 分组 我们知道在EF Core 3.0版本之前,对于分组查询是在客户端评估,也就是说在内存中操作,在EF Core 3.0版本后对于分组查询可以翻译成SQL在数据库进行,但是事实情况真的是这样吗?接下来我们来看下吧,如下给出代码例子。 public class EFCoreDbContext : DbContext { public EFCoreDbContext() { } public DbSet<Blog> Blogs { get ; set ; } public DbSet<Post> Posts { get ; set ; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseSqlServer( @" Server=.;Database=EFTest;Trusted_Connection=True; " ); } public class Blog { public int Id { get ; set ; } public string

SQL Server第1部分:为什么要监视SQL日志

大兔子大兔子 提交于 2020-04-14 10:54:03
【推荐阅读】微服务还能火多久?>>> 根据2019年发布的基于风险安全研究报告,数据经常会有泄露的风险,每秒有超过44条记录被盗,最主要目标是利用企业数据库,获取其机密资产。一般来讲企业不会察觉到自己的数据库已经被破坏了几个月,一旦敏感数据泄漏,损坏将无法挽回。 通过监视和分析异常活动日志,企业可以在早期阶段提高检测防御的能力,如:尽早识别出未授权访问之类的事件,可以帮助您在数据损坏之前识别并阻止。 在本系列博客中关于SQL Server的第一部分,我们将介绍为什么监视SQL日志很重要。 应该监视哪些日志来保护您的SQL数据库? 事务日志是SQL Server日志的组成部分。这些日志提供在SQL数据库中执行的插入,更新和删除事务等操作记录。除了事务日志,您还应该监视和记录以下操作: 1.SQL Server安装日志 2.SQL Server查看日志 3.SQL Server代理日志 4.SQL Server错误日志 这些日志不仅有助于检测数据泄露,还有助于对操作失败进行故障排除。所以,对数据库操作进行审核跟踪非常重要。 自带的SQL Server工具-扩展事件,SQL跟踪,SQL Profiler,活动监视器,跟踪标志,数据库控制台命令(DBCC)-可帮助监控数据库的运行状况,并分析安全事件和其他异常事件。这似乎足够了,但还远远不够。 您如何改善SQL审核?

SQL Server Profiler

爱⌒轻易说出口 提交于 2020-02-25 19:17:35
如何将SQL Server Profiler跟踪限制为特定数据库? 我看不到如何过滤跟踪,看不到我连接的实例上的所有数据库的事件。 #1楼 在Trace properties> Events Selection选项卡下>选择show all columns。 现在在列过滤器下,您应该看到数据库名称。 输入Like部分的数据库名称,您应该只看到该数据库的跟踪。 #2楼 在SQL 2005中,首先需要在跟踪中显示“数据库名称”列。 最简单的方法是选择已经添加了该列的Tuning模板。 假设您选择了Tuning模板,请过滤: 单击“事件选择”选项卡 单击“列过滤器”按钮 选中显示所有列(右侧下) 选择“DatabaseName”,单击右侧窗格中“Like”旁边的加号,然后键入数据库名称。 我总是将跟踪保存到表中,所以我可以在事后对跟踪数据执行LIKE查询。 #3楼 在“跟踪”属性中,单击“ 常规” 旁边顶部的“ 事件选择” 选项卡。 然后单击右下角的“ 列过滤器... ”。 然后,您可以选择要过滤的内容,例如 TextData 或 DatabaseName 。 展开 像 节点和百分比输入过滤 % 象星座 %MyDatabaseName% 或 %TextDataToFilter% 没有 %% 符号,过滤器将无法工作。 此外,请确保选中“ 排除不包含值的行 ”复选框 。