数据库技术
文章平均质量分 68
luyifeiniu
这个作者很懒,什么都没留下…
展开
-
一个关于SQL Server数据库的触发器实例
/******************************************************************** 文件名:** Copyright (c) 2003-2004 *********** 创建人:** 日 期:2004-5-26** 修改人:** 日 期:** 描 述:** affair_read表的一个插入触发器,用于将T_Sys_Message表的相应消息原创 2004-07-19 18:41:00 · 1735 阅读 · 0 评论 -
SQL Server现场优化纪实(二):通过重建索引提高性能
续接上文,通过如下方式观察数据文件过大的情况: --获取数据库的物理文件信息SELECT df.[name], df.physical_name, df.[size], df.growth, f.[name][filegroup], f.is_defaultFROM sys.database_files df JOIN sys.filegroups f ON df.data_space原创 2009-12-04 16:45:00 · 1468 阅读 · 0 评论 -
SQL Server现场优化纪实(一):通过重建索引提高性能
这两天在现场处理一则系统性能的问题,问题一在于数据库访问速度慢,有时一条语句运行速度会大于400ms;另一个问题在于数据库文件超大,mdf文件将近30G。 首先分析问题一,使用profiler跟踪数据库语句的执行情况,发现针对个别表的访问速度大大低于预期,发现此表日常记录维持在100w量级,并且数据操作非常频繁。使用sp_spaceused返回结果发现此表 rowsi原创 2009-11-21 15:39:00 · 2689 阅读 · 0 评论 -
关于通过使用 NOLOCK 和 READPAST 解决数据库死锁问题
数据库死锁的问题经常遇到,对于非银行等严格要求事务的行业,搜索记录中出现或者不出现某条记录,都是在可容忍范围内,所以碰到死锁,应该首先考虑,我们业务逻辑是否能容忍出现或者不出现某些记录,而不是寻求对双方都加锁条件下如何解锁的问题。 NOLOCK 和 READPAST 都是处理查询、插入、删除等操作时候,如何应对锁住的数据记录。但是这时候一定要注意NOLOCK 和 READPAST的局限性,原创 2009-08-11 14:22:00 · 1690 阅读 · 0 评论 -
SQL Server高可用性部署实施
摘要:本文主要阐述如何实现SQL Server双节点群集高可用性部署实施,通过微软MSCS技术使SQL Server达到企业级安全应用要求。另外 ,本文介绍SQL Server 2005中新增的镜像服务功能,相比MSCS SQL Server 群集,SQL Server数据库镜像是基于软件的高可用性解决方案。1. 概述本方案目标是通过微软MSCS技术使SQLServer达到企业级应用要转载 2008-10-31 16:55:00 · 1189 阅读 · 0 评论 -
过滤同一个表中多个字段重复数据的SQL技巧
对于数据:ID Name Code---------------------------1 A X2 B XX3 A X4 B XX5 C原创 2008-10-15 11:00:00 · 7653 阅读 · 0 评论 -
SQL日期格式化应用大全
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select CONVERT(varchar(100), GETDA转载 2007-12-04 17:26:00 · 841 阅读 · 0 评论 -
获取SQL Server属性信息
SELECT SERVERPROPERTY(BUILDCLRVERSION) AS BUILDCLRVERSION,SERVERPROPERTY(COLLATION) AS COLLATION,SERVERPROPERTY(COLLATIONID) AS COLLATIONID,SERVERPROPERTY(COMPARISONSTYLE) AS COMPARISONSTYLE,S原创 2007-08-09 10:17:00 · 1303 阅读 · 0 评论 -
理解JOIN
表A记录如下:aID aNum1 a200501112 a200501123 a200501134 a200501145 a20050115表B记录如下:bID bName1 20060324012 20060324023转载 2006-12-30 17:58:00 · 1422 阅读 · 0 评论 -
关于SQL Server事务日志的问题汇总
1、用BACKUP LOG database WITH NO_LOG清除日志把数据库属性中的故障还原模型改为“简单”可以大大减慢日志增长的速度。 如果把还原模型调到简单,这样就不支持时间点还原了,但是日志文件会很小,如果数据比较重要推荐还是把数据库的还原模型调为完全用BACKUP LOG database WITH NO_LOG命名后,会截断不活动日志,不减小物理日志文件转载 2006-12-11 11:23:00 · 1248 阅读 · 0 评论 -
Sql Server数据库被置疑后解决方法
现象:数据库Log日志太大了,shrink不掉。于是想把数据库文件卸下来,删除log,再附加上。附加失败。提示错误:服务器: 消息 1813,级别 16,状态 2,行 1未能打开新数据库 metadb。CREATE DATABASE 将终止。设备激活错误。物理文件名 d:/metadb.LDF 可能有误。环境:MSSQL SERVER 2000 企业版解决过程:1.建一个新库newdb转载 2006-06-19 10:49:00 · 1615 阅读 · 1 评论 -
跨数据库的SQL操作
跨数据库的SQL操作如果只是临时访问,可以直接用openrowsetSELECT * FROM openrowset(SQLOLEDB ,10.1.1.10;sa;sunshine ,SELECT * FROM NJS_ERP.dbo.Ecode Where ecode = 001) AS aSELECT * FROM openrowset(SQLOLEDB ,1原创 2005-12-02 11:50:00 · 1669 阅读 · 0 评论 -
SQL Server表与Excel、Access数据互导
下面讲的都是直接用T-SQL语句来实现的。 1、SQL Server导出为Excel: 要用T-SQL语句直接导出至Excel工作薄,就不得不用借用SQL Server管理器的一个扩展存储过程:xp_cmdshell,此过程的作用为“以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。”下面为定义示例: EXEC master..x原创 2005-11-14 18:28:00 · 2300 阅读 · 0 评论 -
获取数据库中的所有表
在很多情况下我们需要将指定的数据库中的所有表都列出来。在使用C#进行软件开发时,我们有哪些方法可是实现这个目的呢?本人对此进行概要的总结,有以下6中方式可以实现这个目的。1、SQLDMOSQLDMO是操作SQLServer的理想的方式,如果您的数据库是SQLServer就可以考虑使用这种方式。在C#中使用SQLDMO需要添加SQLDMO的引用,然后在当前的文件中using SQLDMO;即可以使用原创 2005-11-10 15:39:00 · 1140 阅读 · 0 评论 -
SQL Server日期格式的转换
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 这对于在要不同数据库间转移数据或者习惯oracle日期格式YYYY-MM-DD HH24:MI:SS的人多少有些不方便. 我整理了一下SQL Server里面可能经常会用到的日期格式转换原创 2005-09-13 10:23:00 · 1129 阅读 · 0 评论 -
SQL Server各种日期计算方法
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。 在使用本文中的例子之前,你必须注意以下的问题。大部原创 2005-09-13 10:25:00 · 1815 阅读 · 1 评论 -
自己写的一个数据库自定义函数实例
/******************************************************************** 文件名:** Copyright (c) 2003-2004 *********BESTEC** 创建人:卢弋** 日 期:2004-9-7** 修改人:** 日 期:** 描 述:** 根据输入的项目编号Proj_ID。** 通过对外协报账(T_R_Invo原创 2004-09-08 09:42:00 · 4187 阅读 · 0 评论 -
解决嵌套游标问题
<br />今天有人询问游标是否可以嵌套使用的问题,因为用于标识游标是否已经达到数据集结尾的标志值@@FETCH_STATUS是一个全局变量,那么如果出现游标嵌套的话可能造成内侧的游标完成数据集遍历以后导致外侧游标的无法再循环读取下一行的数据。先来看看SQL Server 2000中联机帮助的内容: <br />--------------------------------------------------------------------------------<br />@@FETCH_STATU转载 2010-06-30 10:20:00 · 5596 阅读 · 0 评论