随笔分类 - mssql
摘要:[转]http://www.cnblogs.com/CareySon/archive/2013/05/04/PlanCacheInSQLServer.html简介 我们平时所写的SQL语句本质只是获取数据的逻辑,而不是获取数据的物理路径。当我们写的SQL语句传到SQL Server的时候,查询分析器会将语句依次进行解析(Parse)、绑定(Bind)、查询优化(Optimization,有时候也被称为简化)、执行(Execution)。除去执行步骤外,前三个步骤之后就生成了执行计划,也就是SQL Server按照该计划获取物理数据方式,最后执行步骤按照执行计划执行查询从而获得结果。但查询优化器
        阅读全文
            
摘要:sp_helptext 'sp_msforeachdb'declare @ssql nvarchar(4000)set @ssql= 'if ''?'' not in (''tempdb'',''master'',''model'',''msdb'') beginuse [?]declare @tsql nvarchar(4000) set @tsql = ''''declare 
        阅读全文
            
摘要:create table tb(id int, value varchar(10)) insert into tb values(1, 'aa') insert into tb values(1, 'bb') insert into tb values(2, 'aaa') insert into tb values(2, 'bbb') insert into tb values(2, 'ccc') go select id, [values]=stuff((select ','+[value] fr
        阅读全文
            
摘要:一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可。如果WITH AS短语所定义的表名被调用两次以上,则优化器会自动将WITH AS短语所获取的数据放入一个TEMP表里,如果只是被调用.
        阅读全文
            
摘要:在一个数据库EmployeeManagement中有一个主要数据库文件EmployeeManagement.mdf和两个次要数据库文件rt.ndf、YU.ndf,还有一个事务日志文件EmployeeManagement_log.ldf。如图1:现在想把 rt.ndf、YU.ndf里面的数据合并到EmployeeManagement.mdf。这里使用的是收缩数据库文件的方法达到合并数据库文件的目的。收缩数据库文件命令:DBCC SHRINKFILE({ 'file_name' | file_id }{ [ , EMPTYFILE ]| [ [ , target_size ] [ 
        阅读全文
            
摘要:[转http://www.cnblogs.com/nzperfect/archive/2011/09/27/2193143.html]存在即更新,反之插入的需求是很常见的,很多人没有注意并发的问题,高并发下为了避免唯一键冲突和死锁情况,下面提供三种写法,最后一个是sql server 2008及以后版本适用。示例表为:use tempdbgocreate table tb_1 (id int identity primary key,a varchar(50),dt datetime default getdate())go写法一:begin tran if exists (select * 
        阅读全文
            
摘要:转入地址:http://www.cnblogs.com/ajunsoft/archive/2009/03/30/1425238.html/*标题:普通行列转换(version 2.0)说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。问题:假设有张学生成绩表(tb)如下:姓名 课程...
        阅读全文
            
摘要:1 、普通SQL语句可以用Exec执行 eg: Select * from tableName Exec('select * from tableName') Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N 2、字段名,表名,数据库名之类作为变量时,必须用动态SQL eg: declare @fname varchar(2...
        阅读全文
            
摘要:SQL Server 阻止了对组件 \'Ad Hoc Distributed Queries\' 的访问 在Sql Server中查询一下Excel文件的时候出现问题:SELECT * FROM OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=D:\a.xls',[sheet1$]) 结果提示: SQ...
        阅读全文
            
摘要:/*1.查询SQLSERVER中的所有数据库*/ use master go select * from sysdatabases where dbid>4/*where条件用来去掉系统数据库*/ go /*2.查询SQLSERVER中的所有数据库(存储过程)*/ exec sp_helpdb /*3.查询指定数据库中的表*/ use 数据库名 go select * from sysobj...
        阅读全文
            
 
                    
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号