随笔分类 -  DataBase

SQLSERVER中修复状态为Suspect的数据库
摘要:前几天的Server因断电损坏了DB,DB的Status被标记为Suspect。这种情况少见,此时不能Detachp这个DB了,只能Backup。 后面用这些T-Script重建log文件,还是少量数据丟失。 检查DB的状态: 1: SELECT DATABASEPROPERTYEX ('DemoSuspect', 'STATUS') AS 'Status'; 2: GO 3: 4: S... 阅读全文
posted @ 2009-08-21 10:21 PetterLiu 阅读(3671) 评论(2) 推荐(0) 编辑
列出Server上5张最大的表
摘要:遍历所有数据库,但不包括系统数据库。列出表所在数库名,表名,表的大小,表的记录数。非常有趣,T-SQL 看下面: 1: create table #t(d nvarchar(MAX),t nvarchar(MAX),r int,x nvarchar(100),s nvarchar(100),y nvarchar(100),z nvarchar(100)) 2: declare @s nvarc... 阅读全文
posted @ 2009-08-02 17:19 PetterLiu 阅读(612) 评论(0) 推荐(0) 编辑
使用SQL SERVER 2005/2008 递归CTE查询树型结构
摘要:我们经常遇到树型结构,把它们显示在一个类似TreeView控件上的情况。这时我们可以使用Recursive Common Table Expressions(CTE)实现。下面是一个简单的Family Tree 示例: 1: DECLARE @TT TABLE (ID int,Relation varchar(25),Name varchar(25),ParentID int) 2: INSE... 阅读全文
posted @ 2009-07-19 15:26 PetterLiu 阅读(2498) 评论(0) 推荐(1) 编辑
SqlServer中使用CONVERT函数实现日期格式化
摘要:CONVERT函数有3个参数:CONVERT ( data_type [ ( length ) ] , expression [ , style ] )第一个参数返回数据类型,第二个参数是表达式,第三个是可选的定义风格的参数.注意:不要应用CONVERT函数在被索引的日期列上.看下面的实例:SELECT CONVERT(VARCHAR(30),GETDATE(),100)--Output (MON... 阅读全文
posted @ 2009-07-11 14:06 PetterLiu 阅读(1248) 评论(0) 推荐(0) 编辑
简单T-Sql备份所有数据库
摘要:有的时候我们可以使用T-sql来完成一些看起来复杂又重复的工作.例如,备份所有数据库,你可以使用SSMS来完成,但那样会很累的.使用下面这段script也可完成,把备份路径改成你的目标文件夹即可,当然你可以写个存储过程. DECLARE @name VARCHAR ( 50 ) -- database name DECLARE @path VARCHAR ( 256 ) -- path for b... 阅读全文
posted @ 2009-06-28 15:27 PetterLiu 阅读(1118) 评论(0) 推荐(0) 编辑
监控SQL SERVER性能:快速版
摘要:监控SQL SERVER性能:快速版 SELECT @@total_read AS 'Total Read', @@total_write AS 'Total Write', @@total_errors AS 'Total Error', @@io_busy AS 'IO Processing Time (ms)', ... 阅读全文
posted @ 2009-05-01 14:11 PetterLiu 阅读(491) 评论(1) 推荐(0) 编辑
使用非正式的存储过程 sp_MSforeachdb
摘要:使用非正式的存储过程 sp_MSforeachdbsp_MSforeachdb 跌代每一个SQL SERVER中数据库的实例.替代使用游标,这个非正式的存储过程极大帮助我运行一些相对我本地数据库服务器的命令.这儿有一些实际使用sp_MSforeachdb 日常任务的场景.打印SQL Server实例所有数据库的名称. EXEC sp_MSforeachdb 'USE ?; PRINT ... 阅读全文
posted @ 2009-04-25 22:40 PetterLiu 阅读(551) 评论(2) 推荐(0) 编辑
SQL合并列值两种新方法
摘要: 在SQL SERVER中,有时需要合多列值到行的需求,常见的方法有:1.创建自定义函数,2.使用游标法进行字符串合并。3.使用临 时表实现字符串合并。 阅读全文
posted @ 2008-11-30 17:00 PetterLiu 阅读(12260) 评论(0) 推荐(0) 编辑
Oracle通用分页包
摘要:根据网上流传的版本,修改而成,加入了新的重载。包定义如下: 1 /***************************************************************** 2 *功能描述: 大数据量分页通用存储过程包定义 3 *创建人: Melodicsoul 4 *创建时间: 2007-05-28 5 *****************... 阅读全文
posted @ 2007-06-10 18:36 PetterLiu 阅读(1637) 评论(7) 推荐(0) 编辑
用一句SQL取出第 m 条到第 n 条记录的方法
摘要:1 --从Table 表中取出第 m 条到第 n 条的记录:(Not In 版本) 2 3 SELECT TOP n-m+1 * 4 FROM Table 5 WHERE (id NOT IN (SELECT TOP m-1 id FROM Table )) 6 7 8 --从TABLE表中取出第m到n条记录 (Exists版本) 9 10 SELECT TOP n-m+1 *... 阅读全文
posted @ 2006-07-31 09:14 PetterLiu 阅读(2721) 评论(1) 推荐(0) 编辑