随笔分类 -  01.SQL Server

摘要:在上一篇文章不同版本的SQL Server之间数据导出导入的方法及性能比较中比较了5种方法进行数据迁移的效率,最后发现使用SqlBulkCopy具有极高的性能。在文章的回复中,园友温景良(Jason)提到:sqlbulkcopy如果加上事务呢,速度应该快些吧!当时我一想,SqlBulkCopy可以包含在事务里面执行吗?因为我记得SqlBulkCopy是基于BCP且不写log的。所以也没敢仓促回复。然后我去查了下,的确是可以包含在事务中执行的,且提供了两种方法。使用UseInternalTransaction在构造函数SqlBulkCopy(String, SqlBulkCopyOptions) 阅读全文
posted @ 2012-09-11 15:45 Parry 阅读(3678) 评论(8) 推荐(2)
摘要:工作中有段时间常常涉及到不同版本的数据库间导出导入数据的问题,索性整理一下,并简单比较下性能,有所遗漏的方法也欢迎讨论、补充。00.建立测试环境01.使用SQL Server Import and Export Tool02.使用Generate Scripts03.使用BCP04.使用SqlBulkCopy05.使用Linked Server进行数据迁移06.使用RedGate的SQL Data Compare07.结果对比可以先看下测试的结果00.建立测试环境建立一个测试的环境,一个数据源数据库,版本为SQL Server 2008,一个目标数据库,版本为SQL Server 2000。实 阅读全文
posted @ 2012-08-31 15:11 Parry 阅读(11035) 评论(14) 推荐(8)
摘要:在项目中需要将内部DECLARE的参数通过EXEC赋值后再作为下面一个EXEC参数的时候,发现都使用EXEC时,问题就不是那么简单了。趁着没有睡意研究下。EXEC的使用与缺点EXEC命令有两种用法,一种是执行一个存储过程,另一种是执行一个动态的批处理一般的使用如下,做动态SQL语句拼接,然后执行然而上面这样的拼接语句又称为“串联变量”,而串联变量是不支持执行计划的,在我的演示代码中我已加了测试的SQL语句。使用DBCC FREEPROCCACHE清空缓存。(具体使用可以查看MS的MSDN:http://msdn.microsoft.com/zh-cn/library/ms174283.aspx 阅读全文
posted @ 2010-10-26 09:11 Parry 阅读(1135) 评论(2) 推荐(1)