在SQLServer2005Express上附加从另外一台电脑Copy过来的数据库后,数据库为“只读”。解决办法:打开开始→程序→MicrosoftSQLServer2005→配置工具→SQLServer配置管理器,打开SQLServerSQLEXPRESS的属性.在内置帐号处,把“网络服务”改成“本地系统”,重新启动SQLServer2005Express后,再附加数据库一切正常。总结:之所以附加上的数据库为“只读”,是因为启动SQLServer的默认的
系统 2019-08-29 23:40:51 2153
SQLServerTransact-SQL编程T-SQL语句用于管理SQLServer数据库引擎实例,创建和管理数据库对象,以及查询、插入、修改和删除数据。Ø变量1、局部变量(LocalVariable)局部变量是用户可以自定义的变量,它的作用范围是仅在程序内部,在程序中通常用来储存从表中查询到的数据或当做程序执行过程中的暂存变量。使用局部变量必须以@开头,而且必须用declare命令后才能使用。基本语法:声明变量declare@变量名变量类型[@变量名变
系统 2019-08-12 01:52:28 2153
原文:如何有效抓取SQLServer的BLOCKING信息转自:微软亚太区数据库技术支持组官方博客http://blogs.msdn.com/b/apgcdsd/archive/2011/12/12/sql-server-blocking.aspxSQLServer允许并发操作,BLOCKING是指在某一操作没有完成之前,其他操作必须等待,以便于保证数据的完整性。BLOCKING的解决方法要查看BLOCKING的头是什么,为什么BLOCKING头上的语句执
系统 2019-08-12 01:51:31 2153
首先,我们通过数据库中表的两条记录来引出问题,如下图以上为一个记录操作记录的表数据。OrderID为自增长列,后面依次为操作类型,操作时间,操作人。现在的问题是:要求筛选出数据库中从“接收”到“送出”的时间差超过2天的全部记录。即如上图两笔单据中,红色框既是要筛选出的,绿色框为正常过滤的。为了定位相邻记录,方法为给查询语句的返回记录加个自动编号列放入临时表中,再对临时表进行操作。ViewCode--1.首先查出表中符合條件的所有信息selectIDENTI
系统 2019-08-12 01:33:04 2153
有朋友提到一个奇怪的问题,用SMO备份数据库时不显示进度条,也就是进度条事件PercentComplete不触发。今天试了一下,果然有点奇怪。代码如下:usingMicrosoft.SqlServer.Management.Smo;usingMicrosoft.SqlServer.Management.Common;privatevoidbtnBackup_Click(objectsender,EventArgse){btnBackup.Enabled=f
系统 2019-08-29 23:04:21 2152
用openrowset连接远程SQL或插入数据--如果只是临时访问,可以直接用openrowset--查询示例select*fromopenrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)--导入示例select*into表fromopenrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)--创建链接服务器execsp_addlinkedserver'
系统 2019-08-12 01:55:16 2151
PIVOT,UNPIVOT运算符是SQLserver2005支持的新功能之一,主要用来实现行到列的转换。本文主要介绍PIVOT运算符的操作,以及如何实现动态PIVOT的行列转换。关于UNPIVOT及SQLserver2000下的行列转换请参照本人的其它文章。一、PIVOT的语法SELECT[non-pivotedcolumn],--optional[additionalnon-pivotedcolumns],--optional[firstpivotedc
系统 2019-08-12 01:53:50 2150
SQLSERVER提供了通过EXCHANGE或OUTLOOK收发邮件的扩展存储过程,下面将这几个过程简单的介绍一下。一、启动SQLMailxp_startmail@user,@password@user和@password都是可选的也可打开EnterpriseManager中的SupportServices,在SQLMail上单击右键打开右键菜单,然后按Start来启动二、停止SQLMailxp_stopmail也可用上述方法中的菜单里的Stop来停止三、
系统 2019-08-12 01:53:28 2149
TRY...CATCH是SqlServer2005/2008令人印象深刻的新特性.提高了开发人员异常处理能力.没有理由不尝试一下Try..Catch功能.*TRY块-包含可能产生异常的代码或脚本*CATCH块-如果TRY块出现异常,代码处理流将被路由到CATCH块.在这里你可以处理异常,记录日志等.SqlServer中的TryCatch和C#,JAVA等语言的处理方式一脉相承.这种一致性才是最大的创新之处.SQLSERVER2000中异常处理:CREATE
系统 2019-08-12 01:52:30 2149
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一
系统 2019-08-12 01:51:27 2146
有时候要把SQLServer的数据表导出为Excel表,以利于分发使用,复制黏贴有比较麻烦,可以用一下步骤操作之:1、先建立一个空的.xls文件,命名为gx.xls;2、右键单击目标数据库,选择“任务-导出数据”;3、进入导出数据向导,选择源数据和数据库;4、选择目标数据,这里请选择目标为“MicrosoftExcel”,并在路径里选择刚才建立的gx.xls;5、后面几部默认即可,最终数据导出到Excel中!SQLServer2005数据表导出为Excel
系统 2019-08-12 01:54:46 2144
SqlServerCPU性能排查及优化的相关Sql语句,非常好的SQL语句,记录于此:--BeginCpu分析优化的相关Sql--使用DMV来分析SQLServer启动以来累计使用CPU资源最多的语句。例如下面的语句就可以列出前50名。selectc.last_execution_time,c.execution_count,c.total_logical_reads,c.total_logical_writes,c.total_elapsed_time,
系统 2019-08-12 01:51:52 2143
一、时间函数在使用存储过程,sql函数的时候,会遇到一些对时间的处理。比如时间的获取与加减。这里就用到了sql自带的时间函数。下面我列出这些函数,方便日后记忆,使用。--getdate获取当前时间selectgetdate()--dateadd原有时间加:2013-02-1713:20:16此时间加12个月selectdateadd(MONTH,12,'2013-02-1713:20:16')--返回:2014-02-1713:20:16.000(参数mo
系统 2019-08-12 01:51:30 2143
在sqlserver中来计算一个字符串在另一个字符串中出现的次数,通常会去用循环来匹配,然后计算出出现的次数,这样的效能不是很高。现在讲一种比较简单的方法也能实现同样的功能,思路如下:1:设有字符串str1str2,现在要求str1在str2中出现的次数。2:将str1后面加上一个字符,如:str1+'_',设更改后的字符串為str3。3:在str2中如果有子串str1,将之替换成str3,替换后的字符串设為str4。4:str4与str2的长度之差即為s
系统 2019-08-12 01:51:30 2142
1.差异备份的还原不备份结尾日志的情况下还原数据创建差异备份的放在我们已经在前面一篇博客SQLServer的备份中提到了,这里我们不再赘述,下面我们给出差异备份与还原的T-SQL方法,代码如下:--创建备份设备EXECsp_addumpdevice'disk','MyAdvWorks_1','d:\backup\MyAdvWorks_1.bak';EXECsp_addumpdevice'disk','MyAdvWorks_diff1','d:\backup
系统 2019-08-12 01:32:30 2141