-
SQLServer中汇总功能的使用GROUPING,ROLLUP和CUBE
第一次看到这样的SQL语句,看不懂,其中用到了下面的不常用的聚集函数:GROUPING用于汇总数据用的运算符:ROLLUPSELECT CASE GROUPING(o.customerid) WHEN 0 THEN o.customerid ELSE '(Total)' END AS AllCustomersSummary, CASE GROUPING(od.orderid) WHEN 0 THEN od.orderid ELSE -1 END AS IndividualCustomerSummary, SUM(od.quantity*od.unitprice) AS price FROM Orders o, [Order Details] od WHERE&...
数据库操作教程 2022-09-23 20:21:35 -
SQLServer更改DB的Collation
执行以下SQL,即OK咯叻!!SQL:alterdatabase数据库名称SQL_Latin1_General_CP1_CI_AS...
数据库操作教程 2022-09-23 20:13:42 -
SQLServer"错误21002:[SQL-DMO]用户*已经存在问题解决
错误21002:[sql-dmo]用户***已经存在错误此错误的原因多是因为将MSSQL备份移植到另一服务器还原时出现。主要原因是原来的备份还原时保留了原用户的信息,导致产生孤立用户解决方法:1.打开mssql企业管理器→数据库→展开出问题的数据库如"mydb"→"用户"→在右侧窗口中选择出问题的用户名如:"***"→右击鼠标→删除2.企业管理器→安全性→登录→在右侧窗口中选择出问题的用户名如:"***"→属性→数据库访问→点选"mydb"→勾选下方的"public"和"db-owner"→确定...
数据库操作教程 2022-09-23 20:12:42 -
SQLServer实现用触发器捕获DML操作的会话信息【实例】
需求背景上周遇到了这样一个需求,维护人员发现一个表的数据经常被修改,由于历史原因;文档缺少;以及维护人员的经常变更,导致他们对系统也业务也不完全熟悉,他们也不完全清楚哪些系统和应用程序会对这个表的数据进行操作。现在他们想找出有哪些服务器,哪些应用程序会对这个表进行INSERT、UPDATE操作...
数据库操作教程 2022-09-23 18:23:24 -
SqlServer查询和Kill进程死锁的语句
查询死锁进程语句selectrequest_session_idspid,OBJECT_NAME(resource_associated_entity_id)tableNamefromsys.dm_tran_lockswhereresource_type='OBJECT'杀死死锁进程语句killspid下面再给大家分享一段关于sqlserver检测死锁;杀死锁和进程;查看锁信息--检测死锁--如果发生死锁了,我们怎么去检测具体发生死锁的是哪条SQL语句或存储过程?--这时我们可以使用以下存储过程来检测,就可以查出引起死锁的进程和SQL语句。SQLServer自带的系统存储过程sp_who和sp_lock也可以用来查找阻塞和死锁,但没有这里介绍的方法好用...
数据库操作教程 2022-09-23 18:10:32 -
浅析SQLServer的分页方式ISNULL与COALESCE性能比较
前言上一节我们讲解了数据类型以及字符串中几个需要注意的地方,这节我们继续讲讲字符串行数同时也讲其他内容和穿插的内容,简短的内容,深入的讲解。(可参看文章《详解SQLServer中的数据类型》)分页方式在SQL2005或者SQL2008中我们是利用ROW_NUMBER开窗函数来进行分页的,关于开窗函数,我们在SQL进阶中会详细讲讲...
数据库操作教程 2022-09-23 18:08:42 -
使用phpMyAdmin修改MySQL数据库root用户密码的方法
点击顶部的“SQL”标签进入sql命令输入界面。输入以下命令:复制代码代码如下:updatemysql.usersetpassword=PASSWORD('jb51$123456')whereuser='root';然后点击右下角的“执行”,没有报错就表示修改成功...
数据库操作教程 2022-09-23 17:57:15 -
sqlserver登陆后报不能为空不能为null的错误
sqlserver2012值不能为null。参数名:viewinfo(microsoft.sqlserver.managemenmen)是因为在C:Users你的用户名AppDataLocalTemp中,缺少一个名为2的目录...
数据库操作教程 2022-09-23 17:55:34 -
SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(下)
sys.dm_os_waiting_tasks引发的疑问(下)前面写了两篇了,其实不光是说sys.dm_os_waiting_tasks的应用,研究了挺长时间的并行,自己有了一些理解,所以分享出来希望有什么理解错误的地方大神们及时纠正!! 给出前两篇的连接:SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(上)SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(中)前面两篇的编写有一个疑惑...最初认为的并行比如这个语句: select*fromt1innerjoint2ont1.a=t2.aOPTION(querytraceon8649) 在我的理解并行是开几个线程去获取T1数据,另外几个线程获取T2数据,然后关联结果形成最后结果集。可是试验了才发现自己原来想的和看到的结果不太一样呀!!!! 下面我们用前两篇的例子继续做试验... 这次我们2张表同时给锁住,看看等待里是什么情况...
数据库操作教程 2022-09-23 17:49:13 -
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 -
SQLLOADER错误小结
在使用SQL*LOADER装载数据时,由于平面文件的多样化和数据格式问题总会遇到形形色色的一些小问题,下面是工作中累积、整理记录的遇到的一些形形色色错误。希望能对大家有些用处...
数据库操作教程 2022-09-23 17:42:05