随笔分类 - SQL Server 研究
摘要:公司核心交易数据库,使用SQL 2012 AlWaysON的1主4从,有2台(8.14,8.15)从库服务器,已经使用3年多,过保替换,新买的2台服务器已经安装好,一开始方案如下: 服务器(8.14)替换方案: 1, 需提前修改程序连接8.14的配置和DBMS,改成8.15服务器并重启相关服务 2,
阅读全文
摘要:UPDLOCK和READPAST,通过UPDLOCK和READPAST的结合我们能够解决许多问题,比如我当前项目中对于更新预约人数,则用到了UPDLOCK和READPAST,因为考虑到并发如果固定预约人数为100,那么当出现并发时将有可能导致预约超出的情况,利用UPDLOCK则可以解决其他进程过来时
阅读全文
摘要:【问题描述】 我们可能会在数据库的错误日志里,发现这么一条信息: A time-out occurred while waiting for buffer latch -- type 4, bp 000000097BFDEDC0, page 1:19239, stat 0xc00009, datab
阅读全文
摘要:当然, 从总的结果来看, 似乎两者都表现为两次读取的结果不一致. 但如果你从控制的角度来看, 两者的区别就比较大 对于前者, 只需要锁住满足条件的记录 对于后者, 要锁住满足条件及其相近的记录 我这么理解是否可以? 避免不可重复读需要锁行就行 避免幻影读则需要锁表 ####不可重复读和幻读的区别##
阅读全文
摘要:USE t; GO --开启某个数据库的CDC功能 exec sys.sp_cdc_enable_db GO --is_cdc_enabled栏位为1代表开启CDC功能了 SELECT is_cdc_enabled,CASE WHEN is_cdc_enabled=0 THEN 'CDC功能禁用' ELSE 'CDC功能启用'END 描述 FROM sys.databases WHE...
阅读全文
摘要:1,当SQL Server错误日志很大时,手工运行: exec sp_cycle_errorlog 系统存储过程,即可使用新的日志文件 sqlserver系统自动调用 exec sp_cycle_errorlog 系统存储过程,该存储过程会关闭当前的错误日志文件,并循环错误日志扩展编号来循环使用错误
阅读全文
摘要:Description: This wait type occurs when a thread is waiting for access to a non-page data structure so that it can modify the data structure. The thre
阅读全文
摘要:--查询当前数据库备份进度 SELECT DB_NAME(er.[database_id]) [DatabaseName],er.[command] AS [CommandType],er.[percent_complete] ,er.start_time,CONVERT(DECIMAL(5, 2)
阅读全文
摘要:SQL Server分区键列必须是主键一部分。 必须把分区列包含在主键/唯一约束/唯一索引的键列中。USE tempdbGO-- 测试表CREATE TABLE dbo.tb( id int, CONSTRAINT PK_id PRIMARY KEY CLUSTERED( ...
阅读全文
摘要:看了一下tablediff的比较,网上有些文章说NULL不能比较,但是同步测试了SQL 2008 的功能,发现其实能够比较出NULL值的。运行tablediff命令:SQL Profiler 跟踪出以下sql: SELECT[dbo].[Tmp].[ID],BINARY_CHECKSUM([dbo].[Tmp].[Account],[dbo].[Tmp].[CharName],[dbo].[Tmp].[ID])asMShash_54267293FROM[dbo].[Tmp]WITH(READUNCOMMITTED)ORDERBY[dbo].[Tmp].[ID]SELECT[dbo].[Tm..
阅读全文
摘要:SQL 2008 到 SQL2012的镜像,配置和SQL 2008的一样,但是开始镜像时,不能从2008配置镜像到2012,只能从2012的环境中配置SQL2008到SQL 2012的镜像
阅读全文
摘要:DBCC TRACEON (3604) --将trace结果输出到前端dbcc page('kk',1,95344,1)--用于查询一个页面的内部存储结构信息/*DBCC Page ({dbid|dbname},filenum,pagenum[,printopt])?具体参数描述如下:dbid: 包含页面的数据库IDdbname:包含页面的数据库的名称filenum:包含页面的文件编号pagenum:文件内的页面printopt:可选的输出选项;选用其中一个值:0:默认值,输出缓冲区的标题和页面标题1:输出缓冲区的标题、页面标题(分别输出每一行),以及行偏移量表2:输出缓冲区的
阅读全文
摘要:开始暴露问题 2011年2月下旬的一天早上,昨天更新的系统,早上发现数据库的服务器CPU达到100%,而且持续的时间很长,不得回到昨天更新前的版本,但系统还是有较长时间达到100%的情况,问题没有解决,从这正式开始优化线上数据库性能。 第一阶段优化 分析问题: 一开始老是想找出问题的原因,找了3天还
阅读全文
摘要:上周五,在2.4数据库上执行一条简单的sql查不出数据,SQL如下:select * from Product_ID where POSysNo in(188060,185624) and SysNo not in(select productidsysno from SO_Item_PO)执行:select * from Product_ID where POSysNo in(188060,185624)查出一个SysNo=26293588在select productidsysno from SO_Item_PO where productidsysno=26293588,执行在SO_It
阅读全文
摘要:一个 SSIS 包可以包含诸如连接管理器、 日志提供程序、 控制流元素、 数据流元素、 事件处理程序、 变量,和配置项目。当您使用包模板创建一个新包时,您可以重新使用这些项目。例如对于您可能希望重新使用包模板在以下各项: 日志提供程序: 您可以创建一个包,其中包含连接管理器和 $ 日志提供程序。 可
阅读全文
摘要:--建立表数据select * into so_M21from so_Ma where 0=1--批量导入数据到表BCP DB_test.dbo.so_M21 in D:\User\User.txt -c -T--批量导出数据到txt文本BCP "SELECT * FROM DB_test.dbo.so_M21 " queryout c:\User.txt -c -U"sa" -P"1"
阅读全文
摘要:发布日期 : 4/1/2004 | 更新日期 : 4/1/2004 一些关于使用分区视图的好主意 Itzik Ben-Gan SQL Server 分区视图允许各机构调节各自系统以处理大量数据。这种功能使您能够在多个表之间对数据进行分区;在逻辑上通过视图把各个表联合起来,使分区尽可能对用户与开发人员透明。以前发表的几篇文章(包括我和 Kalen Delaney 发表的两篇,其中一篇“分布...
阅读全文
摘要:关于数据库中分页的过程,网上大把。有通用的分页存储过程,高效的分页存储过程。但是,这些并没有从根本上解决性能问题。我们知道对于相同的查询,如果你限制每页返回10条记录和每页返回20条记录比,虽然10条记录在网络和返回结果时会比20条记录要稍稍占一点优势。但是它要花比20条记录时2倍的访问次数,因此从总的资源消耗来看10条记录会占用更多的资源。但是用户的操作你永远是无法预测的,它可能只是看了...
阅读全文
摘要:Sql Server 2005有分区功能,但Oracle已经有了组合分区功能,sql server 2005如何实现,能实现吗? 在Oracle 10g中,有rang-list/hash分区,在SQL server 2005中可以实现Range和list,可以和oracle一样实现复合分区。 在上一
阅读全文
摘要:SQL Server 三大算法(嵌套,合并,哈希)的IO成本 1. Nested Loop Join(嵌套循环联结) 算法: 其思路相当的简单和直接:对于关系R的每个元组 r 将其与关系S的每个元组 s 在JOIN条件的字段上直接比较并筛选出符合条件的元组。写成伪代码就是: 代价: 被联结的表所处内层或外层的顺序对磁盘I/O开销有着非常重要的影响...
阅读全文
浙公网安备 33010602011771号