-
SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(上)
很多人在查看SQL语句等待的时候都是通过sys.dm_exec_requests查看,等待类型也是通过wait_type得出,sys.dm_os_waiting_tasks也可以看到session的等待那么有什么区别呢.... 废话不多说直接开整. 测试版本2012 sys.dm_os_waiting_tasks的字段说明:waiting_task_addressvarbinary(8)等待任务的地址。session_idsmallint与任务关联的会话的ID...
数据库操作教程 2022-09-23 17:44:21 -
SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(中)
通过上篇文章给大家介绍了SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(上),说了一下sys.dm_exec_requests和sys.dm_os_waiting_tasks在获取并行等待的时候得不同结果,这一篇我们谈论下我的第二个疑问:为什么一个并行计划(4线程)却一下出现了那么多等待,SQL的并行到底是怎么执行的!!!! 先贴以下上篇sys.dm_os_waiting_tasks的结果图: 我们分析一下这个结果的task_address可以看出去掉重复其实只有9个,也就是说一个并行(4线程,配置不同,情况也不同)会有9个task。又是线程,又是task,还有worker,schedulers这些都是什么?这个有必要先说一下,因为这篇博客前我也是乱乱的...
数据库操作教程 2022-09-23 17:44:07 -
SQLServer数据库bcp导出备份文件应用示例
/***授权*/EXECsp_configure'showadvancedoptions',1;goreconfigure;goexecsp_configure'xp_cmdshell',1;goreconfigure;go/**导入指定表的文本文件*/EXECmaster..xp_cmdshell'bcpdbname..tablenameind:DT.txt-c-Sservername-Usa-Ppassword'execmaster..xp_cmdshell'bcp"select*fromdbname..tablename"queryout"D:20140528.xls"-c-Sservername-Uuser-Ppassword'xp_cmdshell参数说明下面是我自己写的一个存储过程,可以直接拿去使用第一步,先要授权。上面有授权的SQL代码ifexists(select*fromsysobjectswheretype='p'andname='sp_export_posm_data')begindropproceduresp_export_posm_data;end;gocre...
数据库操作教程 2022-09-23 17:41:18 -
sqlserverisnull在数据库查询中的应用
isnull在数据库查询中的应用,特别是再语句连接的时候需要用到比如连接时候,某个字段没有值但是又要左连接到其他表上就会显示空,isnull可以判断是否是NULL,如果是给个默认值isnull("字段名","默认的数据")SqlServer中的null值与IsNull函数NULL值的三大特点,分别是:1)NULL值不参加统计;2)NULL值不进入计算表达式;3)不能与其它值进行比较。所谓NULL值不参加统计即在使用统计函数时,凡是涉及到NULL值的都会被忽视掉(用词可能不准确),不要以为这不重要,其实在某些地方这是很重要的...
数据库操作教程 2022-09-23 17:32:42 -
sql时间格式化输出、Convert函数应用示例
复制代码代码如下:SelectCONVERT(varchar(100),GETDATE(),0):0516200610:57AMSelectCONVERT(varchar(100),GETDATE(),1):05/16/06SelectCONVERT(varchar(100),GETDATE(),2):06.05...
数据库操作教程 2022-09-23 17:18:59 -
获取数据库中两个时间字段的相差天数及ABS/DATEDIFF函数应用
复制代码代码如下:SELECTABS(DATEDIFF(dd,EndDate,BeginDate))FROMdbo.WorkingPlan其中,WorkingPlan为一张表,EndDate和BeginDate为WorkingPlan表中的结束时间和开始时间如果哪里有不正确的地方,欢迎批评指正,共同进步。...
数据库操作教程 2022-09-23 17:06:11 -
SqlServer分组统计并合计总数及WITHROLLUP应用
WITHROLLUP在生成包含小计和合计的报表时,ROLLUP运算符很有用。ROLLUP运算符生成的结果集类似于CUBE运算符所生成的结果集...
数据库操作教程 2022-09-23 17:05:04 -
向数据库中插入数据并返回当前插入的行数及全局变量@@IDENTITY应用
数据库中有张表User,字段是ID和Name,ID自增。利用存储过程实现插入时返回当前的行数复制代码代码如下:CREATEPROCProc_InsertUser@namenvarchar(100)ASINSERTINTOdbo.User(Name)VALUES(@name)SELECT@@IDENTITYASID利用全局变量@@IDENTITY实现...
数据库操作教程 2022-09-23 17:00:59 -
SQL截取字符串应用代码
SUBSTRING返回字符、binary、text或image表达式的一部分。有关可与该函数一起使用的有效Microsoft®SQLServer™数据类型的更多信息,请参见数据类型...
数据库操作教程 2022-09-23 16:57:37 -
SQL高级应用之使用SQL查询Excel表格数据的方法
复制代码代码如下:execsp_configure'showadvancedoptions',1reconfigureexecsp_configure'AdHocDistributedQueries',1reconfigure复制代码代码如下:SELECT*FROMOPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','DataSource=E:HaierWebMyWebDocabc.xls;ExtendedProperties=Excel8.0')...Sheet1$第一行当做表头。其余行当成一种数据类型,且不能转换,如果有文本,有数字,按出现多的一项显示,其余为Null员工信息 F2NULL 姓名664754张三664783李四Null处应该是员工编号...
数据库操作教程 2022-09-23 16:51:58 -
SQLServer正则表达式替换函数应用详解
--SQL正则替换函数复制代码代码如下:CREATEfunctiondbo.regexReplace(@sourcentext,--原字符串@regexpvarchar(1000),--正则表达式@replacevarchar(1000),--替换值@globalReplacebit=1,--是否是全局替换@ignoreCasebit=0--是否忽略大小写)returnSvarchar(1000)ASbegindeclare@hrintegerdeclare@objRegExpintegerdeclare@resultvarchar(5000)exec@hr=sp_OACreate'VBScript...
数据库操作教程 2022-09-23 16:50:27 -
SQLserver高级应用收藏版
一.建库,建表,加约束.1.1建库复制代码代码如下:usemastergoifexists(select*fromsysdatabaseswherename='MyDatabase')—判断master数据库sysdatagbases表中是否存在将要创建的数据库名dropdatabaseMyDatabase—如果sysdatabases表中存在该数据库名,则将它删除goexecxp_cmdshell‘mdD:/MyDatabases'—利用存储过程创建一个文件夹用于存储数据物理文件(数据文件,日志文件),DOS命令(mkdir=md)gocreatedatabaseMyDatabase—创建数据库on(name='MyDatabase_data',--指定逻辑文件名filename='D:/MyDatabases/MyDatabase_data.mdf',--指定物理文件名size=5mb,--初始大小maxsize=50mb,--指定物理文件最大容量,可选filegrowth=20%--增长量)logon(name='MyDatabase_log',--指定逻辑日志文件名filena...
数据库操作教程 2022-09-23 16:49:46