MS SQL管理与开发
人鱼传说
这个作者很懒,什么都没留下…
展开
-
取数据库物理文件路径
/*功能:取数据库物理文件路径创建人:baronyang创建时间:2009-6-29适用:SQL2005*/Alter function Fn_Ex_GetDBPath(@DBName nvarchar(255),--数据库名 @GetType tinyint=1)--获取类型,1取主文件路径,2取日志文件路径 returns nvarchar(1000)asbegin declare @fil原创 2009-06-29 10:30:00 · 1074 阅读 · 4 评论 -
存储过程调用存储过程数据集的方法
A存储过程调用B存储过程,A需要B的返回数据集原创 2017-03-21 16:27:18 · 1827 阅读 · 0 评论 -
.net 事务嵌套存储过程事务的处理方法
网上有很多这样的问题分析,无非以下两种情况:1、begin tran 后没有rollback tran 或commit tran2、应用程序数据库连接事务不在一个会话中;但以后我要说的情况有点特别,先说一下场景:1、.net 开发环境2、使用sqlconnection对象发起事务3、事务内有多个存储过程4、各存储过程内有自已的事务总之就是sqlconnect原创 2016-10-12 23:22:56 · 2070 阅读 · 0 评论 -
SQL SERVER 分页
--获取总页码 pagesSELECT CEILING(COUNT(*)/25.0) AS ROWCOUN FROM cgddLabLE_tEMP WHERE ddrq='2013-06-29'--当前页码page--每页行数Size:15-- 计算当前页的开始行和结束行 page-1*size+1,page*size--第一页:0*15+1=1, 1*15=15--第二页:1*15+原创 2015-12-29 23:23:33 · 457 阅读 · 0 评论 -
mssql server 2008 r2 sp2修复问题列表
In addition to the fixes that are listed in this article, SQL Server 2008 R2 SP2 contains the hotfixes that were included in Cumulative Update 1 through Cumulative Update 5 for SQL Server 2008 R2 Serv转载 2013-12-08 13:47:42 · 2041 阅读 · 0 评论 -
科力德一卡通系统查询SQL重写
公司一直用的是科力德的一卡通系统,由于数据越来越大,直接用科力德一卡通系统客户端查询数据异常慢,查一周的数据4774笔消费明细数据,需要1分30秒,查询一个月的不知道要多久(一直忙的状态),业务部门每月都要用消费数据做汇总,必须查询出来做汇总分析,如是经分析,了解了一卡通系统的数据结构,查询效率快得多,查一个月的数据3万多笔,也才3秒钟,现将查询代码分享给使用该系统的朋友们!/********原创 2013-05-31 16:33:28 · 1949 阅读 · 1 评论 -
数据精度问题搞死人
今天在做绩效分配计算,每个部门都无规则的少了一些可用绩效,算法:可用绩效=(考勤绩效/考勤绩效之和)*可用绩效总额 ,算法是没问题,发现是可用绩效总额的变量类型使用不当,做以下更改后:1、可用绩效总额@Sum1变量类型由 money 转为 float2、考勤绩效之和@KQSum变量类型由money 转为 float2、(考勤绩效/考勤绩效之和)*可用绩效总额公式改为 (cast(原创 2012-11-06 14:15:59 · 900 阅读 · 2 评论 -
50种方法巧妙优化你的SQL Server数据库
注:本文来自http://blog.btidea.com/article.asp?id=440 放在此处是为了个人学习方便,并无盗用他人之意!查询速度慢的原因很多,常见如下几种: 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4转载 2012-09-19 11:37:05 · 1137 阅读 · 2 评论 -
MSSQL SET datefirst 的使用注意
在MSSQL中,可以将一周的第一天设置为从 1 到 7 的一个数字,以下是对应关系表值一周的第一天是1 星期一2 星期二3 星期三4 星期四5 星期五6 星期六7(默认原创 2012-02-06 15:59:55 · 4031 阅读 · 3 评论 -
递归在MSSQL开发中的应用
在人力资源管理系统中,常常会有通过工号查找其所在部门主管的需求,但员工所在部门不一定有主管,可能要在上级才有,这时就需要用递归的方式将其主管找出来,MSSQL代码:/* 功能:取得指定部门代码的部门负责人 创建人:baronyang 创建时间:2008-12-23 */ CREATE FUNCTION [dbo].[Fn_GetDepManager] (原创 2011-11-09 12:56:29 · 1186 阅读 · 2 评论 -
Set noexec on 与 Set parseonly on的区别及SQL语法检查
Set noexec 表示编译但不执行语句。 Set parseonly 表示解析但不编译或执行语句我们可以用来将SQL语法检查集成中到我们的系统中,如下SQL代码--设置只检查SET PARSEONLY on--被检查的代码create procedure My_Procascreate table My_tb1(a int,b varchar(20))drop T原创 2011-11-25 09:33:26 · 3542 阅读 · 5 评论 -
表变量与临时表在分布式事务中的应用效果差异
应用场景:将分公司的考勤数据保存到总公司数据库 实现方法:分公司考勤机将数据写入公网的中转数据库,主数据库计划任务定执执行存储过程,从中转数据库读取考勤数据,写入主数据库后,将中转数据库数据转存至历史表并删除原表记录,这一过程通过分布式事务存储过程完成。 在分布式事务存储过程中,读取数据的数据先用分别用表变量和临时表保存,主数据库考勤表数据量为113万笔,每次从中转数据原创 2011-11-08 11:49:23 · 1009 阅读 · 2 评论 -
批量更新的触发器问题
原来update触发器只会被update触发一次,无论更新的记录数是多少,以下为验证代码CREATE TABLE TMP_TABLE1 (PersonCode VARCHAR(20) NOT NULL PRIMARY KEY,[NAME] VARCHAR(50) NULL,DepCode VARCHAR(20) NULL,Amount MONEY null)CREATE TABLE TMP原创 2010-01-11 15:18:00 · 6899 阅读 · 2 评论 -
聚集索引与非聚集索引的区别与理解
聚集索引(Clustered Index)聚集索引的叶节点就是实际的数据页 在数据页中数据按照索引顺序存储 行的物理位置和行在索引中的位置是相同的 (会改变数据实际的存放位置)每个表只能有一个聚集索引 聚集索引的平均大小大约为表大小的5%左右使用用了聚集索引最大的好处:用索引字段查询非常快,而且已经是排好序的 非聚集索引 (Unclustered In原创 2010-01-20 15:38:00 · 932 阅读 · 2 评论 -
SQL 2005 权限控制粒度
SQL2005权限控制得很细,到了列一级,我们可以让登录用户只能查询、更新哪些表或列,或新增记录,以下演示了一个权限控制的例子:第一步创建登录名和用户名--创建登录名:Viewer,db1为默认数据库,123456为密码create login Viewer with password=123456,default_database=db1;原创 2009-07-05 13:29:00 · 1759 阅读 · 2 评论 -
MSSQL联表查询优化
联表查询是数据库系统常用的SQL方法,内联查询更是非常常见,如主表与明细查询,当主从表数据不大时,直接内联查询,其性能是可以接受的,当数据记录达到10万级、百万级、千万级时,直接内联查询,其性能就难以接受了(超过2秒的查询都会让用户很焦躁),特别是还有客户端在同时写操作,这里可以看一下优化实例:A、未优化前的MSSQL-- =================================原创 2017-07-14 16:09:47 · 504 阅读 · 0 评论