SqlServer之一些小问题】的更多相关文章

如何用变量代替字段名? 将语句赋给一个varchar 变量,下列语句等价于(假设传进去的@id=’name‘):'select  name from 表名' 如果直接执行这个语句,是没用的.@id不会被识别为字段名. ALTER PROCEDURE 存储过程名 ), AS BEGIN ) set @sql='select ' +@id+' from 表名' exec(@sql) END sql语句中如何给varchar类型变量加上' ' ?   sql 里如果要在语句中使用单引号,要在加上一个’…
我们在开发的过程中,经常会遇到一些性能差的问题,此刻我的解决思路一般是,首先在浏览器端监控查看是哪一个调用的方法占用的时间比较长如下图,然后会根据方法定位到具体的方法,然后可能是自己写的遗传sql语句,此刻就是分析你的语句到底哪一句占用的时间比较长了. 1.浏览器端监控方法调用及其响应的时间(以博客园为例),首先大家最熟悉的F12打开浏览器开发者工具,然后如下图 2.定位到具体方法,分析sql语句 首先,将你的语句粘贴到sqlserver中(些许啰嗦),然后在执行界面右键,如下图,进行你的分析就…
1.高效分页sql和储存过程 select top 每页条数 * from ( select ROW_NUMBER() over (order by id)as nid ,* from table01 ) as a )) 储存过程 if(exists(select * from sys.procedures where name='proc_MyPage')) drop proc proc_MyPage go Create proc proc_MyPage ( @PageSize int, @C…
怎样查出SQLServer的性能瓶颈 --王成辉翻译整理,转贴请注明出自微软BI开拓者[url]www.windbi.com[/url]--原帖地址 如果你曾经做了很长时间的DBA,那么你会了解到SQLServe的性能调优不是一个精密的科学.即使是,对于为最佳的性能找到最佳的配置也是很困难的.这是因为对于调优来说很少东西是绝对的.例如,一个性能调优可能对某一方面有用,可是却会影响其他的性能. 我曾经做过DBA,在最后7年的日子里,我总结了一套SQLServer调优的清单.当第一次进行SQLSer…
怎样查出SQLServer的性能瓶颈 --王成辉翻译整理,转贴请注明出自微软BI开拓者[url]www.windbi.com[/url]--原帖地址 如果你曾经做了很长时间的DBA,那么你会了解到SQLServe的性能调优不是一个精密的科学.即使是,对于为最佳的性能找到最佳的配置也是很困难的.这是因为对于调优来说很少东西是绝对的.例如,一个性能调优可能对某一方面有用,可是却会影响其他的性能. 我曾经做过DBA,在最后7年的日子里,我总结了一套SQLServer调优的清单.当第一次进行SQLSer…
存储过程编写经验和优化措施 一.适合读者对象:数据库开发程序员,数据库的数据量很多,涉及到对SP(存储过程)的优化的项目开发人员,对数据库有浓厚兴趣的人. 二.介绍:在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作.如果项目的SP较多,书写 又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以理解,另外如果数据库的数据量大或者项目对SP 的性能要求很,就会遇到优化的问题,否则速度有可能很慢,经过亲身经验,一个经过优化过的SP要比一个性能…
原文地址 http://www.cnblogs.com/zhycyq/articles/2636748.html 50种方法优化SQL Server数据库查询 查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷…
原文:查看SQLSERVER内部数据页面的小插件Internals Viewer 查看SQLSERVER内部数据页面的小插件Internals Viewer 感觉internals viewer这个名字起得很好,内部查看. 这个小工具是我之前看园子里的某大侠转载的文章是看到的 文章地址:SQL Server2008存储结构之堆表.行溢出 http://www.cnblogs.com/trams/archive/2010/09/11/1823727.html 这几天研究了一下这个小工具,发现挺好用…
原文:小程序大智慧,sqlserver 注释提取工具 开篇背景 我习惯在写表的创建脚本时将注释直接写在脚本里,比如 /*账套*/ CREATE TABLE [dbo].[AccountingBook] ( [IDNO] NVARCHAR (255) NOT NULL, /*ID*/ [BH] NVARCHAR (255) NULL, /*业务编号*/ [Name] NVARCHAR (255) NOT NULL, /*名称*/ [Decription] NVARCHAR (255) NULL,…
这是一款简单的数据库文档生成工具,主要实现了SQlServer生成说明文档的小工具,目前不够完善,主要可以把数据库的表以及表的详细字段信息,导出到 Word中,可以方便开发人员了解数据库的信息或写技术说明文档. 技术上主要采用的 C#+Dapper+Npod ,开发工具为Vs2015,基于Net4.5框架. 实现思路: 1.首先获取数据库的字符串,测试链接是否成功, 2.通过脚本获取该服务器的数据库列表. 3.根据数据库找到该数据库的所有数据表 4.通过脚本找到该数据表所有的字段信息 5.使用N…
这是一款简单的数据库文档生成工具,主要实现了SQlServer生成说明文档的小工具,目前不够完善,主要可以把数据库的表以及表的详细字段信息,导出到 Word中,可以方便开发人员了解数据库的信息或写技术说明文档. 技术上主要采用的 C#+Dapper+Npod ,开发工具为Vs2015,基于Net4.5框架. 操作Word代码 NPoi public void CreateToWord(List<string> list,string conStr,string db) { XWPFDocume…
通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的脾气秉性(二).   前言 读完上篇<通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的本质(一).>,相信大家对span的本质应该非常清楚了.含着金钥匙出生的它,从小就被寄予厚望要成为.NET下编写高性能应用程序的重要积木,而且很多老前辈为了接纳它,都纷纷做出了改变,比如String.Int.Array.现在,它长大了,已经成为.NET下发挥关键作用的新值类型和一流成员. 那我们又该如何接纳它呢? 一句话,熟悉它的脾气秉性…
原文:SqlServer 复制中将大事务分成小事务分发 在sql server 复制中,当在发布数据库执行1个大事务时,如一次性操作 十万或百万以上的数据.当操作数据在发布数据库执行完成后 ,日志读取器代理将扫描事务日志,一次性传递到分发数据库中.若上个事务未传递完成,连续执行多个事务,日志读取器代理将扫描日志中多个事务同时传递到分发数据库中,默认最大扫描500个事务.如果执行多次上百万或千万的数据将堵塞很久. 日志读取器代理可配置将大事务划分为多个小事务进行传递到分发数据库中,分发队列则按照小…
日期:2020.01.08 博客期:121 星期三 今天对过去整个大二和大三上半学期用到的数据库的方法进行汇总,可以有效的使用.套用,每一个部分都有<软件设计模式>知识,上述代码满足了开闭原则,如果要使用此代码,只需添加数据类继承已经写好的类就可以了,无需修改. 开发项目中,项目整体结构: 类图: 源码: com包: com.dblink包: com.dblink.basic包: package com.dblink.basic; import java.sql.Connection; imp…
表结构: CREATE TABLE [dbo].[Students]( ,) NOT NULL, ) NULL, [Sex] [int] NOT NULL, ) NULL, ) NULL, , ) NOT NULL, ) NULL, CONSTRAINT [PK_Students] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,…
一.孤立账号 SQL Server 的用户安全管理分两层,整个SQL Server 服务器一层,每个数据库一层. 在服务器层的帐号,叫登录账户(SQL Server:服务器角色),可以设置它管理整个SQL Server服务器(开启跟踪,修改 Sql Server 安全配置,备份所有数据库等). 在数据库一层,叫数据库账户(SQL Server:数据库角色),可以设置它对这个特定的数据库有读写.修改表结构.存储过程定义等权限. 登录帐号对于服务器而言的,数据库用户是针对特定数据库来讲的.就相当于一…
一.差异集锦 在建表的时候,只有自增的语法不同. 下面给出3种数据库通用的建表与初始化测试语句: CREATE TABLE Country( Id int PRIMARY KEY, Name ) ); CREATE TABLE Person ( Id int PRIMARY KEY, CountryId int, Name ) NOT NULL UNIQUE, Sex , CONSTRAINT FK_CID_PID FOREIGN KEY (CountryId) REFERENCES Count…
1.在sqlserver下直接画ER图 步骤:点击数据关系图 右击新建数据关系图这样就ok 了 2,查看表的设计结构或表中的数据 步骤:右击选择设计或查看前百行 3,监测程序对数据库的操作 点击工具 然后里面有个SqL Server  profiler 点击进去打开服务就可以监控程序对数据库的操作了…
前言:任何的优化和修改都是以业务情况为前提,可能有的写的有误或者不准确的地方,欢迎各位来拍砖. 1.在创建db的时候自增长建议设置成按MB(M)增长,步长根据业务量来设置,一般情况建议设置100-200M(见图片),还有就是尽量别改初始大小,这个默认就好. 如果按照数据文件(mdf)按照默认的1m增长,同时db的业务写入比较频繁,那数据库就会频繁的向磁盘请求空间,会造成不必要的io消耗,也会因为申请空间造成资源等待等问题. 如果把日志文件(ldf)按照默认的百分比10%增长,同样当db业务量很大…
平时做个记录,在工作过程中针对大数据查询的一些小技巧 -----------SELECT------------- 1.必要的冗余字段,减少关联查询 2.关键查询字段必须加索引 否则百万级以上你就别想跑出来了,一下子吃掉你内存 3.top使用的时候 先用MAX判断下 ,因为数据库是隔一段时间删除之前的数据,如果top1 在百万级以上 你查询一条根本不存在的数据, 时间会特别久 甚至吃光你的内存 4.多用SQL监控语句 查看数据库查询不合理的地方,具体查询SQL在我上一条博客 ----------…
版权声明:本文为博主原创文章,未经博主允许不得转载.本人观点或有不当之处,请在评论中及时指正,我会在第一时间内修改. https://blog.csdn.net/aiming66/article/details/80717802 在工作中遇到了这样的一个问题,就是需要将查询出来的数据进行分类汇总.这里用到了with rollup.下面是效果图.这里写图片描述 为了得到这样的效果,我们该如何做呢,我们来做这个小demo.数据库字样 这里写图片描述需求分析 本实例为demo,没有任何意义.仅仅是为了…
SELECT CASE WHEN GROUPING(F1) = 1 THEN '总计'WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 1 THEN  F1+'合计'WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 0 AND GROUPING(F3) = 1 THEN  F1+'的'+F2+'小计'ELSE F1        END AS F1 ,        CASE WHEN GROUPING(F3) = 1 THEN '…
大纲:简单查询-选择数据列,使用字符串,改变列标题,使用数据运算,使用ALL语DISTINCT关键字,使用TOP关键字,排序 优酷超清地址,为了冲优酷的访问量,所以这里只放优酷的地址了,其实其他网站还是都传了的哈. 代码下载 http://www.cnthc.com/?/article/158…
大纲:简单查询-选择数据列,使用字符串,改变列标题,使用数据运算 优酷超清地址,为了冲优酷的访问量,所以这里只放优酷的地址了,其实其他网站还是都传了的哈.…
之前按网络上过程配置完成后,连接都很正常.今天看的时候,突然就连接不上了.弄了半天,终于知道问题在哪里了.…
(1)取别名 as 省略 as XX= select 'a' as name select 'a' name select name='a' 示例…
有时候可能需要检测下某台机器的服务是不是起来了,或者某台机器的某个库是不是能被连接又不能打开ssms也不想登陆服务器的话就可以用这个方法. 1.在桌面上右键创建个文本,然后改后缀名为udl以后保存(1.udl),至于udl是什么各位可以百度下这里就不细说了. 2.打开这个文件以后输入服务器的ip(因为我是本机所以用了实例名)和用户名密码就可以测试连接了,是不是很方便.…
近来有许多人问起SQL在线管理的问题,遂将以前用过的一个开源SQL 在线管理工具修改了一下,并分享. 看下效果图: 原项目的地址:http://sourceforge.net/projects/asp-ent-man/files/ 邀月修改后的项目:vs2010版本:下载二下载一vs2005版本:下载三 http://blog.itpub.net/16436858/viewspace-664615/ http://sourceforge.net/projects/asp-ent-man/file…
在学习asp.net的时候使用mssql‘经常会出现这种错误,数据库不能重名名5030的错误,其实很简单原因就是有应用程序正在占用这个连接,使用这样一行命令就可以查询出正在占用的连接 use master select spid from master.dbo.sysprocesses where dbid=db_id(‘ODatabaseName‘) 这时我们就有两个解决方案方案一就是使用 use master kill 54 方案二就是在现有数据库上设置单用户模式…
1.自定义4个常用的存储过程: sp_select :select * from sp_helpremark :查表的列,列的类型,备注(这里只查询有备注的列) sp_columns1 : 查表所有的列,列的类型,length sp_columns2 :查表所有的列,横向显示 注意:上面4个自定义存储过程,必须在查询分析器中执行后,才能快捷键使用. A) sp_select : )) as begin set @sql='select * from ' + @sql; exec (@sql);…