随笔分类 -  DataBase

SQLSERVER使用CLR Stored Procedure导出数据到Excel
摘要:在实际应用中,我们经常需要导出数据到Excel文件,你可以使用DTS或SSIS来做。但有时,我们并不需要这么重量级的工具,直接用CLR SP实现就可以了。假设你已经写好了导出Excel的C# code: 1: /// <summary> 2: /// This is the method registered with SQL Server as a 3: /// CLR stored... 阅读全文
posted @ 2009-12-03 18:02 PetterLiu 阅读(1603) 评论(2) 推荐(0) 编辑
SqlServer中插入无时间的日期
摘要:很简单你可以用: SELECT DATEADD(dd, DATEDIFF(dd, '2000-01-01 00:00:00', GETDATE() ), '2000-01-01 00:00:00' );这样也可以:SELECT DATEADD(DAY,DATEDIFF(DAY,0,GETDATE()),0)结果是:2009-11-15 00:00:00.000(这是今天的日期)Author:Pet... 阅读全文
posted @ 2009-11-15 21:49 PetterLiu 阅读(1690) 评论(2) 推荐(0) 编辑
创建Linking Server in SQL SERVER 2008
摘要:Linked Server 可以实现分布式查询,下图是一个基本的Linked Server配制图: 我们可以使用T-sql script来更加简洁的创建Linked Server: EXEC master.dbo.sp_addlinkedserver @server = N'SERVER', @srvproduct = 'SERVER', @provider = 'SQLNCLI10', @d... 阅读全文
posted @ 2009-10-16 10:42 PetterLiu 阅读(381) 评论(0) 推荐(0) 编辑
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 阅读(3696) 评论(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 阅读(618) 评论(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 阅读(2501) 评论(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 阅读(1276) 评论(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 阅读(1125) 评论(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 阅读(495) 评论(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 阅读(562) 评论(2) 推荐(0) 编辑
SQL合并列值两种新方法
摘要: 在SQL SERVER中,有时需要合多列值到行的需求,常见的方法有:1.创建自定义函数,2.使用游标法进行字符串合并。3.使用临 时表实现字符串合并。 阅读全文
posted @ 2008-11-30 17:00 PetterLiu 阅读(12289) 评论(0) 推荐(0) 编辑
Oracle通用分页包
摘要:根据网上流传的版本,修改而成,加入了新的重载。包定义如下: 1 /***************************************************************** 2 *功能描述: 大数据量分页通用存储过程包定义 3 *创建人: Melodicsoul 4 *创建时间: 2007-05-28 5 *****************... 阅读全文
posted @ 2007-06-10 18:36 PetterLiu 阅读(1642) 评论(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 阅读(2738) 评论(1) 推荐(0) 编辑