随笔分类 -  数据库

摘要:如果从来没有从事务日志中删除日志记录,逻辑日志就会一直增长,直到填满容纳物理日志文件的磁盘上的所有可用空间。在某个即时点,必须删除恢复或还原数据库时不再需要的旧日志记录,以便为新日志记录腾出空间。可通过以下语句解决: BACKUP LOG tablename WITH NO_LOG DBCC SHRINKFILE(Filename|FileID) 一、截断事务日志:BACKUP LOG tablename WITH NO_LOG 删除日志记录以减小逻辑日志的大小的过程称为截断日志。 1、永远不能截断事务日志的活动部分。 日志的活动部分是在任何时间恢复数据库所需的日志部分,因此必须有回滚所有.. 阅读全文
posted @ 2012-06-14 09:08 马儿快跑 阅读(1131) 评论(0) 推荐(0)
摘要:SQL查询和删除重复字段的内容 例如: id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c pp 7 c pp 8 c iii id是主键 要求得到这样的结果 id name value 1 a pp 3 b iii 4 b pp 6 c pp 8 c iii方法1delete YourTable where [id] not in ( select max([id]) from YourTable group by (name + value)) 方法2delete a from 表 a left join( select id=min 阅读全文
posted @ 2012-05-29 17:50 马儿快跑 阅读(10819) 评论(0) 推荐(0)
摘要:sql getdate() 时间格式设置Sql Server 中一个非常强大的日期格式化函数常用: Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 200610:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100 阅读全文
posted @ 2012-05-16 10:13 马儿快跑 阅读(544) 评论(0) 推荐(0)
摘要:临时表与一般的表不同,它是保存到tempDb表中。临时表的表名与你所建的表名也不一样,因为他要为不同人的相同操作创建不同的临时表。1、错误的删除操作:--错误的临时表删除操作,因为所在数据库不同IFEXISTS(SELECT*FROMsysobjectsWHEREobject_id=OBJECT_ID(N'[dbo].[#tempTable]')ANDtypein(N'U'))BeginDROPTABLE[dbo].[tempTable]End--错误的临时表删除操作,因为临时表名已变ifexists(select*fromtempdb.dbo.sysobjec 阅读全文
posted @ 2012-04-27 23:11 马儿快跑 阅读(306) 评论(0) 推荐(0)