MS Sql Server
alex_198208
这个作者很懒,什么都没留下…
展开
-
Sql Server 2005 事务复制
由于在SQL SERVER 复制创建过程中,一些参数被微软封装起来,如果稍不注意,对应用和管理将产生较大的差异,这儿只是根据经验整理一个流程,仅供参考,标准化配置还请参阅SQL SERVER 帮助文档。 配置分发 打开SQL Server Management Studio,选中Repilication,右键,选择Configure Distribution 2.选择本地服务器为分发服务器 3.选择快照文件夹路径,确保所在的磁盘有足够的空间5.NEXT,选择分发数据库名及数据库文件路径,最好放在比较快的磁原创 2010-07-03 07:06:00 · 305 阅读 · 0 评论 -
镜像 主库备库问题
今天在重启服务器的时候,发现一个数据库XXXX(镜像主库)一直处于恢复状态,查看日志,错误如下: Bypassing recovery for database 'XXXX because it is marked as an inaccessible datab原创 2011-07-18 18:31:14 · 971 阅读 · 0 评论 -
Logman
Logman可以创建一些数据收集器。常用的记录Performance. 具体参考 http://technet.microsoft.com/zh-cn/library/cc788038(WS.10).aspxlogman creat原创 2011-08-18 17:12:50 · 958 阅读 · 0 评论 -
Sql Server内存瓶颈(读书笔记)
sql server内存瓶颈的类型 1.外部内存压力 2.外部内存压力 外部内存压力可能发生在运行sql server的服务器上以及其它应用程序征用的情况,这将导致SQL server重新计算它的目标占有水平以及是否减少占用水平。 为了判断是否有外部压力原创 2011-08-21 16:08:58 · 782 阅读 · 0 评论 -
Sql Server CPU压力(读书笔记)
确认CPU瓶颈System-Processor Queue Length 处理器的任何对列豆浆影响到用户体验,任何对列都将不可避免的影响总体性能。如果对列长度平均值大于3,则可以将之视为一个相关原因。Processor-%Privilege Time Privilege原创 2011-08-22 12:42:55 · 422 阅读 · 0 评论 -
sql server 磁盘瓶颈
1.确认磁盘瓶颈PhysicalDIsk--Avg.Disk Queue Length 这个计数器报告了每个磁盘的队列长度,如果队列长度持续大于2,则可能会影响到性能。PhysicalDisk--Avg.Disk sec/Read和Avg.Disk sec/Write 表原创 2011-08-22 16:43:46 · 1145 阅读 · 0 评论 -
Sql Server 945错误
昨天机器重启,一个数据库出现无法打开,打开数据库属性的时候出现945错误2011-08-23 02:58:40.82 spid15s 错误: 17207,严重性: 16,状态: 1。2011-08-23 02:58:40.82 spid15s FCB::O原创 2011-08-24 15:46:01 · 12492 阅读 · 3 评论 -
通过Link server 插入数据时产生的问题
今天发现一个表搬移数据的时候很慢,问题出在插入历史库步骤。语句为 insert into [ip].DBName.dbo.TABLE_A select * from DBName.dbo.TABLE_B with(nolock)) where id not in(select id from [ip].DBName.dbo.TABLE原创 2011-11-28 17:17:50 · 696 阅读 · 0 评论 -
优化引擎判断有误
数据库版本:SQL Server 2008R2. 前几天在审计的时候发现一个数据库的压力稍高,理论山现有的访问压力不应该使服务器压力达到这样的高度。在优化过程中发现,一类百万量级表上的查询无法使用到索引。显示的执行计划如下,很明显,SQL 执行过慢是因为全部走了主键查找。 统计信息显示如下: 表 'AccountCallbackInfo_4'。扫原创 2011-11-07 10:23:41 · 355 阅读 · 0 评论 -
SQL SERVER STATISTICS
些信息中各个字段的意义,都有其相应的意义(以下来自引用):扫描计数(Scan Count):在查询中涉及到的表被访问的次数。在我们的例子中,其中的表只被访问了1次,由于查询中不包括连接命令,这一信息并不是十分有用,但如果查询中包含有一个或多个连接,则这一信息是十分有用的。(一个循环外部的表的Scan Count值为1,但对于一个循环内的表而言,其值为循环的次数。可以想象得到,对于一个循环内的表转载 2011-12-24 15:50:54 · 1112 阅读 · 0 评论 -
Order by 字段加在索引何处
Order by字段有时看到SQL SERVER给出的索引中会加在索引的Include里面,我则比较喜欢加在条件字段的尾部,今日测试对比了一下。 有一个查询语句如下: SELECT TOP 5 id,name,BizOfferTypeId,TradingServiceType FROM [table] WITH (NOLOCK)原创 2012-03-02 11:05:33 · 2087 阅读 · 0 评论 -
SQL SERVER error:40 错误:53
昨天在为一个数据库做复制的时候,发现使用实例名无法连接至远程数据库,错误如下: 无法连接到WIN-CQAAA 在于SQL SERVER连接时出现了与网络相关的或特定于实例的错误,未找到或无法访问服务器,请验证实例名 是否正确并且SQL SERVER配置为可远程连接(PROVIDER:命名管道提供程序,error 40:-无法原创 2012-08-30 09:50:57 · 10019 阅读 · 1 评论 -
避免参数嗅探带来的资源消耗
近日发现一个服务器上的TRACE文件中记录了大量同一类型的SQL,而这个SQL看上去貌似没什么问题。 exec sp_executesql N' SELECT UserID, UserCategory, UserName, PartnerID, PartnerName, CreatedTime FROM [table] WITH(NOLOCK) WHERE原创 2012-10-12 11:23:35 · 3123 阅读 · 2 评论 -
SQL SERVER 2008 集群添加存储
准备工作1. 按照需求划分RaidGroup和LUN2. 在存储管理界面中将新划分的LUN分配给相应服务器3.在服务器上建新的LUN联机并格式化4.给每个LUN分配卷名将LUN添加进集群1. 打开故障转移群集管理器,选择存储,点击添加磁盘,将查找到的磁盘选中,然后确定。2. 将磁盘分配给实例(此步骤建议先将服务脱机)。 服务和应用程序,选中一个SQL Ser原创 2013-01-09 14:40:04 · 2840 阅读 · 0 评论 -
日志传送备库质疑
很显然,这种问题比较少见,我至今仍没想到合适的办法让一个数据库产生质疑。 今天一个日志传送数据库质疑了,无法恢复日志,有时候数据库质疑的时候,重启一下服务就可以了,数据库自动修复,质疑状态消失,今天自动重启后,数据库变为NOrecovery 状态,查看出错的记录,找到备库原创 2011-07-17 17:52:13 · 465 阅读 · 0 评论 -
SQL SERVER 2008 新函数
<br />查出页及数据<br /> SELECT sys.fn_PhysLocFormatter(%%physloc%%) as [Physical RID], * FROM MYTestTable<br /> <br /> <br /> <br />http://www.mssqltips.com/tip.asp?tip=1925转载 2011-04-25 15:40:00 · 453 阅读 · 0 评论 -
Sql Server 2005 迁移至 SQL Server 2008 (镜像)
<br />目的:<br /> 将SQL server 2005 的数据库平滑升级至2008.<br />环境:<br /> 主服务器:WINDOWS 2003 Enterprise Server +Windows 2005 Enterprise SP3,DB在域中<br /> 镜像服务器:WINDOWS 2003 Enterprise Server +Windows 2008Enterprise SP1 DB 不在域中<br />准备:<br /> 由于是域服务器至原创 2010-07-14 15:30:00 · 832 阅读 · 0 评论 -
Sql Server 2005 missing index
SQL SERVER 2005 新增了查找缺失索引的视图,从这些视图中,我们可以比较轻易的看出创建那些索引对我们的应用系统有帮助。SQL SERVER 2005 缺失索引视图如下:sys.dm_db_missing_index_group_stats,返回缺失索引组的摘要信息列名 数据类型 说明 group_handleint标识缺失索引组。此标识符在服务器中是唯一的。其他列提供有关组中的索引被视为缺失的所有查询的信息。一个索引组仅包含一个索引。unique_compilesbigint将从该缺失索引组受益翻译 2010-08-04 17:56:00 · 1044 阅读 · 0 评论 -
SQL server 代理连接问题
<br />有时候,数据库中设置的一些作业在预定的计划中不执行,在代理的错误日志中提示如下信息:<br />[000] Unable to connect to server 'CBKOFFERNEW2/BKOFFER2'; SQLServerAgent cannot start<br />[298] SQLServer Error: 65535, 建立到服务器的连接时发生错误。连接到 SQL Server 2005 时,默认设置 SQL Server 不允许远程连接这个事实可能会导致失败。 [SQLSTA原创 2010-08-11 10:03:00 · 2353 阅读 · 0 评论 -
不同排序规则数据库排序
<br /> 在做两个数据库连接查询的时候,出现错误<br /> Select a.id,b.commission,a.loginid,a.name,a.idcord, a.channelname,a.remark1,a.lastloginip <br /> from [192.168.1.73].bkuser.dbo.userinfo_1 a with(nolock),<br /> dba_2007JStestjs b<br /> where a.id=b.sellerid <br /> order by原创 2010-06-24 09:40:00 · 565 阅读 · 0 评论 -
镜像加日志传送
<br /> SQL SERVER 中提供了一种既可以在物理介质上和逻辑上均可以保护数据的方式,镜像加日志传送。<br /> <br /> 具体做法是,先做好具体服务器A 的镜像,镜像服务器为B,然后再做主体服务器A 的日志传送,备库是C,备份的日志要放到一个独立的SERVER上。<br /> 这样,当主体服务器故障转移的时候,日志传送备份会继续在镜像服务器B 上进行。<br /> <br /> 这样做的好处有三点:<br /> A.日志传送可以防止逻辑错误原创 2010-08-19 15:18:00 · 364 阅读 · 0 评论 -
镜像管理小技巧--换镜像服务器IP
<br /><br /><br />1.停止当前镜像(如果在源头有日志收缩等操作,必须停掉)<br /> alter database database_name <br /> set partner off <br />2.删除当前endpoint节点<br /> drop endpoint [Endpoint_Mirroring]<br />3.按给定的账号,重建endpoint节点<br /> CREATE ENDPOINT [Endpoint_Mirroring] <br /> AUTHOR原创 2010-08-25 09:08:00 · 1141 阅读 · 0 评论 -
逻辑查询处理阶段
<br />摘自 SQL SERVER 2005 技术内幕 T-SQL 查询<br /> <br />1.FROM:对FROM子句中前两个表执行笛卡尔积 生成虚拟表VT1<br /> <br />2.ON:对VT1表应用ON筛选器 只有满足<join_condition>为真的行才被插入VT2<br /> <br />3.OUTER(JOIN):如果指定了OUTER JOIN 保留表(preserved table)中未找到的行将行作为外部行添加到VT2 生成T3 <br />如果FROM包含两个以上表 则转载 2010-09-02 15:43:00 · 427 阅读 · 0 评论 -
一个简易查询引起的悲剧
有一个历史库服务器,大约有20左右的数据库,14000左右的连接,50左右的并发,平日表现的挺好的,一日忽然间闹腾起来了,在一些表上加了索引,好转一些,但是仍然报警。 实际上,每天抓到的BAD TRACE 并不是很多,并且大部分查询条件都很简单,一些查询时间比较长的查询出现的次数也不多,这个事情纠结了几天,终于一日无法在忍受了,和同事一起查看,发现一个简单的查询竟然有阻塞。 这个查询的条件列是我认为表的主键列,怎么会有阻塞呢?查看表结构发现原创 2010-09-09 11:28:00 · 472 阅读 · 1 评论 -
sql server 日志传送还原慢
SQL SERVER为 2005 SP2,数据库每天大概有20G的日志,基本都是默认配置。 在备库RESTORE的时候,一次执行数个小时也无法还原,JOB中有如下信息,当然还无法判断是否就和此有关, 2010-09-26 13:10:16.11 Retrieved database restore settings. Secondary Database: 'Bk5173', Restore Delay: -2000000000, Restore All: True原创 2010-09-26 14:25:00 · 765 阅读 · 0 评论 -
SQL BCP 与SSIS
这几日对部分历史数据进行处理,分别使用了几种方法SQL 语句直接插入,SSIS包复制,BCP由于数据量比较大,SQL语句非常慢,大概22个小时插入了6300W+的数据,SSIS大概7.5小时,复制了1.5亿的数据,BCP好像蛮快的哦,比前两者都快,可惜 有时候在插入数据的时候会出错,所以,在转移大量数据的时候SSIS是一个很好的选择。原创 2010-10-13 10:51:00 · 978 阅读 · 0 评论 -
SQL 2008 索引损坏引起的问题
<br /> 这几日一个还没上线的项目出了一个故障,在更新数据的时候老是提示<br /> 消息 407,级别 16,状态 1,第 143 行<br />内部错误。文件 e:/sql10_main_t/sql/ntdbms/storeng/dfs/startup/dstream.cpp 第 792 行中的字符串例程因 HRESULT 0x8007007a 的错误而失败。<br />消息 8630,级别 16,状态 1,第 143 行<br />内部查询处理器错误: 查询处理器在执行过程中遇原创 2010-12-13 17:15:00 · 4045 阅读 · 2 评论 -
查找两个数据集之间的数据差异
<br /> <br />Declare @vSQL varchar(max)<br />Declare @vCols varchar(max)<br />Create Table vTable1 (id int, StudentID int, Dept varchar(10),BookID int)<br />Create Table vTable2 (id int, StudentID int, Dept varchar(10),BookID int)<br />Insert into vTable1<转载 2010-10-25 16:51:00 · 1191 阅读 · 0 评论 -
删除重复数据
<br />之前在读2005内幕系列的时候看到的应用,感觉很不错。<br />Delete T From<br />(Select Row_Number() Over(Partition By [ID] order By [ID]) As RowNumber,* From #Temp)T<br />Where T.RowNumber > 1原创 2010-10-25 17:30:00 · 446 阅读 · 0 评论 -
SQL server 通过链接服务器连接Mysql
<br /> 现在的网站架构将从单一数据库逐渐改变为混搭,新引进的产品是Mysql,为了使SQL SERVER可以查到MYSQL中的数据,可以在SQL SERVER中为MYSQL 建立链接服务器。<br /> 1.在SQL SERVER 服务器上下载MYSQL-connector-odbc,安装;<br /> 2.为MYSQL数据库创建系统DSN,名字为mysql_link;<br /> 3.在SQL SERVER 上添加链接服务器<br /> EXEC原创 2010-12-28 16:41:00 · 772 阅读 · 0 评论 -
事情不会无缘无故的来
<br /> 今天遇到一个问题,插入数据的时候一直阻塞,当时查了TRACE,查了服务器队列,看了压力状况均无问题,就自己静想了一下,认为可能和数据自身的增长有关,刚闪过就被人打断了。唉,就是这样。<br /> 不过这不是主要的问题,主要的问题是当比较容易出问题的地方查不出问题,就应该比较容易显现出隐藏问题的地方,数据库日志,或者系统日志。<br /> 第二,如果我们的应该做的的工作都做完整了,这样的事情就可以避免。这样的错误算什么呢?低级错误?<br /> <br />原创 2011-03-16 17:07:00 · 510 阅读 · 0 评论 -
SQL SERVER IO request 超时
<br /> 今天查看报警邮件,发现几个数据库挂起,有点困惑,就查看了一下日志。<br /> 系统日志显示<br /> SQL Server 已 13 次遇到了针对数据库 [DB] (6)中文件 [J:/sqldata/DB/DB.mdf] 的、所需完成时间超过 15 秒的 I/O 请求。OS 文件句柄是 0x00000000000008C8。最新的长时间 I/O 操作的偏移量是: 0x000001c6c52000<br /> <br /> 来源:原创 2011-03-22 11:15:00 · 1177 阅读 · 0 评论 -
xp_readerrorlog
xp_readerrorlog 有7个参数。 1. 第一个参数指定读取那个日志,SQL SERVER最多有7个日志,分别是0---6,current=0; 2. 第二个参数指定日志的类型,1 是SQL SERVER日志,2是SQLAGENT日志 3. 第三个参数指定要在日志中搜索的字符串 4. 第4个参数指定要原创 2013-09-05 11:57:24 · 1472 阅读 · 0 评论