前言 首先要对sql server进行初步的了解.常用的全部变量@@version:返回当前的Sql server安装的版本.处理器体系结构.生成日期和操作系统.@@servername:放回运行Sql server的本地服务器名称top在sql server,没有MySQL中的limit控制符,如果实现limit控制符功能则可以使用top进行代替. 正文 如果对方网站管理员没有关闭错误消息提示,那么 ;declare @d int        //判断sql server 支持多行语句查询…
sql server(mssql)联合注入 sql server简介: SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用. 1. 前置知识 以下资料均来自:sql server联机丛书: 1.1 sql server数据库内置函数: DB_NAME ( [ datab…
对数据库备份进行还原时遇到“sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\itsm_Data.MDF'.数据库 'my1' 正在使用该文件”的问题. 产生原因:对一个数据库备份文件在两个数据库中进行还原时,这个问题的出现主要是因为还原第一个数据库和第二个数据库的名称是一样的,而且在第二个数据库还原时的物理路径时选的路径和第一个数据库还原路径一样. 解决方案:…
SQL Server datetime数据类型设计.优化误区 一.场景 在SQL Server 2005中,有一个表TestDatetime,其中Dates这个字段的数据类型是datetime,如果你看到表的记录如下图所示,你最先想到的是什么呢? (图1:数据列表) 你看到这些数据,是不是觉得这样的设计既浪费了存储空间,又使得这个列的索引增大,查询起来更慢,你也想使用一些其它的数据类型来代替这个datetime吧? 其实大家都是这么想的,这个方向是100%正确的,但是在写这篇文章以前,我进入了两…
软件系统性能测试体系流程介绍之windows系统与SQL SERVER 2008数据库服务性能监控分析简要 目前大部分测试人员对操作系统资源.中间件.数据库等性能监控分析都是各自分析各自的监控指标方式造成收集到各项性能指标数据无法完全对映出来组建性能问题最终无法及时准确定位问题.本次交流讨论主要是从操作系统.数据库的角度分别对的参数进行了分析,梳理参数关系,来充分发挥监控软件性能.    对于windows系统和SQL SERVER数据库监控一部分人都喜欢使用loadrunner直接远程连接监控…
数据库服务器主要用于存储.查询.检索企业内部的信息,因此需要搭配专用的数据库系统,对服务器的兼容性.可靠性和稳定性等方面都有很高的要求.        下面是进行笼统的技术点说明,为的是让大家有一个整体的概念,如果想深入可以逐个击破: 希望大家能一起补充完善. 一.服务器规划: 使用64位的操作系统,最好是2008的:(Windows Server 2008 64位) 使用64位的数据库程序,最好是2008的:(SQL Server 2008 64位) 使用千兆网卡: 使用硬RAID5: 使用6…
几年前跟随项目经理做的一个ERP小项目,自己业余时间整理的开发手册,供参考. 开发环境配置:编程环境为Microsoft Visual Studio 2010,数据库是SQL Server 2008 R2.设计架构Windows Forms+ .NET Remoting + SQL Server,所有程序的代码量(框架,工具,业务逻辑)在5万行以内.   1 SQL Server 数据库表设计 设计供应商表Vendor, tb是通用前缀标识符号.FM是资金管理Finance Management…
前言 在我们进行数据分析的时候,首要的目标是根据业务逻辑,通过编写SQL代码得到我们想要的结果,这是毋庸置疑的.一般情况下,由于我们分析的数据量比较少,体会不出SQL语句各种写法的性能优劣,对SQL代码的优化往往没那么重要.但是随着数据库中数据的增加,尤其是当一个系统需要对海量的数据进行持续性的分析时,SQL的运行效率就成为系统需要解决的最主要的问题之一.系统优化中一个很重要的方面就是SQL语句的优化.对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍甚至更多,可见对于数据…
SQL Server中的I/O操作类型: 1.对于内存中没有缓存的数据,第一次访问时需要将数据从所在的页面从数据文件中读取到内存中 2.在任何Insert/Update/Delete提交前,SQL Server需要保证日志记录能够写入到日志文件中 3.当SQL Server做Checkpoint时,需要将内存缓冲区中已经发生修改的数据页面同步到硬盘的数据文件中,一般一分钟一次Checkpoint.如果修改较多,频率高一些,写的数量 和上次checkpoint依赖发生的数据修改量有直接关系 4.当…
一.概述 列存储索引是SQL Server 2012中为提高数据查询的性能而引入的一个新特性,顾名思义,数据以列的方式存储在页中,不同于聚集索引.非聚集索引及堆表等以行为单位的方式存储.因为它并不要求存储的列必须唯一,因此它可以通过压缩将重复的列合并,从而减少查询时的磁盘IO,提高效率. 为了分析列存储索引,我们先看看B树或堆中的数据的存储方式,如下图,在page1上,数据是按照行的方式存储数据的,假设一行有10列,那么在该页上,实际的存储也会以每行10列的方式存储,如下图中的C1到C10. 假…
SQL Server: 一般来说SQL Server 中表的主键是支持更新操作的.但是如果这个主键是由identity(1,1)这类的方式生成的话它是不可更新的. Mysql : Mysql 中表的主键是支持更新操作的不管它有没有auto_increment 这一特性.…
1 背景 1.1 报警情况 最近整理笔记,打算全部迁移到EVERNOTE.整理到锁这一部分,里边刚好有个自己记录下来的案例,重新整理分享下给大家. 某日中午,收到报警短信,DB死锁异常,单分钟死锁120个. 死锁的xml文件如下: <deadlock-list> <deadlock victim="process810b00cf8"> <process-list> <process id="process810b00cf8"…
一.概述 列存储索引是SQL Server 2012中为提高数据查询的性能而引入的一个新特性,顾名思义,数据以列的方式存储在页中,不同于聚集索引.非聚集索引及堆表等以行为单位的方式存储.因为它并不要求存储的列必须唯一,因此它可以通过压缩将重复的列合并,从而减少查询时的磁盘IO,提高效率.为了分析列存储索引,我们先看看B树或堆中的数据的存储方式,如下图,在page1上,数据是按照行的方式存储数据的,假设一行有10列,那么在该页上,实际的存储也会以每行10列的方式存储,如下图中的C1到C10.假设我…
在SSDT中部署一个 SSAS 项目到本地服务器上出现错误. You cannot deploy the model because the localhost deployment server is not running in multidimensional mode. 错误原因是因为我在本地安装 SQL Server 2012 的时候只选择安装了 Tabular Mode,而这个Demo项目是多维数据集项目,在 SQL Server 2012 中被称之为 Multidimensiona…
一. 聚集索引B树分析1.聚集索引按B树结构进行组织的,索引B树种的每一页称为一个索引节点.B树的顶端节点称为根节点.  索引中的低层节点称为叶节点.根节点与叶节点之间的任何索引级别统称为中间级.在聚集索引中,叶节点包含基础表的数据页.  根节点和中间级节点包含存有索引行的索引页.每个索引行包含一个键值和一个指针,该指针指向 B 树上的某一中间级页或叶级索引中的某个数据行.每级索引中的页均被连接在双向链接列表中. 2.索引使用的每一个分区的index_id = 1 ,默认情况下聚集索引单个分区,…
一.背景 1.1 问题描述 近期发现一台SQL Server的CPU利用率很不稳定,发现不定时的飙升到100%,更可怕的是在业务繁忙时,影响了业务调用,失败率明显增加,所以,减低CPU的利用率,是迫切需要解决的问题. CPU升高的原因直观上来说,就是CPU(中央处理器)的负载过高, 中央处理器忙不过来.进一步分析的话,可以从两个角度优化,1.减少单个CPU 的处理时间:2.减少单个任务占有的CPU核数,即一个任务不要分配太多的CPU核数. 1.2 优化的方法 1.表结构的优化,例如索引是否合理.…
昨天就搞下来的,但是是工具搞得,为了比赛还是抛弃一阵子的工具吧.内容相对简单,可掠过. 报错得到sql语句: DataSet ds2 = BusinessLibrary.classHelper.GetList("ID,catID,title as catTitle,'Content2.aspx' as url,createTime,orderID", "cat_article", "((title like '%" + strkeys + &qu…
这里使用的是参数化 SqlParameter useremail = new SqlParameter("@useremail", user.user_Email); SqlParameter pwd = new SqlParameter("@pwd", user.user_pwd); SqlParameter type = new SqlParameter("@type", user.user_Type); SqlParameter phone…
目录 python 交互式命令行数据库连接助手 0. 操作示例 1. python 连接mssql 2. python 连接mysql 3. python 连接redis n. Tips python 交互式命令行数据库连接助手 目前支持mysql .mssql .redis 完整代码已上传至github https://github.com/b4zinga/PythonTools/blob/master/dbcli.py 0. 操作示例 python 连接mysql: python连接mssq…
http://www.cnblogs.com/gaizai/archive/2012/01/20/2327814.html…
[sql] view plain copy ---查看现在所有的事务 select '正在运行事务的会话的 ID'=session_id, --session_id与transaction_id的对应关系 '事务的 ID'=transaction_id, '正在处理事务的会话中的活动请求数'=enlist_count, then '事务由用户请求启动' then '系统事务' end, then '分布式事务或登记的绑定会话事务' then '本地事务' end, then '非登记的分布式事务…
sql server环境测试: 几个特性: 1.sql server兼容性可以说是最差的. 举例: select x from y where id=1 字符串查询 select x from y where id='1' 这是会报错的,不允许的 select x from y where id="1" 假设y表有列名name,那么 select x from y where id="name" 为真. 那么利用这个特性我们可以爆破这个表的列名. sql serve…
最近的一次渗透测试里,在我们捕获的一些数据包中发现了一些未经加密的 Microsoft SQL Server(MSSQL) 流量.起初,我们认为这样就可以直接嗅探到认证凭证,然而,MSSQL 加密了认证的流量,这就意味着我们需要先解密才能获取到认证凭证.如果安装的是一个自签名证书,就很容易进行破解. 不幸的是,破解 MSSQL 加密不在授权范围之内,我们不得不先放下好奇心完成对客户的渗透测试.不过,因为心里总想着一件事以至于无法继续正常进行工作,我们可以在没有用户凭证的情况下攻击 SQL Ser…
1.全量数据备份    备份整个数据库,恢复时恢复所有.优点是简单,缺点是数据量太大,非常耗时 全数据库备份因为容易实施,被许多系统优先采用.在一天或一周中预定的时间进行全数据库备份使你不用动什么脑筋.使用这种类型的备份带来的问题是非常缺乏灵活性,而且当数据库被冲掉后,你面临丢失大量数据的潜在威胁.例如,假设你每天在午夜备份数据库. 如果服务器在晚上11点崩溃了,你将丢失前面23个小时对数据所做的全部修改.对大多数系统来说,这是无法接受的.对此规则,为数不多的例外如下: 1.系统中所存的数据可以…
查看目的: 错误日志的查看是确保过程已成功完成(例如,备份和恢复操作,批处理命令,或其他脚本和过程).这可以帮助检测任何当前或潜在的问题,包括自动恢复信息(尤其是如果SQL Server实例已停止并重新启动),内核信息,或其他服务器级别的错误消息. 存放位置: 默认情况下, sql error log的位置(SQL SERVER 2005)在: %PROGRAMFILES%\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG and ERRORLOG.…
原文:SQL Server 连接问题-TCP/IP 出自:http://blogs.msdn.com/b/apgcdsd/archive/2012/02/24/ms-sql-server-tcp-ip.aspx TCP/IP的基本工作原理这里就不浪费口水了.现在这网络年代,谁不知道TCP/IP啊.不要跟我抬杠说你偏就没听说过TCP/IP阿,真是这样那你得自己去补补课了. TCP/IP协议有两个基本的东西,一个是IP地址, 另一个是端口号. 在SQL Server 上使用TCP/IP协议是非常简单…
使用OPENROWSET爆破SQL Server密码   OPENROWSET函数是SQL Server提供的一个连接函数.它可以用于使用OLE DB方式连接一个数据库,并进行数据查询等操作.使用该函数的时候,需要指定连接的目标.用户.密码等信息.渗透测试人员可以利用该函数,通过指定密码字典的方式来对数据库用户进行爆破.   例如,Kali提供的SQL Server数据库注入工具sqlninja就利用了该函数.如果注入成功后,却发现只获取了普通用户权限.这时,就可以通过该函数构建一个连接,以sa…
问题:升级windows10后,sql server 2005 无法运行或sql server服务&sql server agent无法启动,如下图,怎么办? 一般情况下,我们第一反应就是sql server 服务未启动,然而我们去启动服务的时候发现,并没有什么^_^用: 其实问题不是在于服务启动与否,而是在于win10与sql server 2005并不兼容,那么问题来了,该怎么兼容呢? 一步操作到位 将sqlos.dll与sqlservr.exe(请前往下方链接下载)覆盖到~:\Progra…
来自百度 1.停止数据库服务器,将数据库MDF文件和LDF文件复制备份一份2.启动数据库服务器,删除置疑的数据库3.仅用备份的数据库MDF文件附加数据库,sp_attach_db或者sp_attach_single_file_db可以附加数据库,出现类似下面的提示信息:设备激活错误.物理文件名 'C:\Program Files\Microsoft SQL Server\MSSQL\data\myDb_Log.LDF' 可能有误.已创建名为 'C:\Program Files\Microsoft…
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/高性能解决方案 概述 环境: 域服务器:windows server 2008 R2 SP1,192.168.2.10 DNS:192.168.2.10 CLU11, windows server 2008 R2 SP1 ,192.168.2.11,SQL Server 2012 Enterprise (64-bit) CLU12, windows server 2008 R2 SP1 ,192.168.2.12,SQL Se…