-
使用SqlBulkCopy时应注意Sqlserver表中使用缺省值的列
SqlBulkCopy来自数据源的String类型的给定值不能转换为指定目标列的类型nvarchar。在网上找了下,大都说是因为数据库中的字段过小(来自数据源的String类型的给定值不能转换为指定目标列的类型nvarchar...
数据库操作教程 2022-09-23 17:16:36 -
SQLServer误区30日谈第12天TempDB的文件数和需要和CPU数目保持一致
误区#12:TempDB的文件数和需要和CPU数目保持一致错误 哎,由于上述误区是微软“官方”的建议,并且还有大量博文坚持这个观点,这个误区已经是老生常谈。 但让人困惑的是SQLCAT团队给出的建议就是1:1,但这个建议是源自扩展方面的原理来说,而不是一个通用法则...
数据库操作教程 2022-09-23 17:07:06 -
SQLServer误区30日谈第2天DBCCCHECKDB会导致阻塞
误区#2:DBCCCHECKDB会引起阻塞,因为这个命令默认会加锁这是错误的! 在SQLServer7.0以及之前的版本中,DBCCCHECKDB命令的本质是C语言实现的一个不断嵌套循环的代码并对表加表锁(循环嵌套算法时间复杂度是嵌套次数的N次方,作为程序员的你懂得),这种方式并不和谐,并且….. 在SQLServer2000时代,一个叫SteveLindell的哥们(现在仍然在SQLServerTeam)使用分析事务日志的方法来检查数据库的一致性的方式重写了DBCCCHECKDB命令。DBCCCHECKDB会阻止截断日志...
数据库操作教程 2022-09-23 17:04:37 -
SQLServer误区30日谈第27天使用BACKUPWITHCHECKSUM可以替代DBCCCheckDB
误区#27:使用BACKUP...WITHCHECKSUM可以替代DBCCCheckDB错误 乍一看,由于BACKUPWITHCHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下: 由SQLServer2000或是更早版本升上来的数据库pagechecksums必须开启,在开启后,并不是数据库中所有的页都会被叫上页校验和,当页损坏发生时,IO系统可不会区分损坏的页是有页校验和还是没有校验和的。所以使用BACKUP...WITHCHECKSUM就有可能导致一些损坏页不被发现,造成的后果…… 除此之外,还有一个问题是完整备份的时间间隔相对比较长,假如说一个月,而相对于DBCCCheckDB的最佳实践是一个礼拜,这导致WITHCHECKSUM不能替代CHECKDB...
数据库操作教程 2022-09-23 17:03:22 -
系统存储过程sp_MSforeachtable和sp_MSforeachdb使用说明
1.简介:作为DBA会经常需要检查所有的数据库或用户表,比如:检查所有数据库的容量;看看指定数据库所有用户表的容量,所有表的记录数...,我们一般处理这样的问题都是用游标分别处理处理,比如:在数据库检索效率非常慢时,我们想检查数据库所有的用户表,我们就必须通过写游标来达到要求;如果我们用sp_MSforeachtable就可以非常方便的达到相同的目的:EXECsp_MSforeachtable@command1="print'?'DBCCCHECKTABLE('?')"系统存储过程sp_MSforeachtable和sp_MSforeachdb,是微软提供的两个不公开的存储过程,从mssql6.5开始。存放在SQLServer的MASTER数据库中...
数据库操作教程 2022-09-23 16:54:56 -
DBCCCHECKIDENT重置数据库标识列从某一数值开始
DBCCCHECKIDENT(N'dbo.Orders',RESEED,0);DBCCCHECKIDENT语法DBCCCHECKIDENT(table_name[,{NORESEED|{RESEED[,new_reseed_value]}}])[WITHNO_INFOMSGS]参数table_name是要对其当前标识值进行检查的表名。指定的表必须包含标识列...
数据库操作教程 2022-09-23 16:54:38 -
SQLServer数据修复命令DBCC一览
1.DBCCCHECKDB 重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。usemasterdeclare@databasenamevarchar(255)set@databasename='需要修复的数据库实体的名称'execsp_dboption@databasename,N'single',N'true'--将目标数据库置为单用户状态dbcccheckdb(@databasename,REPAIR_ALLOW_DATA_LOSS)dbcccheckdb(@databasename,REPAIR_REBUILD)execsp_dboption@databasename,N'single',N'false'--将目标数据库置为多用户状态然后执行DBCCCHECKDB('需要修复的数据库实体的名称')检查数据库是否仍旧存在错误...
数据库操作教程 2022-09-23 16:54:12 -
jdbc连接sqlserver数据库问题分析
SQLServer连接中问题还真多。不进行设置还真连接不上,这里小记一下!(部分资料来源于互联网)JDBC连接MySQL出现的问题(例子里面自带JDBC2005的驱动,在lib文件夹下,右键点击BuildPath--->addtobuildbuildpath即可)运行connectionSqlServer2005包下的JavaConnectionSQL类即可!1.驱动问题:JDBC2005与JDBC2008一定要对号入座,否则会报错!(本人用的是2008)2.服务启动问题:其实很多情况下连接不上,是因为你的服务没有启动!运行----->输入services.msc-----找到SQLServer的服务,启动就行...
数据库操作教程 2022-09-23 16:50:43 -
sqlserver数据库使用存储过程和dbmail实现定时发送邮件
上文已讲过如何在数据库中配置数据库邮件发送(备注:数据库邮件功能是基于SMTP实现的,首先在系统中配置SMTP功能。即在“添加/删除程序”面板中“增加/删除WINDOWS组件”,选中并双击打开"IIS"或“应用程序”,勾选"SMTPSERVICE"然后一路点“下一步”即可...
数据库操作教程 2022-09-23 16:47:34 -
使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)
1)创建配置文件和帐户(创建一个配置文件和配置数据库邮件向导,用以访问配置数据库邮件管理节点中的数据库邮件节点及其上下文菜单中使用的帐户。) 打开数据库服务器------管理-------数据库邮件------右键---配置数据库邮件(同时也可以看到管理已经配置好的邮件账户和配置文件) 这里的配置文件名,在使用sp_send_dbmail时会作为参数使用点“添加” 其中,账户名可以任意指定(描述功能即可),重点是邮件发送服务器(SMTP)的配置:电子邮件地址为发送方邮件地址,显示名称为发送方名称,答复电子邮件(可以同电子邮件地址相同),服务器名称为服务器发送服务器(eg:QQ的为smtp.exmail.qq.com)端口号不变;SMTP身份验证:基本身份验证(配置自己的邮件发送方地址和密码)...
数据库操作教程 2022-09-23 16:45:51 -
新手SqlServer数据库dba需要注意的一些小细节
前言:任何的优化和修改都是以业务情况为前提,可能有的写的有误或者不准确的地方,欢迎各位来拍砖。1.在创建db的时候自增长建议设置成按MB(M)增长,步长根据业务量来设置,一般情况建议设置100-200M(见图片),还有就是尽量别改初始大小,这个默认就好...
数据库操作教程 2022-09-23 16:45:23 -
SqlServer中的DBCC命令详细介绍
今天研发中心办年会,晚上就是各自部门聚餐了,我个人喜欢喝干红,在干红中你可以体味到那种酸甜苦辣。...
数据库操作教程 2022-09-23 16:45:05