代码改变世界

随笔分类 -  SQLServer2005

勤于思考:游标删除数据库所有表数据

2013-07-05 11:46 by 薛凯凯圆滚滚, 265 阅读, 收藏,
摘要: 使用游标删除库的所有表DECLARE @tablename varchar(20) DECLARE CUR CURSOR FOR SELECT name FROM sysobjects WHERE type = 'U' OPEN CUR FETCH NEXT FROM CUR INTO @tablenameWHILE @@FETCH_STATUS=0BEGINEXEC ('TRUNCATE TABLE ' + @tablename) FETCH NEXT FROM CUR INTO @tablenameENDCLOSE CUR;DEALLOCATE CUR; 阅读全文

步步为营:因为数据库正在使用,所以无法获得对数据库的独占访问权

2012-09-19 15:06 by 薛凯凯圆滚滚, 291 阅读, 收藏,
摘要: 还原数据库出错: ” 因为数据库正在使用,所以无法获得对数据库的独占访问权 “ 的解决方案在还原数据库时 , 有时会提示因为数据库正在使用,所以无法获得对数据库的独占访问权 !!这时需要在还原数据库前先杀死正在使用数据库的线程 .该解决方案用到了系统表中的 sysprocesses ,若要访问 sysprocesses ,您必须定位到 master 数据库。以下是杀死正在使用 'Education' 数据库的线程 :use masterdeclare @dbname varchar ( 20)set @dbname = 'Education' declare @ 阅读全文

步步为营:SQLServer查询随机不相同的记录插入临时表

2012-07-20 12:02 by 薛凯凯圆滚滚, 372 阅读, 收藏,
摘要: DECLARE @Num VARCHAR(max)DECLARE @SQL VARCHAR(max)SET @Num = '1' IF NOT EXISTS (select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..##TABLE') and type='U')BEGIN SET @SQL = 'SELECT top ' + @Num + ' id,Realname INTO ##TABLE FROM Edu_Users ORDER BY NEW 阅读全文

勤于思考:SQL Server数据库DBA工作内容详解 转

2012-06-05 10:23 by 薛凯凯圆滚滚, 299 阅读, 收藏,
摘要: 在Microsoft SQL Server 2008系统中,数据库管理员(Database Administration,简称为DBA)是最重要的角色。DBA的工作目标就是确保Microsoft SQL Server 2008系统正常高效地运行。DBA的工作也是最繁忙的工作,无论是性能调整,还是灾难恢复,都离不开DBA的支持。一般地,作为一个DBA,至少应该做好以下12项任务:任务一:安装和配置;任务二:容量规划;任务三:应用架构设计;任务四:管理数据库对象;任务五:存储空间管理;任务六:安全管理;任务七:备份和恢复;任务八:性能监视和调优;任务九:调度作业;任务十:网络管理;任务十一:高可用 阅读全文

步步为营:SQL的公共表达式(CTE)

2012-05-17 10:24 by 薛凯凯圆滚滚, 259 阅读, 收藏,
摘要: 公用表表达式 (CTE) 可以认为是在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 语句的执行范围内定义的临时结果集。CTE 与派生表类似,具体表现在不存储为对象,并且只在查询期间有效。与派生表的不同之处在于,CTE 可自引用,还可在同一查询中引用多次。CTE 可用于: 处理以前版本中SQL不好现实,不好理解,复杂的查询问题.比如:分页,递归查询... 创建递归查询。有关详细信息,请参阅使用公用表表达式的递归查询。在不需要常规使用视图时替换视图,也就是说,不必将定义存储在元数据中。启用按从标量嵌套 select 语句派生的列进行分组,或者按不确定性函 阅读全文

步步为营:利用SET ROWCOUNT来高性能地进行分页

2012-04-19 10:03 by 薛凯凯圆滚滚, 343 阅读, 收藏,
摘要: SQL SERVER 中有一个SET Rowcount的的设置,它的意思是使命令的处理在响应指定的行数之后停止处理命令,利用这个特点,我们可以借用它来在一个千万行级数据表中实现高性能分页查询。缺点:不过该方式的查询只适合建立主键索引为(数字型)USE EducaeSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: 薛凯-- Create date: 2012年4月19日-- Description: 利用SET ROWC... 阅读全文

步步为营:SQL通用存储过程分页

2011-11-22 16:48 by 薛凯凯圆滚滚, 290 阅读, 收藏,
摘要: 阅读全文

步步为营:SQL查询优化方案

2011-11-22 16:18 by 薛凯凯圆滚滚, 289 阅读, 收藏,
摘要: 阅读全文

PowerDesigner15 逆向工程

2010-09-11 10:24 by 薛凯凯圆滚滚, 1414 阅读, 收藏,
摘要: 好久没有写博文了.. 今天有时间就写写吧..好久没弄powerDesigner了 今天逆向工程竟然出错..看了看问题..原来是DBMS物理模型没有设定正确..设定好..OK。收集了点点 Error问题..分享下!powerdesigner 反向工程时出错,unable to list userspowerdesigner 反向工程时出错,unable to list users是因为在新建物理数据... 阅读全文

两种数据库,四种分页算法的效率比较

2009-08-14 12:18 by 薛凯凯圆滚滚, 2528 阅读, 收藏,
摘要: 分页算法本身没有什么快慢之分,对反应速度起到决定作用的是——能否有效地利用索引!算法 评价 缺点 适用的数据库 max效率最高的 只能有一个排序字段 Excel、Access、SQL Server 2000(2005) 颠倒Top适用范围最广的 最后一页多数据Excel、Access、SQL Server 2000(2005)表变量最大失所望的太多了 SQL Server ... 阅读全文

SQL Server 排序实现函数细说

2009-08-14 10:36 by 薛凯凯圆滚滚, 523 阅读, 收藏,
摘要: 排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:   1. row_number  2. rank  3. dense_rank  4. ntile  一、row_number  row_number函数的用途是非常广泛,这个函数的功能是为查询出来的每一行记录生成一个序号。row_number函数的用法如下面的SQL语句所示:  select ... 阅读全文

SQL Server2005 ROW_NUMBER() OVER 使用

2009-08-14 10:25 by 薛凯凯圆滚滚, 1537 阅读, 收藏,
摘要: 此函数是为返回结果集的行号。说明:返回结果集分区内行的序列号,每个分区的第一行从 1 开始。语法:ROW_NUMBER () OVER ( [ <partition_by_clause> ] <order_by_clause> ) 。备注:ORDER BY 子句可确定在特定分区中为行分配唯一 ROW_NUMBER 的顺序。参数:<partition_by_clause... 阅读全文