-
MSSQLServer2014链接到MSSQLServer2000的解决方案及问题处理
开发与企业应用中,好几个版本SQLServer相互链接。分布式读取与存储,需要实现sp_addlinkedserver...
数据库操作教程 2022-09-23 17:58:56 -
sqlserver2012附加数据库问题解决方法
SQLServer错误5120:先用widows用户登录附加再分离重新用sa附加就行了不行的话,绝招:你先用SQLServer创建一个新的数据库...
数据库操作教程 2022-09-23 17:57:35 -
SQLServer2008数据库导入导出兼容性处理方案
使用场景:SQLServer的高版本数据库恢复到低版本则可能会有兼容性问题,为了解决此类问题进行数据库脚本模式处理,数据库结构,及数据存储更换版本等。1、选择要导出的数据库,右键任务,生成脚本...
数据库操作教程 2022-09-23 17:57:27 -
在SqlServer中调用外部EXE执行程序引发的问题
一、先开启xp_cmdshell打开外围应用配置器—>功能的外围应用配置器—>实例名DatabaseEnginexp_cmdshell—>启用二、解决方法usemasterExecxp_cmdshell'mkdird:csj'--调用dos命令创建文件夹,(执行成功了!)Execxp_cmdshell'c:calc.exe'--调用exe文件(但是执行exe文件,总一直显示“正在执行查询”)三、如果出现问题可能会出现如上【调用exe文件(但是执行exe文件,总一直显示“正在执行查询”)】的问题,那是因为,exe程序不是【自动执行】和【自动退出】这两点很重要。参照如下提示:注意几点:1.权限xp_deletemail的执行权限默认授予sysadmin固定服务器角色的成员,但可以授予其他用户2.执行方式xp_cmdshell以同步方式操作...
数据库操作教程 2022-09-23 17:55:47 -
SQLServer数据库安装时常见问题解决方案集锦
本文我们总结了几个在安装SQLServer数据库时常见问题的解决方案,供初学者学习参考,接下来让我们来一起看一下吧。常见问题一:安装SqlServer2000时出现“以前进行的程序创建了挂起的文件操作,运行安装程序之前,必须重新启动计算机”,重启后仍然无效...
数据库操作教程 2022-09-23 17:54:22 -
在SQLSERVER中导致索引查找变成索引扫描的问题分析
SQLServer中什么情况会导致其执行计划从索引查找(IndexSeek)变成索引扫描(IndexScan)呢?下面从几个方面结合上下文具体场景做了下测试、总结、归纳。1:隐式转换会导致执行计划从索引查找(IndexSeek)变为索引扫描(IndexScan)ImplicitConversionwillcauseindexscaninsteadofindexseek.WhileimplicitconversionsoccurinSQLServertoallowdataevaluationsagainstdifferentdatatypes,theycanintroduceperformanceproblemsforspecificdatatypeconversionsthatresultinanindexscanoccurringduringtheexecution. Gooddesignpracticesandcodereviewscaneasilypreventimplicitconversionissuesfromeveroccurringinyourdesignor...
数据库操作教程 2022-09-23 17:50:24 -
SQLReportBuilder报表里面的常见问题分析
一SQL报表常常会遇到在表格中的相除,如果分母为零,一般会显示错误号,我们可以这么处理:(加上是A/B)=A/iif(B=0,99999999999999,B)但是我们不能这么写:=iif(B=0,0,A/B) //我们不能这么写,会产生BUG,至于什么BUG,你们可以自己试试二我们假设报表中的某一个格子的名字为A,我们在A中需要引用另一个格子B的值,在这种情况下,我们通常会把B中的计算公式再次引用在A中复制一遍,这样很导致很麻烦。我们可以在A中直接这么写:ReportItems!B表的名字.Value这样就不需要再一次得把公式写一遍了三在报表曲线图中的横坐标,倘若我们需要动态得变化横坐标,我们这时候一般会把轴选项设置为自动,但是这样往往得不到我们想要的结果,下面的例子就是根据参数(开始时间和结束时间)的间隔动态地改变横坐标的样式水平轴属性》数字》自定义=IIf(Parameters!startime.Value=Parameters!endtime.Value,"",iif(DateAdd(DateInterval.day,-4,Parameters!endtime.Val...
数据库操作教程 2022-09-23 17:49:15 -
mssqlserver中实现的unix时间戳函数(含生成和格式化,可以和mysql兼容)
直接上代码:CREATEFUNCTIONUNIX_TIMESTAMP(@ctimestampdatetime)RETURNSintegerASBEGIN/*Functionbody*/declare@returnintegerSELECT@return=DATEDIFF(SECOND,{d'1970-01-01'},@ctimestamp)return@returnENDCREATEFUNCTIONfrom_unixtime(@tsinteger)RETURNSdatetimeASBEGIN/*Functionbody*/declare@returndatetimeselect@return=DATEADD(second,@ts,{d'1970-01-01'})return@returnEND用法跟MySQL下的一样类似:selectdbo.UNIX_TIMESTAMP('2013-1-1')selectdbo...
数据库操作教程 2022-09-23 17:47:59 -
SqlServer使用casewhen解决多条件模糊查询问题
我们在进行项目开发中,经常会遇到多条件模糊查询的需求。对此,我们常见的解决方案有两种:一是在程序端拼接SQL字符串,根据是否选择了某个条件,构造相应的SQL字符串;二是在数据库的存储过程中使用动态的SQL语句...
数据库操作教程 2022-09-23 17:47:05 -
sqlserver中判断表或临时表是否存在的方法
1、判断数据表是否存在方法一:useyourdb;goifobject_id(N'tablename',N'U')isnotnullprint'存在'elseprint'不存在'例如:usefireweb;goifobject_id(N'TEMP_TBL',N'U')isnotnullprint'存在'elseprint'不存在'方法二:USE[实例名]GOIFEXISTS(SELECT*FROMdbo.SysObjectsWHEREID=object_id(N'[表名]')ANDOBJECTPROPERTY(ID,'IsTable')=1)PRINT'存在'ELSEPRINT'不存在'例如:usefireweb;goIFEXISTS(SELECT*FROMdbo...
数据库操作教程 2022-09-23 17:46:07 -
SQLServer使用游标处理Tempdb究极竞争-DBA问题-程序员必知
SQLServertempdb分配竞争算是DBA老生常谈的问题了,几乎现在所有的DBA都知道多建几个文件来解决/缓解问题.但是深层次的的竞争依旧不可避免.这里给大家剖析下游标在tempdb中的特点使其在一定场景下替代临时表/表变量对象,解决深层次的tempdb竞争问题.在抛出这个不可避免的问题之前我们先简要看下什么是tempdb竞争.我们拿SQLServer创建一个临时表的过程来描述1在系统表中创建表的条目(系统数据页中)2分配一个IAM页并找到一个混合区在PFS页中标记3分配一个数据页(查看SGAM页,查看PFS页后并更新,更新IAM页)4表记录记录到系统表中从上述过程可以看出创建一个简单临时表需要查找,更新一系列的系统表/系统数据页,且当使用完删除临时表时上述操作逆向进行.索引相应的创建/销毁一旦大量并发,内部竞争也就产生了.虽然tempdb的缓存策略一定程度可以缓解相应创建过程的IAM,数据页分配,SqlServertempdb原理-缓存机制解析实践,但竞争依旧.可以看到SGAM,PFS等系统页是表创建过程的必经之路,他的分配竞争也就十分明显了.这也就是为什么采用多个数据文件,让...
数据库操作教程 2022-09-23 17:45:42 -
在sqlserver中如何使用CTE解决复杂查询问题
最近,同事需要从数个表中查询用户的业务和报告数据,写了一个SQL语句,查询比较慢:SelectS.Name,S.AccountantCode,(SelectCOUNT(*)from(SelectDistinctBusinessBackupIdfromBiz_BusinessBackupCustomerwhereIdin(SelectBusinessBackupCustomerIdfromRpt_RegistFormwhere(SignatureCPA1Id=S.IdorSignatureCPA2Id=S.Id)andDocStatus=30))T)as'BNum',(casewhenR.Idisnullthen0else1end)as'Num',R.ReportBackupDatefromBase_StaffSleftjoinRpt_RegistFormRon(R.SignatureCPA1Id=S.IdorR.SignatureCPA2Id=S.Id)andR.DocStatus=30whereS.UserType=3该查询需要执行10秒左右,仔细分析,它有2次查询类似的结果集(Ba...
数据库操作教程 2022-09-23 17:45:11