sqlServer
文章平均质量分 54
siegebaoniu
这个作者很懒,什么都没留下…
展开
-
如何执行xmla脚本
SQL2005之后的版本 就没有ascmd命令,执行xmla需要通过ssis的调用或者agent job的analysis service command,不是很方便。(当然,通过写api自己写程序也是可以的。。。)网上偶尔看到一个方法,通过link server去调用,推荐给大家。1. 首先在SQL server中建立一个对SSAS server 的link server,并且在设置中将RPC设...原创 2018-05-23 14:46:34 · 1210 阅读 · 0 评论 -
事实表关联非最低粒度的维度的情况
事实表关联非最低粒度的维度会造成数据混乱么?做了点测试数据原创 2014-06-17 20:52:26 · 1155 阅读 · 0 评论 -
断续时间求总和
有这样一种情况,很多人使用一台服务器,有表记录:工号,时间,开始/结束。求这台服务器总共被使用了多少时间?(一人在用也是用,多人在用也是用)原始表总是最糟的:Create table TRecords(recordperson varchar(5),recordtime datetime,recordstatus varchar(5))--truncate table TRe原创 2012-07-16 20:59:01 · 430 阅读 · 0 评论 -
生成Number表的一种方法
DECLARE @max AS INT, @rc AS INT;SET @max = 1000000;SET @rc = 1;INSERT INTO dbo.Nums(n) VALUES(1);WHILE @rc * 2 <= @maxBEGININSERT INTO dbo.Nums(n) SELECT n + @rc FROM dbo.Nums;SET @rc =原创 2012-03-29 20:06:20 · 321 阅读 · 0 评论 -
SqlServer表死锁的解决方法分享
通过下面的语句可以查看当前库中有哪些表是发生死锁的:SELECT request_session_id spid,OBJECT_NAME(resource_associated_entity_id)tableNameFROM sys.dm_tran_locks WHERE resource_type='OBJECT ' spid :被锁进程ID。 tableName转载 2012-01-31 20:47:27 · 531 阅读 · 0 评论 -
系统函数 查看 query stats
SELECT @@SERVERNAME AS server_name, SYSUTCDATETIME() AS collect_time, T.TEXT AS sql_statement,原创 2011-12-14 22:07:13 · 728 阅读 · 0 评论 -
行锁与行锁出现的问题
1.疯狂的“独占”行锁 原文地址:http://www.brokenwire.net/bw/Programming/115/the-madness-of-exclusive-row-locks 译文:昨天我发现了SQL SERVER一些确实很怪异的行为。我有一个案例我竟然可以读取转载 2011-07-11 09:57:30 · 1031 阅读 · 0 评论 -
SQLServer和ORACLE 存储过程的调用(返回结果集)
SQLServer相比Oracle是很随便的,存储过程里select * from tb 就能返回一个结果集出来。在C#里调用时,能exec proc直接出结果集。 --SQL中返回结果集的存储过程:create proc retable(@i int)asbeginselect * from a where id=@iendGO //C#里调用存储过程返回结果集的一种简便原创 2011-06-10 16:26:00 · 4252 阅读 · 0 评论 -
每月第几周的算法
有一个需求:对每个月每周求销售总额。我们知道SQL有函数datepart(week,Getdate())能返回当前年的第几周。(年周数)select datepart(week,'2012-05-02') --Answer:18不过,可以用当前天的年周数,减去月初那天的年周数,再加一,就可以得到月周数。 原始数据:select * from ProductAndTime原创 2012-05-02 20:04:54 · 5863 阅读 · 0 评论 -
SQLSERVER 列转置的存储过程
有这样一个需求,100多个商品,1万多家店,原表:一个商品一家店一条记录。要求返回以店为行,商品为列的结果集。(由于商品个数是不能确定,今天有100个商品,明天可能有150个商品,不能建立固定的表,只做结果集查看。)在SQLSERVER2005及以后的版本中,用存储过程还是很好实现的,有 for xml path 和 PIVOT两个函数,正好能秒杀之。 构建原始表如下:原创 2012-05-01 10:22:24 · 769 阅读 · 0 评论 -
温习SSIS2008 DataFlow
Date Flow控件分三种1. Non-Blocking Transformations, Streaming and Row-BasedMost of the SSIS Transformations are non-blocking. This means that the transformation logic that is applied in the trans原创 2017-12-03 17:12:44 · 340 阅读 · 0 评论 -
温习表分区
第一部分,为表创建分区第二部分,扩新分区第三部分,交换分区USE [SPIRITDW]GO--1. Add filegroupalter database [SPIRITDW] add filegroup FAP2015fgalter database [SPIRITDW] add filegroup FAP2016fgalter database [SPIRITDW原创 2017-12-03 09:36:54 · 223 阅读 · 0 评论 -
温习SQL Server 列存储索引 Column Store Index
SQL Server 列存储索引强化 https://www.cnblogs.com/Amaranthus/p/4303095.html比较列存储索引与行索引 https://www.cnblogs.com/wenBlog/p/5682024.html转载 2017-12-02 16:52:59 · 697 阅读 · 0 评论 -
SQLServer XML 解析
DECLARE @dataSource XML SET @dataSource=' abc MG Olive MG xyz NMG 'select @dataSource.value('((/root/info/原创 2016-06-01 11:03:23 · 938 阅读 · 0 评论 -
zz)在SSIS 2012 中使用CDC 数据变化捕获
最近项目原始需求是 实现类似定时抓取一台服务器数据的snapshot更新在另一台服务器上,老板建议用CDC做。于是网上找了些文章来看。最新项目稍有空隙,开始研究SQL Server 2012和2014的一些BI特性,参照(Matt)的一个示例,我们开始体验SSIS中的CDC(Change Data Capture,变更数据捕获)。注:如果需要了解关于SQL Se转载 2014-05-06 21:38:16 · 758 阅读 · 2 评论 -
zz) Sqlserver 分区
分区+交换攻略:http://www.cnblogs.com/gaizai/archive/2011/07/01/2095539.html转载 2015-12-28 19:57:19 · 279 阅读 · 0 评论 -
用C#更新SQLSERVER。
需求:SQLSERVER中有一张表需要被更新。方法有三:一,直接在SQL中操作。二,在C#中编写函数,之后deploy到SQL中,SQL中再去调用这个函数。三,直接在C#中对着数据库操作。这三种方法由快到慢,能用一,不用二;能用二,不用三。有个项目要用到web service,第二种方法deploy老是出错,也不知道为什么,于是只好用第三种。以下例子从简,不包括原创 2012-07-01 09:36:46 · 1689 阅读 · 0 评论 -
断续时间求总和2
接http://blog.csdn.net/siegebaoniu/article/details/7752636还有一种思路,比上个方法要简便。在原表上对time排序,给一个flag,如果遇到start就+1,遇到end就-1.这样的话,对于前N条,若flag>0,则表示服务器有人占用,若flag=0,则表示此时空余。然后算出总时间和空余的时间,相减即可。原创 2012-07-17 21:17:32 · 362 阅读 · 0 评论 -
SQL Server备份还原功能
<br />在SQL Server中,除了系统数据库外,你创建的每一个数据库都有三种可供选择的恢复模型: Simple(简单), full(完整), bulk-logged(批量日志)。<br /> <br />…… <br /> <br />本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tjvictor/archive/2010/01/18/5210157.aspx转载 2011-02-08 15:48:00 · 367 阅读 · 0 评论 -
创建角色、用户、权限
<br />http://topic.csdn.net/u/20101216/09/3200dac8-b2f3-477d-90e8-5950d3f9fa7e.html?68282<br />转载 2011-01-04 09:31:00 · 371 阅读 · 0 评论 -
plsql和tsql常用函数比对
<br />数学函数 <br /> 1.绝对值 <br /> S:select abs(-1) value <br /> O:select abs(-1) value from dual <br /><br /> 2.取整(大) <br /> S:select ceiling(-1.001) value <br /> O:select ceil(-1.001) value from dual <br /><br /> 3.取整(小) <br /> S:select floor(-1.001)转载 2011-01-04 09:30:00 · 439 阅读 · 0 评论 -
SQL Server 2000 中使用正则表达式
<br />这两天有个需求,需要在数据库中判断字符串的格式,于是从网上搜集了一些资料,整理了一下。<br /><br />下面这个是一个自定义函数,用户可以调用这个函数判断指定的字符串是否符合正则表达式的规则.<br />CREATE FUNCTION dbo.find_regular_expression<br /> (<br /> @source varchar(5000), --需要匹配的源字符串<br /> @regexp varchar(1000), --正则表达式<br /> @ig转载 2011-01-04 09:24:00 · 352 阅读 · 0 评论 -
局域网数据库应用于系统
<br />http://topic.csdn.net/u/20100915/23/b745aca3-fea8-4edf-bce5-a65e107a2904.html?23122转载 2011-01-04 09:16:00 · 310 阅读 · 0 评论 -
sql2005和08定时作业
<br />http://topic.csdn.net/u/20100913/21/08036a23-5feb-4f8e-8d44-2dff2b5f5154.html?29039转载 2011-01-04 09:09:00 · 289 阅读 · 0 评论 -
如何按字段删除重复记录
<br />http://topic.csdn.net/u/20080327/16/82f37674-9ff8-4882-8aea-1992a4116448.html?seed=2069547183&r=60385413#r_60385413转载 2011-01-04 09:08:00 · 242 阅读 · 0 评论 -
数据库表的基本信息
<br />http://www.cnblogs.com/kerrycode/archive/2010/09/03/1816611.html转载 2011-01-04 08:57:00 · 458 阅读 · 0 评论 -
提取字符串中的汉字
<br />-提取中文<br />IFOBJECT_ID('DBO.CHINA_STR') ISNOTNULL<br />DROPFUNCTION DBO.CHINA_STR<br />GO<br />CREATEFUNCTION DBO.CHINA_STR(@SNVARCHAR(100))<br />RETURNSVARCHAR(100)<br />AS<br />BEGIN<br />WHILEPATINDEX('%[^吖-座]%',@S) >0<br />SET@S=STUFF(@S,PATINDEX转载 2011-01-04 08:50:00 · 392 阅读 · 0 评论 -
处理表重复记录(查询和删除)
<br />http://topic.csdn.net/u/20080626/00/43d0d10c-28f1-418d-a05b-663880da278a.html转载 2011-01-04 09:14:00 · 313 阅读 · 0 评论 -
Sql Server 常用日期格式转换
<br />select getdate() <br /><br />2004-09-12 11:06:08.177 <br /><br />整理了一下SQL Server里面可能经常会用到的日期格式转换方法: <br /><br />举例如下: <br /><br />select CONVERT(varchar, getdate(), 120 ) <br />2004-09-12 11:06:08 <br /><br />select replace(replace(replace(CONVERT(va转载 2011-01-04 08:54:00 · 360 阅读 · 0 评论 -
zzSQL中使用WITH AS提高性能-使用公用表表达式(CTE)简化嵌套SQL
<br />一.WITH AS的含义 <br /> WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 <br />特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可。如转载 2011-01-04 08:47:00 · 358 阅读 · 0 评论 -
有关SQLSERVER递归
<br />公用表表达式 (CTE) 具有一个重要的优点,那就是能够引用其自身,从而创建递归 CTE。递归 CTE 是一个重复执行初始 CTE 以返回数据子集直到获取完整结果集的公用表表达式。<br />递归查询通常用于返回分层数据(即遍历树结构)<br /> 递归 CTE 的结构(MSDN)<br />递归 CTE 由下列三个元素组成:<br />例程的调用。 <br />递归 CTE 的第一个调用包括一个或多个由 UNION ALL、UNION、EXCEPT 或 INTERSECT 运算符联接的 CTE转载 2011-01-04 08:51:00 · 817 阅读 · 0 评论 -
excel导入数据库
<br />我想至少有这样两种比较容易实现的方法:<br />1、直接用Sql语句查询<br />2、先用excle中的数据生成xml文件,再把xml导入数据库<br />第一种方法(方法二以后再试),找到联机丛书里实现此功能的Sql语句如下: SELECT * <br />FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',<br />'Data Source="c:/Finance/account.xls";User ID=Admin;Password=;Ext转载 2011-01-04 09:25:00 · 1319 阅读 · 0 评论 -
如何对表、行、数据库加锁
<br />1 如何锁一个表的某一行 <br /><br />SETTRANSACTIONISOLATIONLEVELREADUNCOMMITTED <br /><br />SELECT*FROMtable ROWLOCK WHERE id =1 <br /><br />2 锁定数据库的一个表 <br /><br />SELECT*FROMtableWITH (HOLDLOCK) <br /><br />加锁语句: <br />sybase: <br />update 表 set col1=col转载 2011-01-04 09:22:00 · 701 阅读 · 0 评论 -
关于索引
<br />http://blog.csdn.net/htl258/category/583020.aspx<br /> <br />其下有一篇《有关SQL Server 索引结构及其使用的说明和例子》<br /> <br />一、深入浅出理解索引结构<br /> 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举转载 2011-01-04 09:20:00 · 479 阅读 · 0 评论 -
datagridview控件里添加进度条(自画)
<br />http://topic.csdn.net/u/20100915/20/6a6735ce-6f63-40f9-85ff-c01e91b65475.html?22202转载 2011-01-04 09:15:00 · 1409 阅读 · 0 评论 -
SQL通配符简介
<br />http://www.w3school.com.cn/sql/sql_wildcards.asp转载 2011-01-04 09:11:00 · 276 阅读 · 0 评论 -
Sql Server2005 Transact-SQL 新兵器学习总结之-PIVOT和UNPIVOT运算符
1.简介<br />PIVOT通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。<br />UNPIVOT与PIVOT执行相反的操作,将表值表达式的列转换为列值。<br />通俗简单的说:PIVOT就是行转列,UNPIVOT就是列传行<br /><br />2.例题<br /><br /><br /><br />--建立销售表<br />CREATE TABLE Sell<br />(<br />[Year] INT,<br />[Quart转载 2011-01-04 09:06:00 · 265 阅读 · 0 评论 -
详细学习游标
<br />游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。<br /> <br />游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。<br />1.游标的组成<br />游标包含两个部分:一个是游标结果集、一个是游标位置。<br />游标结转载 2011-01-04 08:59:00 · 372 阅读 · 0 评论 -
SQL系列ROLLUP关键字
<br />http://edu.codepub.com/2010/0420/22137.php转载 2011-01-04 08:56:00 · 335 阅读 · 0 评论 -
SQL Server CHARINDEX和PATINDEX详解
<br />如果你写过非常多程序,你可能偶尔会碰到要确定字符或字符窜串否包含在一段文字中,在这篇文章中,我将讨论使用charindex和patindex函数来搜索文字列和字符串。我将告诉你这两个函数是怎么运转的,解释他们的差别。同时提供一些例子,通过这些例子,你能能考虑使用这两个函数来解决非常多不同的字符搜索的问题。<br /> charindex和patindex函数常常用来在一段字符中搜索字符或字符串。如果被搜索的字符中包含有要搜索的字符,那么这两个函数返回一个非零的整数,这个整数是要搜索的字符在被搜转载 2011-01-04 08:52:00 · 394 阅读 · 0 评论