
Sql Server
文章平均质量分 61
chelen_jak
这个作者很懒,什么都没留下…
展开
-
存储过程修改记录
原文出处:https://blog.youkuaiyun.com/trouble0914/article/details/122924843前言最近在维护历史项目、项目中用的Sqlserver 数据库还有存储过程,动辄几千行的存储过程着实让我惊呆了。不仅如此修改存储过程也是一件很是头疼的事情,因为team中会存在多人维护一个存储过程办公室经常出现,谁把谁的存储过程覆盖了,没有修改记录怎么查。我也没有找到好的解决办法,大家有好的办法,欢迎评论区留言。但是可以查询到存储过程的修改时间、看看有没有被修改通转载 2022-05-09 09:32:04 · 1137 阅读 · 0 评论 -
查看存储过程修改时间
原文出处:https://www.cnblogs.com/Xbingbing/p/9326156.html1. 查看存储过程修改时间select * from sys.procedures WHERE name = 'proc_name'2. 查看存储过程最近执行时间select * from sys.dm_exec_procedure_stats3. 查看存储过程修改时间和最近执行时间SELECT a.name,b.* FROM sys.procedures a LEFT JOIN..转载 2022-05-09 09:25:37 · 4051 阅读 · 0 评论 -
SQL With As 用法
原文出处:https://www.cnblogs.com/linyijia/p/11238992.html一.WITH AS的含义WITH AS短语,也叫做子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断会被整个SQL语句用到。可以使SQL语句的可读性更高,也可以在UNION ALL的不同部分,作为提供数据的部分。对于UNION ALL,使用WITH AS定义了一个UNION ALL语句,当该片断被调用2次以上,优化器会自动将该WITH AS短语所获取的数转载 2021-05-26 10:37:53 · 376 阅读 · 0 评论 -
一款好用且免费的语句分析工具Plan Explorer
原文出处:https://blog.youkuaiyun.com/weixin_30872733/article/details/97910116?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-2&spm=1001.2101.3001.4242转载 2021-01-27 18:06:35 · 559 阅读 · 0 评论 -
EXISTS、IN与JOIN性能分析 (实用)
原文出处:https://blog.youkuaiyun.com/caomiao2006/article/details/52099450?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242EXISTS、IN与JOIN,都可以用来实现形如“查询A表中在(或不在)B表中的记录”的查询逻辑。在论坛上看到很多人对此有所误解(如关于in的疑惑、用外连接和IsNull代替notin两帖),...转载 2020-12-07 15:06:25 · 3589 阅读 · 0 评论 -
优化存储过程参考资料(实用、收藏)
一、分析存储过程重编译的起因以及避免https://blog.youkuaiyun.com/ajwqb06628/article/details/102071150二、SQL优化:重新编译存储过程和表https://www.cnblogs.com/momogua/p/8304445.html三、SQL Server中存储过程比直接运行SQL语句慢的原因http://www.360doc.com/content/11/0503/13/6075898_114035037.shtml四、参数探测(Paramete原创 2020-07-27 08:59:19 · 245 阅读 · 0 评论 -
谁占用了我的Buffer Pool?
原文出处:https://docs.microsoft.com/en-us/archive/blogs/apgcdsd/buffer-pool01/10/2011 4 minutes to read我在做SQL Server 7.0技术支持的时候有客户问我,“我的SQL Server buffer pool很大,有办法知道是哪些对象吃掉我的buffer Pool内存么?比方说,能否知道是哪个数据库,哪个表,哪个index占用了buffer Pool么?”当时我没有找到这个问题的答案,但是我一直记.转载 2020-07-23 09:29:44 · 168 阅读 · 0 评论 -
SQLSERVER临时表引发的“锁“案
原文出处:https://www.cnblogs.com/royliugc/p/5051265.html在一个CS结构的项目里使用SQLServer时碰到一个有意思的现象,以下是从日志中摘出来的用户操作:用户A的操作会引发程序在事务中使用Local临时表,例如:1 BEGIN TRAN2 3 SELECT * INTO #temp FROM DB1.dbo.Table14 5 --do something6 7 DROP TABLE #temp8 9 COMMIT TRAN转载 2020-07-22 18:18:45 · 662 阅读 · 0 评论 -
DBCC CHECKDB 手工修复数据库
原文出处:https://blog.youkuaiyun.com/weixin_42384291/article/details/81149294?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.n转载 2020-06-29 09:45:11 · 697 阅读 · 0 评论 -
解决:Sql导入Excel,部分混合型字段数据丢失 (实用)
一、起因今天帮客户将Excel表导入数据库后,发现某些记录的 “电话” 字段中的值丢失了(什么鬼啊,Excel中明明有值的啊!)上网后看了1、《SQL导入Excel数据时,数字中混有字符将导致数据丢失的解决办法》 (无验证)2、《Excel导入SQL Server数据库时部分内容消失的问题》 (验证了,还是不行)【得知】Excel用前面8行来推断栏位的数据类型, 如果推断的是“字...原创 2019-10-16 15:44:31 · 2066 阅读 · 0 评论 -
Sql Server 千位分隔符
Sql Server 千位分隔符 select convert(varchar(10),cast(123456.34 as money),1) <br /> <br /> 0(默认值) 小数点左侧每三位数字之间不以逗号分隔,小数点右侧取两位数,例如 4235.98。 <br /> 1 小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如 3,510.92。 <br /> 2 小数点左侧每三位数字之间不以逗号分隔,小数点右侧取四位数,转载 2010-08-05 15:26:00 · 5944 阅读 · 0 评论 -
暂停/启用所有触发器及外键约束
<br />/*<br />说明: 暂停/启用所有触发器及外键约束<br />*/<br />ALTER PROCEDURE [dbo].[P_set_trigger] @flag bit AS<br />SET NOCOUNT ON<br />DECLARE @TableName sysname, @ConstraintName sysname, @Action nvarchar(7), @SQLString nvarchar(500)<br />-- TRIGGER<br />SET @Action原创 2010-12-31 16:33:00 · 1485 阅读 · 0 评论 -
从字符串中抓取日期
/*功能: 从字符串中抓取日期历史: 2011-12-21 Chelen 创建*/create function f_cmd_GetDate ( @SDate varchar(50) -- 包含日期的字符串 )returns DateTime ASBegin declare @RetValue DateTime declare @Exp va原创 2011-12-21 21:15:42 · 1088 阅读 · 0 评论 -
SQL SERVER 2000 自动下载木马病毒 cmd.exe和ftp.exe解决办法
SQL SERVER 2000 自动下载木马病毒 cmd.exe和ftp.exe解决办法 来源:本人在Windows 2003和windows 7 下安装SQL SERVER 2000就算打了SP4补丁也会中毒,莫名其妙的自动下载木马,不定期随机在system32下生成.exe病毒,而且清除了以后,一会儿又自动生成。但是在XP下还没遇到过这种情况,很是纠结,查了很多资料现在转帖一个转载 2011-11-04 16:05:57 · 6071 阅读 · 0 评论 -
日期的处理
【取月的第1天】create Function [dbo].[F_FirstDayOfTheMonth] ( @Year int, -- 年度 @Month int -- 月份 )RETURNS DateTimeASBEGIN DECLARE @FirstDay DateTime set @FirstDay = Convert(DateTime,原创 2011-12-31 12:08:15 · 467 阅读 · 0 评论 -
抓取日期值函数
格式:select dbo.f_cmd_GetDate('交车日期为:2012-2-29') -- 按“月-日-年”格式取值结果: 2012-02-29 00:00:00.000格式:select dbo.f_cmd_GetDate('交车日期为:2012年02月29号') -- 按“月-日-年”格式取值结果: 2012-02-29 00:00:00.000 格式:sel原创 2012-02-20 10:44:24 · 761 阅读 · 0 评论 -
SQL2008常用方法
/*作者:chelen日期:2011-02-19描述: 獲取@Table的字段信息 for SQL2008參數: @Table - 操作表名 @Field - 要查看的字段,不輸入為全部字段*/create Procedure [dbo].[sp_ShowTable] (@Table NVarchar(776), @Field NVarchar(776)=''原创 2012-03-29 17:11:11 · 762 阅读 · 0 评论 -
SQL SERVER2000使用AWE进行内存优化
来源:http://www.soaspx.com/dotnet/sql/mssql/sql2000/sqlserver2000_20110919_8067.html 今年年初的时候一个客户打电话抱怨系统随着时间的推移越来越慢,在正常情况下还能够忍受,如果系统出现数据问题需要重新执行,那可以想象在某一个时间急着需要报告而系统确是默默唧唧在拉破车,换谁都无法忍受。随之,我们调查这个问转载 2012-04-28 10:58:59 · 6579 阅读 · 1 评论 -
取日期相交記錄
declare @Holiday table ( ID int identity(1,1), SDate DateTime, EDate DateTime, Remark varchar(30) )insert into @Holiday(SDate, EDate, Remark) values('2012-03-10', '2012-03-15', 'A')原创 2012-04-17 16:31:58 · 960 阅读 · 0 评论 -
SQL Server 中 RAISERROR 的用法
原文:http://www.cnblogs.com/xugang/archive/2011/04/09/2010216.htmlraiserror 是由单词 raise error 组成 raise 增加; 提高; 提升raiserror 的作用: raiserror 是用于抛出一个错误。[ 以下资料来源于sql server 2005的帮助 ] 其语法转载 2012-05-16 11:33:06 · 833 阅读 · 0 评论 -
清除数据库日志
【命令清除】DUMP TRANSACTION 数据库名 WITH NO_LOGDBCC SHRINKFILE(数据库日志文件名, 1)例:要清数据库 ABC 的日志DUMP TRANSACTION ABC WITH NO_LOGDBCC SHRINKFILE(ABC_Log, 1) -- 数据库日志文件名一般为:数据库名 + _Log【用企业管理器清除】1.右键单击需要清理的数...原创 2012-05-18 11:17:41 · 934 阅读 · 0 评论 -
防火墙开启端口
原文:http://topic.youkuaiyun.com/u/20120208/16/d3852724-1658-44ea-aadf-69ecd9aabac7.html 进入控制面板->Windows防火墙 点击左边的高级设置进入高级设置页面后,右键点击左边的“入站规则”,选择“新建规则” 在弹出的新建入站规则界面,选择“端口”这个单选按钮,点击 下一步 在本地特定端口后填写 14转载 2012-05-19 16:43:35 · 834 阅读 · 0 评论 -
WIN7系统下安装SQLServer2000 + sp4数据库报错之解决办法
原文:http://juntalk.com/sqlserver.htmlJun写这篇博文时,心里有点忐忑,有点不安,因为此方法有没有什么后遗症,Jun不是很清楚的。但Jun很兴奋,折腾了将近36个小时,Jun终于把这个问题解决了。大概的过程是这样的:Jun昨天开始学网页后台,第一节课教得是SQLServer数据库,教我们怎么安装,一些基础的查询语句,上完课后,Jun就兴致勃勃的回家安装;因转载 2012-05-19 16:51:10 · 13701 阅读 · 1 评论 -
修改SQL Server 2000的端口号
原文:http://wenku.baidu.com/view/43f5ad17a2161479171128d5.html一、看ping 服务器IP能否ping通。 这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。二、在Dos或命令行下输入telnet转载 2012-05-19 16:40:08 · 9180 阅读 · 0 评论 -
sql2005新增排序方法
原文: http://www.cnblogs.com/phw0921/archive/2009/10/23/1588847.html排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:1. row_number2. rank3. dense_rank4. ntile 下面分别介绍一下这四个排名函数的转载 2012-06-13 18:17:01 · 745 阅读 · 0 评论 -
使用事务与锁,实现一个用户取过的数据不被其他用户取到
原文:http://blog.youkuaiyun.com/zjcxc/article/details/1133843 问题描述:用ADO访问数据库,从一个表中取一定的记录(比如20行),取出后在程序中使用,使用完后删除掉记录(不用更新或删除记录)。在多用户操作下(每个用户采用相同的操作),怎么保证一个用户已选取的记录不被其他用户选取? 问题解决:处理这类问题的一般方法转载 2012-06-15 15:08:56 · 566 阅读 · 0 评论 -
浅谈mssql2000的sp_recompile和sp_refreshview
原文:http://blog.youkuaiyun.com/caboliu/article/details/25360691、sp_recompile 说明:使存储过程和触发器在下次运行时重新编译原因:存储过程和触发器所用的查询只在编译时进行优化。对数据库进行了索引或其它会影响数据库统计的更改后,已编译的存储过程和触发器可能会失去效率。通过对作用于表上的存储过程和触发器进行重新编译,可以重新优查询。方转载 2012-06-20 14:51:36 · 1373 阅读 · 0 评论 -
SQL Server 2008中增强的汇总技巧
原文: http://blog.youkuaiyun.com/downmoon/article/details/7430645SQL Server 2008中对汇总有明显的增强,有点像Oracle的语法了。请看下面五个例子:假定场景如下:某几位员工在不同时间参加了不同的项目,获取了相应的收入,现在需要按各种分类进行统计。基本表如下:[sql] view plaincopyprint转载 2012-07-05 10:27:21 · 795 阅读 · 0 评论 -
在存储过程中编写正确的事务处理代码(SQL Server 2000 & 2005)
原文: http://www.sqlstudy.com/sql_article.php?id=2008060701 (原文的排版更易阅读) 在 SQL Server 中数据库事务处理是个重要的概念,也稍微有些不容易理解,很多 SQL 初学者编写的事务处理代码存往往存在漏洞,本文介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码。在编写 SQL Server转载 2012-05-23 16:08:34 · 668 阅读 · 0 评论 -
把动态SQL结果集转化为视图查询的方法(运行环境:SQL2005以上版本)
原文:http://blog.youkuaiyun.com/htl258/article/details/5659935------------------------------------------------------------------------------------ Author : htl258(Tony)-- Date : 2010-06-10 01:49:18-转载 2012-06-22 11:18:42 · 859 阅读 · 0 评论 -
SQL动态计算出表中公式示例
原文:http://blog.youkuaiyun.com/htl258/article/details/5588454需求贴:http://topic.youkuaiyun.com/u/20100513/16/8f29d352-d946-47e8-9d0c-0bc1c7e8db0a.html?013311098457492643 -----------------------------------------转载 2012-06-22 11:24:36 · 4363 阅读 · 0 评论 -
用C#编写SQLServer自定义函数
原文:http://blog.sina.com.cn/s/blog_5d1f29c10100b04n.html 这里我们用C#做一个计算滑轮系统近似距离的函数,并把该函数部署到SqlServer2005上去,这里使用的方法是原始的,全手动方式的部署方式,主要的目的是为了理解部署原理,实际上直接开SqlServer数据库项目可能更容易些。 首先让我们看一下滑轮传输带系统图示转载 2012-06-20 15:16:34 · 2922 阅读 · 0 评论 -
分组合并字符串字段
【方法一 运用临时表】if OBJECT_ID('Tempdb..#Item') is not null drop table #Item create table #Item ( ID int Identity(1,1), GroupIndex int default 0, [Name] varchar(20) )insert into #Item(Gr原创 2012-02-24 12:26:50 · 879 阅读 · 0 评论 -
拆分公式函数及应用
/*功能: 拆分公式函数示例: select * from F_Hr_SplitFormula('a=[X] and b=[Y]') order by ID历史: 2012-06-28 Chelen 创建*/create function F_Hr_SplitFormula ( @Formula nvarchar(4000) )returns @T原创 2012-06-28 15:41:53 · 3445 阅读 · 0 评论 -
数据库SUSPECT(置疑)状态如何解决
原文:http://gebacao.iteye.com/blog/211001如何重置数据库Suppect(置疑)状态 一、 出现这种情况的原因 如果在日常运行当中,数据库的文件或日志增长方式设为以下两种模式: 1、 文件不自动增长 此种状态下,如果数据库中的数据或日志增长到设定的文件大小时,继续添加数据时就没有足够的空间时,MS SQL SERVE转载 2012-07-10 12:30:47 · 10543 阅读 · 0 评论 -
SQLServer2008设置开启INTERNET远程连接
原文:http://indigotang.blog.51cto.com/892649/758764SQL Server 2008默认是不允许远程连接的,sa帐户默认禁用的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,需要做两个部分的配置:使用sa账户登录SQL Server Management Studio(简写SSMS) 如果安装时,不是使用SQL转载 2012-06-29 10:35:31 · 771 阅读 · 0 评论 -
SQL Server 查询处理中的各个阶段(SQL执行顺序)
原文:http://blog.youkuaiyun.com/gal1024/article/details/7644125SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入转载 2012-06-29 12:13:41 · 824 阅读 · 0 评论 -
报表中常用到的日期计算方式
原文:http://blog.youkuaiyun.com/htl258/article/details/4574401----------------------------------------------标题:报表中常用到的日期计算方式--作者:htl258(Tony)--日期:-09-21 02:30--转载请保留此信息----------------------------转载 2012-06-29 12:18:46 · 810 阅读 · 0 评论 -
VS2010版常用快捷键
更多的快捷键请查看原文:http://blog.youkuaiyun.com/dxnn520/article/details/7572244 F4 显示属性窗口 F12 转到定义 F7: 查看代码 Shift+F7: 查看窗体设计器 CTRL + F4 关闭文档窗口 CTRL + F1 动态转载 2012-06-29 15:45:35 · 779 阅读 · 0 评论 -
SQL Server中行列转换 Pivot UnPivot
原文:http://www.cnblogs.com/zhangzt/archive/2010/07/29/1787825.htmlPIVOT用于将列值旋转为列名(即行转列),在SQL Server2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P完整语法:table_sourcePIVOT(转载 2012-06-28 18:02:55 · 566 阅读 · 0 评论