自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 SQL SERVER获取索引脚本

关于如何获取索引脚本的语句很多,上次在项目中需要去查询并获取索引脚本,所以写了一个简单的查询语句来进行获取。WITH    idxcol          AS ( SELECT                i.object_id ,                i.index_id ,                OBJECT_NAME(i.object_id) AS objname

2017-03-15 11:24:49 2136 4

原创 Bulk insert如何导入部分字段的数据

IF OBJECT_ID('Employee') IS NOT NULLDROP TABLE EmployeeGOCREATE TABLE Employee(Id int,Name VARCHAR(100),Designation VARCHAR(100))BULKINSERT EmployeeFROM 'D:\\Test.txt' --location with filenameWITH(F

2017-03-15 11:20:02 2122

原创 一些有用的DMV

---查看数据库中正在运行的SQL语句的执行情况(包括执行计划和等待类型等等)SELECT sp.ecid,    DB_NAME(sp.dbid) AS [Database], QP.query_plan, sp.nt_username,    p.session_id ,    p.request_id ,    p.start_time ,    p.status ,    p.comm

2017-03-15 10:37:23 602

原创 ---------------一个常见的项目中的问题(SQL SERVER和DB2)-------------

相信大家都应该会碰见这样的问题。求全年12月每个月每个单位的统计数量,为空的需要补全。也许表述得不是很清楚,下面把我的代码贴在这里就知道是怎么回事了SELECT B.UNITCODE,B.月份,ISNULL(A.上旬,0) AS 上旬,ISNULL(A.中旬,0) AS 中旬,ISNULL(A.下旬,0) AS 下旬FROM (SELECT UNITCODE, MONTH(O

2014-12-31 16:52:28 2027 2

原创 ---------------生成1-100数字的方法(包括SQL SERVER和DB2)----------

--1.whiledeclare @t table (id int)declare @i int set @i=1while @i<101begin insert into @t select @i set @i=@i+1endselect * from @t--2. gotodeclare @t1 table (id int)declare @j int set

2014-12-31 16:34:10 5760

原创 -------------SQL SERVER与DB2统计信息与索引碎片整理---------------

今年我的一个项目是用的DB2数据库。所以也学习了一把DB2数据库。本人学艺不精,遇到了很多困难。不过就我工作中使用DB2的感受而言,DB2对于统计信息和索引 碎片整理的使用频率比SQL SERVER的要高很多。所以现在我将两种数据库的相关内容都整理在这里,作为参考之用,对于高手来说,仅博一笑而已。对于SQL SERVER来说,统计指定表信息的查询方法如下:--查询指定表的统计信息(sys.stat

2014-12-31 10:23:25 2131

原创 -----------查询数据库素数的N种方法(包括C#的)--------------

最近在看C#方面的书,正好看到迭代器这块,里面有个查询素数的示例我觉得还不错,于是就想到SQL也来实现一把。其实有很多种方法,我大概列下下面。结果就只贴一个好了:方法1: 最简单粗暴的算法DECLARE @i INT , @j INT , @r INTSET @i = 2WHILE @i < 100 BEGIN SET @j = 1 S

2014-12-29 15:09:43 1697

转载 -------------------------数字转换成EXCEL列名---------------------------------

alter function col_rev( @i_version int, -- Excel 版本号 @i_col int -- 字段号(数值表示) )returns varchar(20)asbegin declare @v_devide int; declare @v_mod int; declare @v_col int; declare

2014-01-07 17:41:27 1872

原创 -------------------------断号查询-------------------------------------

有关断号查询的在论坛里面问的实在是太多了 在这里总结一下:--测试数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT 'a',2UNION ALL SELECT 'a',3UNION ALL SELECT 'a',6UNION ALL SELECT 'a',7UNION ALL SELECT 'a',8UNION

2014-01-07 17:37:19 1981

原创 ------OPENXML和MERGE联合使用的方法--------

在这里我直接拿项目中的代码来说明问题。大家一下就看懂了。 Use LvRuiGoif object_ID('[cuGiftCatagroy]') is not null Drop Procedure [cuGiftCatagroy]Go/****************************************************************************

2014-01-07 17:31:49 1931

原创 -------------------EXCEL按照格式循环批量导入数据库(续)-----------------------------------------

IF OBJECT_ID('TB')IS NOT NULLDROP TABLE TBGOCREATE TABLE TB( ARRIVALAIRPORT NVARCHAR(4000), [MCTTIME] NVARCHAR(4000), MCTSTATUS NVARCHAR(4000), DEPARTUREAIRPORT NVARCHAR(400

2013-11-22 11:23:37 1819

原创 ------------------用SQL读取某目录下EXCEL文件的内容----------------

首先声明,这个存储过程大部分是SQL77写出来的,哥这几天正研究快照隔离下OPENXML语句JOIN以后报错的问题,头大ING。。。 还好有屁7帮了我这个忙,不然累死。 思路非常简单,XP_CMDSHELL读取某一目录下的文件名称,然后游标遍历之,代码就在下面了 IF OBJECT_ID('P_EXCELFILETODATA') IS NOT NULLDROP PROC P_EXCELFILETO

2013-09-09 16:06:48 4095 3

原创 ------------------------获取所有存储过程的脚本------------------------------------

declare @proc_text varchar(max)  DECLARE get_proc_text_cursor CURSOR FOR SELECT  'if object_id(N'''+ [name] +''') is not null drop proc ' + [name] +  CHAR(10) +  CHAR(13)  +  '  GO '  +  CHAR(10) +  C

2013-01-05 20:33:28 2186 3

原创 -------------------------------循环数据库压缩日志文件---------------------------

--循环数据库压缩日志文件(假设日志文件fileid=2)create table #db(id int identity(1,1),name varchar(80),dbsize int,mdfsize int,ldfsize int)insert into #db select a.name,SUM(b.size)*8/1024 as 'dbsize[MB]',  SUM(case when

2013-01-05 20:32:25 1461

原创 ---------------------------SQL之机选大乐透,双色球算法-----------------------------

----------大乐透--------------------if object_id('Front') is not nulldrop table Front gocreate table Front(id int ,Frontnumber int default 0 ,)if object_id('Back') is not nulldrop table B

2012-12-24 14:28:20 4036

原创 ----------------------SQLOS相关查询,SQLSERVER线程,调度器,工作任务----------------------

--SELECT * FROM SYS.dm_os_schedulers --SQL SERVER的每个调度器--select affinity from sys.dm_os_workers --SQL SERVER的每个工作任务--select * from sys.dm_os_threads --在SQL SERVER进程中的所有SQLOS线程列表--select * from sys.dm_

2012-12-05 15:17:30 2762

转载 ------------------------MSSQL中排列组合的实现------------------------------------

--排列组合 --执行方法:exec [Arrange] '1,2,3'--input:1,2,3--output:--1 --2 --3 --1,2 --1,3 --2,3 --1,2,3Create PROCEDURE [dbo].[Arrange]     @input varchar(100)ASBEGIN    SET NOCOUNT ON        if(len(@input)

2012-08-09 15:35:33 2266

原创 --------------------------------------MYSQL批量修改字段类型---------------------------------

SELECT CONCAT('alter table ',table_name,' ALTER COLUMN ',column_name,' SET DEFAULT NULL;') as col ,TABLE_NAME,COLUMN_NAME,DATA_TYPEFROM INFORMATION_SCHEMA.columns aWHERETABLE_SCHEMA='TEST' -- 代表所在的数据库

2012-06-08 11:13:27 6884 2

转载 ----------------------------------查询SQL SERVER 服务启动时间-----------------------

Create Table #errorlog (LogDate datetime,ProcessInfo varchar(max),Text nvarchar(max))INSERT Into #errorlog Exec Master..xp_readerrorlogSELECT LogDate FROM #errorlog WHERE  Text Like '%SQL Server is St

2012-03-05 10:51:31 4715 4

原创 ---------------------------谨以此文献给我的2011-----------------------------------

2011年就快过去了,回首我的2011,有收获,也有失落,有胜利,也有失败。有高兴的事情,也有很多不高兴的事情。如果说往事不堪回首来总结的话,未免有点太过于丧气。从三月开始找工作,到找到工作,开始工作,始终心神不定。反反复复中,总算找到现在的公司,总算有那么一点安定的感觉。然而时间却如流水一般,就这么的逝去了。很多的时候有那种“少壮不努力,老大徒伤悲”的感觉。或许是年龄也不小了,有的时候还发誓明天

2011-12-30 16:52:59 6059 10

原创 --------------------TEMPDB数据库的空间问题--------------------------------------

今天不经意看见了sys.dm_db_session_space_usage这个DMV,就想想可以通过这个DMV来确定 tempdb 中的可用空间量,以及如何确定版本存储区、内部对象和用户对象使用的空间量。SELECTSUM(unallocated_extent_page_count) AS [free pages], (SUM(unallocated_extent_page_count)*1.0/

2011-12-29 15:20:32 2132 1

原创 -------------------------------清空表数据---------------------------------------------

MSSQL中如何用SQL清除所有表的数据?这个需求分三种类型: 第一:只要数据库中表是空的; 第二:表是空的,并且自增长列可以从1开始增长。 第三:表是空的,并且自增长列可以从1开始增长,而且存在表间的约束。 邀月稍微整理了下,放在这里,便于有需要的朋友参阅。 其实,这不算什么需求。只要用数据库的生成脚本,几分钟即可生成一个干净的表结构及存储过程、视图、约束等。这里提供了另一种用SQL解决问题的方

2011-11-29 15:49:22 2626 1

原创 ---------------创建定时作业的脚本-----------------

通过脚本创建JOB: if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[p_createjob]) and OBJECTPROPERTY(id, NIsProcedure) = 1) drop procedure [dbo].[p_createjob] GO create proc p_createjob

2011-10-22 12:16:59 1756 1

原创 ---------SQL 2005如何更改排序规则---------------

请问怎么更改排序规则呢1.sp_helpsort SELECT SERVERPROPERTY (Collation) 查看你的排序规则. 不过你的这个应该和字符集有关.2.更改服务器排序规则 更改 SQL Server 2005 实例的默认排序规则的操作可能会比较复杂,包括以下步骤:确保具有重新创建用户数据库及这些数据库中的所有对象所需的全部信息或脚本。 使

2011-03-17 13:06:00 3032 5

原创 ------------------------------------------使用聚集索引和非聚集索引的区别------------------------------------

<br />使用聚集索引和非聚集索引的区别<br /> <br /><br />使用聚集索引 <br />    聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。<br />聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。避免每次查询该列时都进行排序,从而节省成本。 <br />注意事

2011-03-06 23:22:00 3167 6

转载 (转) --------------------------------------SQL性能调优综述----------------------------------

<br />近期因工作需要,希望比较全面的总结下SQL SERVER数据库性能优化相关的注意事项,在网上搜索了一下,发现很多文章,有的都列出了上百条,但是仔细看发现,有很多似是而非或者过时(可能对SQL SERVER6.5以前的版本或者ORACLE是适用的)的信息,只好自己根据以前的经验和测试结果进行总结了。<br />我始终认为,一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的。所以我希望按照软件生命周期的

2011-03-06 23:21:00 1860 3

原创 ---------SQL2005关于quotename的用法 -----------------

 <br />首先,sqlserver里的标识符有一定的规则,比如  你 <br />create table abc 123(...) <br />那么中间含有空格,它不是符合规则的。 <br /><br />你会写做 create table [abc 123](....) <br />即以[]来定界标识符。<br /><br />quotename将 字串成为有效的标识符。 <br /><br />它有什么用呢? 我举个例子:<br /><br />你有个表名字叫做 aa[]bb <br /><br

2010-06-05 15:49:00 1807 3

原创 -------------------DBCC修复数据库-----------------

<br /><br />MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令。 <br />1. DBCC CHECKDB <br />  重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。<br /><br /><br />use master <br />declare@databasenamevarchar(255) <br />set@databasename=

2010-05-31 21:40:00 1883 4

原创 --------------我的一些笔记(空间数据的操作)------------

--空间数据的一些操作1.在创建表时定义geometry类型的列例子:create table streets(streetid int identity(1,1),streetName nvarchar(20),streetGeo geometry);go2.向表中插入几何数据insert into streets values(street1,geometry::stgeomfromtex

2010-04-28 11:11:00 2716 6

原创 ------------------------将表数据生成SQL脚本的存储过程------------------------

--将表数据生成SQL脚本的存储过程 CREATE PROCEDURE dbo.UspOutputData @tablename sysname AS declare @column varchar(1000) declare @columndata varchar(1000) declare @sql varchar(4000) declare @xtype tinyint declare

2010-04-09 16:55:00 2529 7

原创 ----------------搜狗云输入法使用的一些体会--------------

搜狗云输入法使用的一些体会      起初我听到云输入法,觉得这个名称很不错,于是就来试用一下。别说,感觉还不错。所谓搜狗云输入法是基于搜狗拼音输入法,依托云计算技术的一个概念性输入法产品。云计算这个名词已经是不止一次的被提起过了,云计算是分步式计算技术的一种,是通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。

2010-04-08 21:35:00 2171 6

原创 -------------------SQL 2005更该排序规则---------------

请问怎么更改排序规则呢 1.sp_helpsort SELECT SERVERPROPERTY (Collation) 查看你的排序规则. 不过你的这个应该和字符集有关.2.更改服务器排序规则 更改 SQL Server 2005 实例的默认排序规则的操作可能会比较复杂,包括以下步骤: 确保具有重新创建用户数据库及这些数据库中的所有对象所需的全部信息或脚本。 使用工具(例如大容量复

2010-03-25 09:13:00 1466 3

原创 ----------------------------如何更改SQL SERVER 2000的排序规则 ---------------------------

如何更改SQL SERVER 2000的排序规则 Alter datebase Alter datebase 数据库 Chinese_PRC_BIN ALTER TABLE tb ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS --不区分大小写 ALTER TABLE tb ALTER COLUMN colname

2010-03-25 09:11:00 4578 1

转载 ----------------------------SQL语句的优化以及索引的应用范围---------------------

SQL优化的原则是:将一次操作需要读取的BLOCK数减到最低。调整不良SQL通常可以从以下几点切入:检查不良的SQL,考虑其写法是否还有可优化内容;检查子查询考虑SQL子查询是否可以用简单连接的方式进行重新书写;检查优化索引的使用;考虑数据库的优化器;查询的一般规则Ø       明确指出检索的字段,尽量减少对多余的列与多余的行读取。禁止使用 select * from table ……的方式访问

2010-03-11 14:06:00 2095 3

原创 -----------我的一些笔记(六)------------------

--SQL 2008使用空间数据SQL SERVER 2008支持两种空间数据类型,geometry和geography.其中geometry数据类型支持平面或平面球数据,geography可用于存储GPS经度和纬度坐标等椭球体数据。geometry和geography数据类型基于geometry层次结构。----point类型在SQL SERVER的空间数据中,Point用于定义一个点。例如:d

2010-01-27 13:44:00 1914 1

原创 ----------我的一些笔记(五)-----------

服务器配置选项--启动AWEsp_configure show advanced options,1reconfiguregosp_configure awe enable,1--启动AWE选项,用于支持超过4G内存 具体用法见笔记三go sp_configure show advanced options,0reconfigurego--指定游标集中的行数sp_configure

2010-01-15 13:15:00 2277 1

原创 ------我的一些笔记(四)-----------

---SQL Server对大容量内存的支持32位操作系统有个很大的缺陷,应用程序无法访问大于4G的进程地址空间,因为32位的指针无法保存大于4G的地址空间如果大于4G,则需要使用地址窗口化扩展插件(AWE),具体操作如下:1,启动物理地址扩展(1)找到C:/boot.ini,并删除其只读属性.(2)编辑boot.ini,在ARC路径中添加/PAE参数.例如:在windows Server 200

2010-01-14 15:13:00 1547

原创 ---------我的一些笔记(三)(基于2005)----------

--结合sys.indexes和sys.index_columns,sys.objects,sys.columns查询索引所属的表或视图的信息select  o.name as 表名,  i.name as 索引名,  c.name as 列名,  i.type_desc as 类型描述,  is_primary_key as 主键约束,  is_unique_constraint as 唯一约束

2010-01-12 21:25:00 1825 4

原创 ------------我的一些笔记(基于SQL 2005)(统计信息的一些笔记)------------

---查询索引操作的信息select * from sys.dm_db_index_usage_stats--查询指定表的统计信息(sys.stats和sysobjects联合查询)select  o.name,--表名  s.name,--统计信息的名称  auto_created,--统计信息是否由查询处理器自动创建  user_created--统计信息是否由用户显示创建from  sy

2010-01-09 22:02:00 1568

原创 --------------------我的一点学习笔记(基于2005)----------

---用户定义数据类型create type postcodefrom varchar(6) null  --创建用户定义数据类型goselect * from information_schema.domains ----获取用户定义数据类型信息select * from information_schema.column_domain_usage ---查看用户定义数据类型的使用情况drop

2010-01-08 21:51:00 2160 4

提示
确定要删除当前文章?
取消 删除