<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[MSSQL_DBA的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/MSSQL_DBA</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MSSQL_DBA]]></copyright><item><title><![CDATA[监控数据库事物运行情况]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/43266567</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/43266567</guid><author>MSSQL_DBA</author><pubDate>Thu, 29 Jan 2015 09:36:28 +0800</pubDate><description><![CDATA[SELECT DBT.DATABASE_ID,
       DB_NAME(DBT.DATABASE_ID) '数据库名',      
       DBT.TRANSACTION_ID,
       AT.NAME,
       AT.TRANSACTION_BEGIN_TIME,       
       CASE AT.TRANSACTION_TYPE    
          ]]></description><category></category></item><item><title><![CDATA[sql进制之间的转换]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/41543085</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/41543085</guid><author>MSSQL_DBA</author><pubDate>Thu, 27 Nov 2014 10:55:30 +0800</pubDate><description><![CDATA[-----二进制转换十进制-----------------
select sum(data1)
from (  select substring('11011', number, 
1)*power(2,len('11011')-number)data1 
          from (select number from master.dbo.spt_values where type='p]]></description><category></category></item><item><title><![CDATA[sql日期处理以及转换]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/41541607</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/41541607</guid><author>MSSQL_DBA</author><pubDate>Thu, 27 Nov 2014 09:22:14 +0800</pubDate><description><![CDATA[DECLARE @dt datetime 
	SET @dt=GETDATE() 
	 
	DECLARE @number int 
	SET @number=3 
	 
	--1．指定日期该年的第一天或最后一天
	--A. 年的第一天
	SELECT CONVERT(char(5),@dt,120)+ '1-1 ' 
	 
	--B. 年的最后一天
	SELECT CONVERT(char(5)]]></description><category></category></item><item><title><![CDATA[sql生成1000W数据]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/41541563</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/41541563</guid><author>MSSQL_DBA</author><pubDate>Thu, 27 Nov 2014 09:19:41 +0800</pubDate><description><![CDATA[declare @d datetime
set @d=getdate()
select * from dbo.ChunkSegmentMapping
select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())

USE tempdb
GO
CREATE TABLE tb(id char(8))
CREATE UNIQUE INDEX IX_tb ON tb(id]]></description><category></category></item><item><title><![CDATA[SQL Server 触发器]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/40895863</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/40895863</guid><author>MSSQL_DBA</author><pubDate>Fri, 07 Nov 2014 17:19:42 +0800</pubDate><description><![CDATA[触发器是一种特殊类型的存储过程，它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。

Ø 什么是触发器
    触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是：触发器是当对某一个表进行操作。诸如：update、insert、del]]></description><category></category></item><item><title><![CDATA[Select * 一定不走索引是否正确？]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/40345589</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/40345589</guid><author>MSSQL_DBA</author><pubDate>Tue, 21 Oct 2014 15:22:36 +0800</pubDate><description><![CDATA[select *  一定不走索引是否正确？]]></description><category></category></item><item><title><![CDATA[sql查询表大小行数以及使用空间]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/40081821</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/40081821</guid><author>MSSQL_DBA</author><pubDate>Tue, 14 Oct 2014 18:23:40 +0800</pubDate><description><![CDATA[DECLARE @D DATETIME
SET @D=GETDATE()

SET NOCOUNT ON 
EXEC SP_MSFOREACHTABLE 
@PRECOMMAND=N'
CREATE TABLE ##(
ID INT IDENTITY,
表名 SYSNAME,
字段数 INT,
记录数 INT,
保留空间 NVARCHAR(20),
使用空间 VARCHAR(20),
索引使用空间]]></description><category></category></item><item><title><![CDATA[数据库大型应用解决方案总结]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39929309</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39929309</guid><author>MSSQL_DBA</author><pubDate>Thu, 09 Oct 2014 13:34:09 +0800</pubDate><description><![CDATA[随着互联网应用的广泛普及，海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用，每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。

一、负载均衡技术
负载均衡集群是由一组相互独立的计算机系统构成，通过常规网络或专用网络进行连接，由路由器衔接在一起，各节点相互协作、共同负载、均衡压力，对客户端来说，整个群集可以视为一台具有超高]]></description><category></category></item><item><title><![CDATA[SQL Server数据库表锁定原理以及如何解除表的锁定]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39929039</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39929039</guid><author>MSSQL_DBA</author><pubDate>Thu, 09 Oct 2014 13:10:35 +0800</pubDate><description><![CDATA[1. 数据库表锁定原理

1.1 目前的C/S,B/S结构都是多用户访问数据库,每个时间点会有成千上万个user来访问DB,其中也会同时存取同一份数据,会造成数据的不一致性或者读脏数据.



 

1.2 事务的ACID原则



 

1.3 锁是关系数据库很重要的一部分, 数据库必须有锁的机制来确保数据的完整和一致性.

1.3.1 SQL Server中可以]]></description><category></category></item><item><title><![CDATA[数据库中临时表,表变量和CTE使用优势极其区别]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39928813</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39928813</guid><author>MSSQL_DBA</author><pubDate>Thu, 09 Oct 2014 12:48:09 +0800</pubDate><description><![CDATA[数据库中临时表,表变量和CTE使用优势极其区别]]></description><category></category></item><item><title><![CDATA[SQL生成n位随机字符串]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39694563</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39694563</guid><author>MSSQL_DBA</author><pubDate>Tue, 30 Sep 2014 12:44:21 +0800</pubDate><description><![CDATA[--1、借助newid()  
go  
--创建视图(因为在函数中无法直接使用newid())  
create view vnewid  
as  
select newid() N'MacoId';  
go  
--创建函数 
create function getrandstr(@n int)  
returns varchar(max)  
as  
begin  
    decla]]></description><category></category></item><item><title><![CDATA[sql常用作业定义的T-SQL模板]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39667773</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39667773</guid><author>MSSQL_DBA</author><pubDate>Mon, 29 Sep 2014 11:43:35 +0800</pubDate><description><![CDATA[--定义创建作业

DECLARE @jobid uniqueidentifier

EXEC msdb.dbo.sp_add_job

    @job_name = N'作业名称',

    @job_id = @jobid OUTPUT

 

--定义作业步骤

DECLARE @sql nvarchar(400),@dbname sysname

SELECT @dbname=DB_N]]></description><category></category></item><item><title><![CDATA[比较两个数据库中的视图/存储过程的结构(结构比较,不是功能比较)]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39667743</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39667743</guid><author>MSSQL_DBA</author><pubDate>Mon, 29 Sep 2014 11:42:07 +0800</pubDate><description><![CDATA[CREATE PROC P_COMPDB

@DB1 SYSNAME,   --第一个库

@DB2 SYSNAME    --第二个库

AS

EXEC('

SELECT 类型=CASE ISNULL(A.XTYPE,B.XTYPE) WHEN ''V'' THEN ''视图'' ELSE ''存储过程'' END

    ,匹配情况=CASE 

        WHEN A.NAME ]]></description><category></category></item><item><title><![CDATA[sql分级汇总]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39667553</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39667553</guid><author>MSSQL_DBA</author><pubDate>Mon, 29 Sep 2014 11:30:08 +0800</pubDate><description><![CDATA[--测试数据

create table tb([DB-ID] varchar(10),ENTITY varchar(10),DATE varchar(10),[CUST-NO] int,AMOUNT decimal(10,2),TAX decimal(10,2))

insert tb select 'RCHQ','001','2004-11-10',200000,100.00,17.00

u]]></description><category></category></item><item><title><![CDATA[生成索引信息及索引创建脚本]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39554695</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39554695</guid><author>MSSQL_DBA</author><pubDate>Thu, 25 Sep 2014 17:28:22 +0800</pubDate><description><![CDATA[create proc p_helpindex 
@tbname sysname ='' ,@type char(1) = '1'
as
--生成索引信息及索引创建脚本
--@tbname 表名，空返回所有表索引
--@type   是否显示聚集索引,1显示聚集索引,2不显示聚集索引
--调用：p_helpindex 'dbo.customers','1'
with t as (
select r]]></description><category></category></item><item><title><![CDATA[update值与原值相同时，SQL Server会真的去update还是忽略呢？]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39554345</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39554345</guid><author>MSSQL_DBA</author><pubDate>Thu, 25 Sep 2014 17:09:55 +0800</pubDate><description><![CDATA[考虑下面的情况：

当update值与原值相同时，SQL Server会真的去update还是忽略？例如：

update tbname
set name='abc' --name原来的值就是abc
where id=1


再如：

update tbname
set name='abc' --name原来的值就是abc
where name='abc'



接下来我]]></description><category></category></item><item><title><![CDATA[是什么引起执行计划变得极其糟糕? 应该使用更新统计信息来解决它吗？]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39554237</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39554237</guid><author>MSSQL_DBA</author><pubDate>Thu, 25 Sep 2014 17:05:13 +0800</pubDate><description><![CDATA[考虑这种情况：

在大多数时间里你的存储过程运行良好，但是有时非常差，性能仿佛从天下掉到地下，有人会说肯定是统计信息更新不及时，而且当你手动运行它并查看执行计划，你会发现预估行数和实际行数有很大差距，你会因此而确定是统计信息不准确造成执行计划生成不正确。

但是，可能并不是。。。

存储过程、使用sp_executesql的参数化语句、预编译的SQL语句都会重用一个缓存的执行计划，它是]]></description><category></category></item><item><title><![CDATA[Group by ALL]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39550803</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39550803</guid><author>MSSQL_DBA</author><pubDate>Thu, 25 Sep 2014 13:41:23 +0800</pubDate><description><![CDATA[Group by ALL 。和不加ALL差别就是加了ALL后包含所有组和结果集，甚至包含那些其中任何行都不满足 WHERE 子句指定的搜索条件的组和结果集。注意的是指定了 ALL，将对组中不满足搜索条件的汇总列返回空值。

declare @t table(id int,col char(2))
insert @t select 1,'a'
insert @t select 1,'a'
inser]]></description><category></category></item><item><title><![CDATA[SQL四个排名函数的区别]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39522711</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39522711</guid><author>MSSQL_DBA</author><pubDate>Wed, 24 Sep 2014 14:27:29 +0800</pubDate><description><![CDATA[/*
四个排名函数的区别:
RANK()
返回结果集的分区内每行的排名。行的排名是相关行之前的排名数加一。
如果两个或多个行与一个排名关联，则每个关联行将得到相同的排名。
 
DENSE_RANK()
返回结果集分区中行的排名，在排名中没有任何间断。行的排名等于所讨论行之前的所有排名数加一。
如果有两个或多个行受同一个分区中排名的约束，则每个约束行将接收相同的排名。
 
ROW_NUMBER()
]]></description><category></category></item><item><title><![CDATA[sql日期补全]]></title><link>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39495683</link><guid>https://blog.youkuaiyun.com/MSSQL_DBA/article/details/39495683</guid><author>MSSQL_DBA</author><pubDate>Tue, 23 Sep 2014 11:14:42 +0800</pubDate><description><![CDATA[IF OBJECT_ID('TBL')IS NOT NULL
DROP TABLE TBL
GO
CREATE TABLE TBL(
日期 DATE
)
GO
INSERT TBL
SELECT '2014-09-30' UNION ALL
SELECT '2014-10-06'

go
DECLARE @DATE DATE
SELECT @DATE=MAX(日期) FROM TBL
;WITH]]></description><category></category></item></channel></rss>