-
sp_executesql使用复杂的Unicode表达式错误的解决方法
Msg102,Level15,State1,Line3Incorrectsyntaxnear'+'.当你尝试执行下面这段代码时,会得到如上这个错误提示。复制代码代码如下:DECLARE@MyNameNVARCHAR(100)DECLARE@FieldNameSYSNAME=N'Name'EXECUTEsp_executesqlN'SELECTTOP1@OutputName=['+@FieldName+']FROM[dbo].[Member]',N'@OutputNameNVARCHAR(100)OUTPUT',@MyNameOUTPUT;SELECT@MyName问题出于不允许使用更复杂的Unicode表达式(例如使用+运算符连接两个字符串)...
数据库操作教程 2022-09-23 17:28:34 -
清除SQLSERVER错误日志出现操作系统错误的解决方法
之前在UAT环境搭建的SQLSERVER2008R2数据库一直用得比较正常,但最近发现在Sharepoint中不能进行任何操作了,开始以为是什么配置出了问题(因为一直在研究一些新的应用和集成,需要不断地测试),但后来发现是数据库硬盘没用一点空间了,那么自然是不能存任何数据了,所以最先开始清理一些无用的数据库日志,磁盘空间多了几个G的容量,但是等到第二天情况依然如此,数据库硬盘还是满了,问题依旧存在,后台仔细检查了一下所有数据库的容量(因为最初以为是数据库空间每天增长太快了把硬盘占满了),发现才十几个G的,而硬盘总空间有126G,因此进一步检查了这个磁盘空间,发现才三十多个G,一开始感觉很纳闷,为什么会缺少将近90G呢?后来发现是原来windows账号的关系,之前用的登录账号权限有限,无法获取磁盘的所有空间容量,因此换了管理员的账号登录后,发现原来是SQLSERVER有一个错误日志的容量将近90G,总算找到磁盘满的原因了,下一步就是如何去解决它。一开始听了同事的建议,直接通过文件剪贴的方式把这个SQLSERVER错误日志文件直接移动到另外一个硬盘上,折腾了好几个小时最终以失败告终,说明错...
数据库操作教程 2022-09-23 17:26:42 -
SqlServer数据库提示“tempdb”的日志已满问题解决方案
执行sql语句,中间没有用到临时表提示服务器:消息9002,级别17,状态2,行1数据库'tempdb'的日志已满。请备份该数据库的事务日志以释放一些日志空间...
数据库操作教程 2022-09-23 17:26:27 -
解决无法在unicode和非unicode字符串数据类型之间转换的方法详解
今天用excel导入数据又遇到了…… 错误0xc02020f6:数据流任务:列“column”无法在unicode和非unicode字符串数据类型之间转换。 原因:仔细看了一下,发现有些字段是varchar的,而excel中估计都是nvarchar类型...
数据库操作教程 2022-09-23 17:26:22 -
解决SQLServer的“此数据库没有有效所有者”问题
在附加数据库后查看不了数据库关系图,也无法建立数据库关系图我的解决方法如下: 1、设置兼容级别为90(2005为90)(2000为80)复制代码代码如下:USE[master]GOEXECdbo.sp_dbcmptlevel@dbname='数据库名',@new_cmptlevel=90GO [这条命令执行完毕:报“DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系”,不管它哦,接下来点击“数据库关系图”,报“此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建”,选择“是”,问题解决了] 或是选择你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90)然后确定...
数据库操作教程 2022-09-23 17:25:39 -
通过SQLServer的位运算功能巧妙解决多选查询方法
无论使用int还是varchar,对于Status的多选查询都是不易应对的。举例,常规思维下对CustomerStatus的Enum设置如下:复制代码代码如下:[Serializable]publicenumCustomerStatus{New=0,Active=1,Overdue=2,Suspended=3,Closing=4,Closed=5}在数据库中以int形式存储了Status值...
数据库操作教程 2022-09-23 17:25:14 -
sqlserver数据库最大Id冲突问题解决方法之一
复制代码代码如下:CREATETABLE[dbo].[TbGuidTable]([TableName][varchar](50)NOTNULL,[KeyName][varchar](20)NOTNULL,[KeyValue][varchar](100)NOTNULL)ON[PRIMARY]GOifexists(select*fromdbo...
数据库操作教程 2022-09-23 17:24:48 -
MSSQL将截断字符串或二进制数据问题的解决方法
地图数据存放在sqlserver2008中,使用mapxtreme7开发时,使用Feature.Update()方法时出错的提示包含“MSSQL将截断字符串或二进制数据”主要原因就是给某个字段赋值时,内容大于字段的长度或类型不符造成的解决方法:一个是修改数据库字段大小;再一就是是加强数据强壮性,严格的输入判断。防止添加的信息类型或者长度与数据库表中字段所对应的类型不符合...
数据库操作教程 2022-09-23 17:24:18 -
安装sqlserver2008后再安装sql2005找不到本地服务器的解决方法
最近在项目中安装sqlserver2005,发现找不到本地服务器,因为此前我已经安装了sqlserver2008,打开2005数据库引擎后找不到本地服务器,在网上也找不到正确的解决办法,以为是组件没有安装,有重新安装一次问题依然存在,当时很是郁闷,后来想想是不是组件没有安装,重装了一次还是这样,后来想想是不是2005的服务器实例与2008重合了,在重装的时候就在安装此步骤的实例没有选择默认实例如下图,此处要注意:不能选择默认实例,单击“已安装的实例”会发现有2008的服务器名称,如果选择默认的就不会安装2005的服务器所有在命名实例中填入服务器名称,如SQL2005,其他的安装按照正常步骤来,后来安装完成后在本地服务器中找到了2005的本地服务器。在此sqlserver安装过程中相信也有遇到同类问题的友友,在此处记录下来,以免遇到同样问题的博友重蹈覆辙!...
数据库操作教程 2022-09-23 17:24:07 -
在SQLServer中实现最短路径搜索的解决方法
开始这是去年的问题了,今天在整理邮件的时候才发现这个问题,感觉顶有意思的,特记录下来。在表RelationGraph中,有三个字段(ID,Node,RelatedNode),其中Node和RelatedNode两个字段描述两个节点的连接关系;现在要求,找出从节点"p"至节点"j",最短路径(即经过的节点最少)...
数据库操作教程 2022-09-23 17:24:06 -
关于sqlserver批量插入和更新的两种解决方案
复制代码代码如下:.游标方式1DECLARE@DataNVARCHAR(max) SET@Data='1,tanw;2,keenboy' --Id,Name DECLARE@dataItemNVARCHAR(100) DECLAREdata_cursorCURSORFOR(SELECT*FROMsplit(@Data,';')) OPENdata_cursor FETCHNEXTFROMdata_cursorINTO@dataItem WHILE@@FETCH_STATUS=0 BEGIN DECLARE@IdINT DECLARE@NameNVARCHAR(50) DECLAREdataItem_cursorCURSORFOR(SELECT*FROMsplit(@dataItem,',')) OPENdataItem_cursor FETCHNEXTFROMdataItem...
数据库操作教程 2022-09-23 17:18:31 -
sqlserver数据库出现置疑的解决思路
先备份数据库,再用下面的办法:复制代码代码如下:USEMASTERGOSP_CONFIGURE'ALLOWUPDATES',1RECONFIGUREWITHOVERRIDEGOALTERDATABASEDatabase_NameSETEMERGENCYGOsp_dboption'Database_Name','singleuser','true'GODBCCCHECKDB('Database_Name','REPAIR_ALLOW_DATA_LOSS')GOALTERDATABASEDatabase_NameSETONLINEGOsp_configure'allowupdates',0reconfigurewithoverrideGOsp_dboption'Database_Name','singleuser','false'GO首先新建一个同名的数据库,然后再停掉sqlserver服务,用原数据库的数据文件覆盖掉这个新建的数据库文件,重启sqlserver服务。打开企业管理器,该数据库显示“置疑”,在查询分析器中执行上面的语句...
数据库操作教程 2022-09-23 17:17:15