SQL Server

.NET(C#)主流的ORM框架

拥有回忆 提交于 2020-04-27 09:46:07
.NET(C#)主流ORM总揽 SqlSugar (国内) Dos.ORM (国内) Chloe (国内) StackExchange/Dapper (国外) Entity Framework (EF) (国外) NHibernate (国外) ServiceStack/ServiceStack.OrmLite (国外) linq2db (国外) Massive (国外) PetaPoco (国外) SqlSugar SqlSugar是国人开发者开发的一款基于.NET的ORM框架,是可以运行在.NET 4.+ & .NET CORE的高性能、轻量级 ORM框架,众多.NET框架中最容易使用的数据库访问技术。 特点: 开源、免费 国内开发者开发、维护; 支持.NET Core; 支持主流数据库,如:SQL Server,MySql,Oracle,Sqlite等; 维护更新及时 PetaPoco PetaPoco:轻量的POCO对象和数据库映射的ORM框架。 特点: 开源、免费 linq2db linq2db也是一款快速、轻量、类型安全的POCO对象和数据库映射的ORM框架。从构架上来说,linq2db是对比如:Dapper、PetaPoco这个的微ORM的进一步封装,但它不像Entity Framework那样笨重。它没有实现状态跟踪,需要自己处理实体的状态更改等。 推荐等级:★★★

网站建设教程之PageAdmin建站系统的安装

送分小仙女□ 提交于 2020-04-26 22:36:50
PageAdmin建站系统最大的特点就是扩展灵活,加上可以免费下载,没有版权信息,国内拥有很多用户,很多中小网站制作公司也采用这款系统来给自己的客户做网站,在此,以本文作为引子,但愿可以把大家带入PageAdmin Cms的殿堂。 PageAdmin V4是所有CMS之中,安装流程最简单的,下载pageadmin程序后,上传到虚拟主机,打开域名就自动进入安装界面。 只需要按提示点击下一步,一步一步安装即可。 一、安装PageAdmin需要注意几点: 1、PageAdmin Cms是居于asp.net+mvc开发,因此你的虚拟主机虽然要支持asp.net,而且必须是asp.net4.0; 2、安装系统需要用到MsSql数据库,这包括数据库名称、用户名和密码,在购买虚拟主机时候一定要确认一下主机是否有带Ms Sql server数据库,推荐用sql2008或以上版本。 3、目录权限问题,网站目录需要有写入权限,如果没有开启这个权限,后台的上传功能会用不了。 二、熟悉pageadmin自定义表单的用法。 网站有各种各样的需求,不同的网站需要保存的信息都不一致,如企业网站需要有产品表,新闻表,但学校网站需要新闻表,学生报名表等,自定义信息表很好解决这种需求,自定义信息表和自定义字段为PageAdmin的核心功能,可以在系统>表管理中进行添加,如下图: 自定义表单支持各种常见用字段,输入框

linux下安装mysql(server和client)

◇◆丶佛笑我妖孽 提交于 2020-04-26 17:22:56
一、引言 想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的 MySQL 。本以为有Windows下使用SQLServer的经验,觉得在Linux下安装 MySql 应该是易如反掌的事,可在真正安装和使用 MySQL 时走了很多弯路,遇见很多问题,毕竟Linux和Windows本身就有很大区别。为了让和我一样的初学者在学习的过程中少走弯路,尽快入门,写了此文,希望对您有所帮助。 二、安装Mysql 1、下载 MySQL 的安装文件 安装 MySQL 需要下面两个文件: MySQL-server-5.0.9-0.i386.rpm    MySQL-client-5.0.9-0.i386.rpm 下载地址为: http://dev.mysql.com/downloads/mysql/5.0.html ,打开此网页,下拉网页找到“Linuxx86 RPM downloads”项,找到“Server”和“Clientprograms”项,下载需要的上述两个rpm文件。 2、安装 MySQL rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是–ivh,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程

【等待优化】sql server ASYNC_NETWORK_IO 等待解决思路

☆樱花仙子☆ 提交于 2020-04-26 14:02:47
零,ASYNC_NETWORK_IO 的概念 ASYNC_NETWORK_IO 等待类型是DBA经常会遇到的,虽然名称是异步、网络和IO,但是大多数情况下,此等待类型跟任何网络问题均无关系。 数据库系统大量出现ASYNC_NETWORK_IO等待的情况,大致有两类: 会话必须等待客户端应用程序处理从SQL Server接收到的数据,才能向SQL Server发送信号,表明它可以接受新数据进行处理。 这是最常见的情况,可能反映了不良的应用程序设计。 网络带宽已用尽, 以太网阻塞将导致从应用程序来回传输数据的速度变慢,这将降低应用程序的效率,这种情况不常见,可以说是罕见。 一,客户端应用程序的问题 当SQL Server大量出现ASYNC_NETWORK_IO等待时,最常见的原因是客户端应用程序无法足够快速地处理从SQL Server传回的数据,换句话说,就是SQL Server传递给应用程序的数据量超出了应用程序的处理能力。常见于客户端应用程序请求大量的数据。 当应用程序请求大量的结果数据集时,缓慢的数据处理将导致数据缓冲区被填满,从而阻止SQL Server向客户端发送新的数据。当缓存区被填满时,执行批处理的服务器进程(SPID)将被迫等待,直到客户端应用程序设法开始处理缓冲区中存储的数据,从而允许SQL Server将新的结果集(通过缓冲区)发送给客户端

【等待优化】sql server pageIoLatch(Latch等待)概念及解决思路

不羁岁月 提交于 2020-04-26 14:02:26
一、 PAGELATCH_x和PAGEIOLATCH_x介绍 PAGELATCH_x和PAGEIOLATCH_x介绍 二,Latch和性能 1,数据的IO操作 SQL Server访问的任何一个Page必须存在于内存中,如果不存在于内存中,那么SQL Server发出 Disk IO请求,将数据页从Disk读取到内存中,然后SQL Server从内存中读取该Page的内容。在访问任何一个内存page之前,必须申请和获取该Page上的Latch。 在数据读取的过程中,SQL Server先在内存中预留一个Page的空间,并设置该Page的位BUF_IO=1,并发出Disk IO请求,此时,在该Page上加的Latch是PageIOLatch_EX,表示正在将数据页从Disk读取到内存。 在数据页加载的过程中,任何一个读取该Page的Thread,在该Page上加的Latch是PAGEIOLATCH_SH,表示在SQL Server Engine从Disk读取数据页,写入内存时,Thread试图读取该Page,由于PAGEIOLATCH_SH和PageIOLatch_EX不兼容,读取该Page的Thread会被Block,直到Page被读取到内存中。 一旦数据页被写入到内存中,PageIOLatch_EX会立即释放,并设置该Page的位BUF_IO=0。由于数据页存在于内存中

【版本特性】sql server2014新特性 Delayed durability(lazy commit)延迟事务

时光总嘲笑我的痴心妄想 提交于 2020-04-26 14:02:13
【0】前置概念参考 预写式日志(Write-Ahead Logging (WAL)) 【1】事务的持久化概念 ACID 是数据库的基本属性。其中的D是指"持久性":只要事务已经提交,对应的数据修改就会被保存下来,即使出现断电等情况,当系统重启后之前已经提交的数据依然能够反映到数据库中。 那么D特性是如何在SQL Server中实现的呢?SQL Server使用write-ahead logging的方式,保证日志记录会先于数据记录固化到磁盘中。 当事务提交后,只有当日志记录固化到磁盘时,才会向客户端返回提交成功的消息,至于相应的数据记录,会通过异步的方式后续写入到磁盘中。 如果在此期间发生断电等故障,那么就会出现以下两种情况: 日志已经写入到磁盘(committed),但数据没有写入: 系统重启后进行redo操作,通过读取日志,来将没有固化到数据文件的信息写入到数据文件。 部分日志已经写入到磁盘(uncommitted),数据部分写入或没有写入 系统重启后执行undo操作,将没有提交的事务对应的数据从数据文件中清除。 这样就保证了已经提交的事务不会丢失。 【2】Delayed durability 延迟日志写入 官网概念: https://docs.microsoft.com/zh-cn/sql/relational-databases/logs/control

云服务器 ECS 建站教程:部署MySQL环境

懵懂的女人 提交于 2020-04-26 12:10:00
在ECS上部署数据库 数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制. 阿里云有提供相应的高可用数据库架构RDS,但由于RDS具有一定的限制条件,可能无法满足部分生产环境的要求,例如需要使用Oracle数据库、需要使用SQL Server报表服务等,在这种情况下,我们需要考虑在ECS上搭建数据库的方式. 本文档介绍如何在 云服务器ECS 实例常用数据库(Oracle、MySQL、SQL Server)。 常用数据库简介 常用数据库包含以下三种:Oracle、MySQL、SQL Server; Oracle Oracle可以支持多种不同的硬件和操作系统平台,从台式机到大型和超级计算机,为各种硬件结构提供高度的可伸缩性,支持对称多处理器、群集多处理器、大规模处理器等,并提供广泛的国际语言支持。 Orcale是一个多用户系统,能自动从批处理或在线环境的系统故障中恢复运行。系统提供了一个完整的软件开发工具Developer2000,包括交互式应用程序生成器、报表打印软件、字处理软件以及集中式数据字典,用户可以利用这些工具生成自己的应用程序。 Orcale以二维表的形式表示数据,并提供了SQL(结构式查询语言)

SQLServer Oracle MySQL的区别

☆樱花仙子☆ 提交于 2020-04-26 08:38:34
SQLServer Oracle MySQL的区别 简介 SqlServser:Microsoft产品,通过良好的ODBC接口可以将Access、FoxPro、Excel转换为SQLServer数据库。 Oracle:运行于所有主流平台,完全支持所有的工业标准(ODBC、JDBC、OCI),采用完全开放策略。Oracle并行服务器通过使一组结点共享同一簇中的工作扩展Windows NT的能力,提高可利用性和高伸缩性的簇的解决方案。支持大并发,大访问量。价格昂贵。 MySql:不支持事务处理,没有视图,没有存储过程和触发器,没有数据库端的用户自定义的函数,不能完全适用标准的SQL语法。目前可能已经支持。 语法区别 区别类型 SQLServer Oracle MySQL [字符串拼接] + || concat() [控制处理数] isnull() |-NVL NVL(expr1,expr2) 如果第一个参数为空,那么先显示第二个参数,如果第一个参数不为空,则显示第一个参数 |-NVL2 NVL2(expr1,expr2,expr3)如果第一个参数为空则显示第二个参数,不为空则显示是第三个参数 |-NULLIF(expr1,expr2)expr1和expr2相等则返回NULL,否则返回第一个值 |-ifnull(expr1,expr2) 如果第一个参数为空,那么先显示第二个参数

Oracle 数据迁移到 SQL Server

懵懂的女人 提交于 2020-04-26 08:38:18
现在需要将Oracle数据迁移到SQL Server ,在网上找资料,发现微软官方提供了一个工具 Microsoft SQL Server Migration Assistant 8.1 for Oracle 1、安装工具后新建一个项目,选择对应版本的数据库 2、连接数据库 连接oracle 连接sqlserver 3、转换Schema 在oracle中勾选需要转换的表Convert Schema 在sqlserver中Synchronize with Database 4、在Oracle Metadata Explorer窗口中执行Migrate Data,开始迁移数据。 还有将mysql、Access、DB2 数据导入到SQL数据库中的工具 问题:提示如图警告 在开始菜单中找到“数据库配置工具”,启动sqlserver 代理服务 参考 https://blogs.msdn.microsoft.com/ssma/2017/02/21/released-sql-server-migration-assistant-ssma-v7-3/ 来源: oschina 链接: https://my.oschina.net/u/4274625/blog/3543889

(四)SQLMap之Tamper篡改脚本的类型、作用、适用场景

烂漫一生 提交于 2020-04-26 08:38:06
目录结构 一、SQLMap中tamper的简介 1.tamper的作用 2.tamper用法 二、适配不同数据库类型的测试tamper 三、SQLMap中tamper篡改脚本的功能解释 一、SQLMap中tamper的简介 1.tamper的作用 使用SQLMap提供的tamper脚本,可在一定程度上避开应用程序的敏感字符过滤、绕过WAF规则的阻挡,继而进行渗透攻击。 部分防护系统的缩写: WAF:Web应用程序防火墙,Web Application Firewall IPS:入侵防御系统, Intrusion Prevention System IDS:入侵检测系统,Intrusion Detection System 2.tamper用法 --tamper=TAMPER 利用给定的脚本进行篡改注入数据。其用法可举例说明: python sqlmap.py -u "http://.../?uname=admin&pwd=pass123" --level=5 --risk=3 -p "uname" --tamper=xxx.py 表示对指定的url地址,以所设置的level等级、risk等级,并采用选定的tamper篡改脚本对参数“uname”进行检测 二、适配不同数据库类型的测试tamper 当使用SQLMap篡改脚本执行渗透测试时,面对众多tamper可能会比较困惑