-
SQLServer2012无法连接到WMI提供程序(CannotconnecttoWMIprovider)解决方案
今天一位同事在启动自己工作机的SQLServer2012配置管理器时遇到如下报错:无法连接到WMI提供程序。您没有权限或者该服务器无法访问...
数据库操作教程 2022-09-23 17:56:11 -
sqlserver性能优化之nolock
伴随着时间的增长,公司的数据库会越来越多,查询速度也会越来越慢。打开数据库看到几十万条的数据,查询起来难免不废时间...
数据库操作教程 2022-09-23 17:50:41 -
将表里的数据批量生成INSERT语句的存储过程增强版
有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中目前SQLServer里面是没有相关的工具根据查询条件来生成INSERT语句的,只有借助第三方工具(thirdpartytools)这种脚本网上也有很多,但是网上的脚本还是欠缺一些规范和功能,例如:我只想导出特定查询条件的数据,网上的脚本都是导出全表数据如果表很大,对性能会有很大影响这里有一个存储过程(适用于SQLServer2005或以上版本)--Author:<桦仔>--Blog:<http://www.cnblogs.com/lyhabc/>--Createdate:<//>--Description:<根据查询条件导出表数据的insert脚本>--=============================================CREATEPROCEDUREInsertGenerator(@tableNameNVARCHAR(MAX),@whereClauseNVARCHAR(MAX))AS--Thenitincludesacursort...
数据库操作教程 2022-09-23 17:44:23 -
实例讲解sqlserver排名函数DENSE_RANK的用法
一、需求 之前sqlserver的排名函数用得最多的应该是RoW_NUMBER()了,我通常用ROW_NUMBER()+CTE来实现分页;今天逛园,看到另一个内置排名函数还不错,自己顺便想了一个需求,大家可以花1分钟先想想要怎么实现。 需求很简单:求成绩排名前五的学生信息...
数据库操作教程 2022-09-23 17:42:16 -
使用NotePad++录制宏功能如何快速将sql搜索条件加上前后单引号
當我們有很多筆的條件要對資料庫進行搜尋時,常常會用到下列的語法SELECT*FROMMemberWHEREaccuntin('Tom','John','May')在上述語法IN的搜尋條件中,有Tom、John、May三個帳號條件,資料量少的話,還可以一筆一筆的在帳號的前後加上單引號及後面加上逗號,可是當你遇到要一次查詢50個帳號的情況,一筆一筆的輸入,應該會耗費不少時間。以前我都會用Excel裡的CONCATENATE函式來處理這樣的資料,但是有一天同事教我可以用NotePad++的巨集功能來完成這件事情我覺得這方式比在Excel處理還快速,所以在這裡分享一下1.將要處理的搜尋條件貼到NotePad++,以下圖來看,有25筆(圖中的英文名字是從google隨機搜尋到的清單)2.因為巨集就是將你的操作紀錄下來,所以先將游標移到第一筆資料的開始位置,然後按下NotePad++工具列上的巨集按鈕,開始錄製3.因為游標已經在最開頭,也就是第一筆資料的位置,所以請直接用鍵盤,按照下面的鍵盤按鍵順序進行輸入(下方括號中的都是鍵盤的按鍵喔)「'」→「End」→「'」→「,」→「↓」→「H...
数据库操作教程 2022-09-23 17:39:42 -
Transactionalreplication(事务复制)详解之如何跳过一个事务
在transactionalreplication,经常会遇到数据同步延迟的情况。有时候这些延迟是由于在publication中执行了一个更新,例如updatetasetcol=?Where?,这个更新包含巨大的数据量...
数据库操作教程 2022-09-23 17:38:49 -
sqlservernotin语句使程充崩溃
两张表组织架构表(Organise)和工资发放历史记录表(WagePerMonthHis)两张表通过Organise.Item_id和WagePerMonthHis...
数据库操作教程 2022-09-23 17:32:35 -
EXEC(EXECUTE)函数访问INSERTED或DELETED的内部临时触发表
刚开始时,这个表的字段很少(10个以内),前开发者把这个表的所有存储过程与触发器以及表函数全是写死了。用户每添加一些字段,都需要手动去更改这些存储过程与触发器以及表函数...
数据库操作教程 2022-09-23 17:30:05 -
SQLServerExecpt和notin性能区别
主要讲except和notin的性能上的区别。复制代码代码如下:CREATETABLEtb1(IDint)CREATETABLEtb2(IDint)BEGINTRANDECLARE@iINT=500WHILE@i>0beginINSERTINTOdbo.tb1VALUES(@i--v-int)SET@i=@i-1endCOMMIT我测试的时候tb1是1000,tb2是500复制代码代码如下:DBCCFREESYSTEMCACHE('ALL','default');SETSTATISTICSIOONSETSTATISTICSTIMEonSELECT*FROMtb1EXCEPTSELECT*FROMtb2;SELECT*FROMtb1WHEREidNOTIN(SELECTidFROMtb2);--得不到任何值SETSTATISTICSIOOFFSETSTATISTICSTIMEOFF执行计划:复制代码代码如下:SELECT*FROMtb1EXCEPTSELECT*FROMtb2;|--MergeJoin(RightAntiSemiJoin,MERGE:([master1].[dbo]...
数据库操作教程 2022-09-23 17:26:30 -
使用BULKINSERT大批量导入数据SQLSERVER
开门见山,直接以例子介绍:复制代码代码如下:CREATETABLE[dbo].[course]([id][int]NULL,[name][nvarchar](50)NULL,[CourseType][nvarchar](50)NULL,[Course][float]NULL)导入数据:将下面的数据存储为文本文件或SQL文件2,李刚,语文,89;3,李刚,数学,79;3,李刚,英语,69;4,李刚,化学,89导入语句:复制代码代码如下:BULKINSERTdbo...
数据库操作教程 2022-09-23 17:25:41 -
insertselect与selectinto的用法使用说明
insertinto(列名)select列名from表名where条件--不创建表,只复制表数据select列名into表名(这个表名是不存在的)from表名where条件,--创建一张新表,只复制选择的列名字段数据Insert是T-sql中常用语句,InsertINTOtable(field1,field2,...)values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECTINTO和INSERTINTOSELECT表复制语句了...
数据库操作教程 2022-09-23 17:25:36 -
CREATEFUNCTIONsqlserver用户定义函数
创建用户定义函数,它是返回值的已保存的Transact-SQL例程。用户定义函数不能用于执行一组修改全局数据库状态的操作...
数据库操作教程 2022-09-23 17:18:33