
SQL Server
文章平均质量分 81
xuliuzai
己欲立而立人 己欲达而达人!
展开
-
应用服务器名称过长导致使用MSDTC报错
前者方案,修改成本相对大写,抱着试一试的心态,我们去修改hosts文件【C:/WINDOWS/system32/drivers/etc/hosts】,把其中 应用server的机器名,维护成被截断后的,即hosts维护的名字和SQL Profiler 跟踪器抓到的hostname一致。(2)必要的时候,通过【SQL Profiler 跟踪器】发现问题,还是推荐的,不要太排斥【SQL Profiler 跟踪器】。ping 检查维护的是否争取,注意,此时应该ping 机器名,不是ping serverip。原创 2024-10-17 20:54:43 · 898 阅读 · 0 评论 -
SQL Server CPU 利用率毛刺的分析定位与解决
近期发现一台SQL Server的CPU利用率很不稳定,发现不定时的飙升到100%,更可怕的是在业务繁忙时,影响了业务调用,失败率明显增加,所以,减低CPU的利用率,是迫切需要解决的问题。通过常用的SP,很快定位到了SQL语句,是关于一张表的查询,语句简单,但是表的数据量比较大(7600W),查询出的数据有(4000W)。.考虑到,CPU突然飙升,毛刺陡然加剧,冲刺到100%,并且问题SQL 不是最近新上线,所以,我们的第一反映是 索引走偏,了,我们坚持到业务低峰期,重建了表的索引,情况 依然没有好转。原创 2024-10-11 23:04:46 · 1314 阅读 · 0 评论 -
迁移Report Server DataBase时遇到的坑
远程电脑上的Reporting Services 连接 本机的Report server database时,获取的Report server database的版本版本是安装时的版本。虽可 删除、再附加 不同 版本的Report server database,但获取的版本仍是安装时的版本。,远程电脑上的Reporting Services 连接 本机的Report server database时,优先从注册表或系统表 获取信息(,不再读取附加的Report server database的版本)。原创 2024-10-11 22:28:17 · 803 阅读 · 0 评论 -
SQL Server DB迁移工作List
公司的数据库规模达到一定数量后,DB迁移、主从切换便是DBA经常性工作之一。但是 DB迁移影响较大,牵涉Team较多,特别是当公司的技术架构不太完善时,一份详细的迁移List很有必要。下面的List是我们DBA进行DB迁移的主要工作汇总,这份List是镜像(Mirror)架构下的工作总结。DB 迁移过程时间较长,期间不可访问,程序应用重试连接。修改镜像的运行模式(高性能-->高安全),无数据丢失,且主从切换,无需重新搭建。失效,需要逐一重启。原创 2024-10-11 22:25:57 · 616 阅读 · 0 评论 -
SQL Server 镜像数据库切换及同步状态变化
(4)当主库上的日志总是收缩不掉, 完整备份 后收缩不行,日志备份后 收缩也不行,此时应该查看下镜像的状态,看master-mirror 间 log的 sent 和 restore 是否正常。但是,当我们重启原主Server上的SQL Server 服务后,切换后的Mirror镜像的同步状态变成了 挂起 状态。正常情况下都是在主Server上执行的,此时主Server上DB仍然可以正常访问。正常切换后,MirrorDB变成主DB;成功执行后,主体服务器实例的数据库的状态变成了【主体,挂起】。原创 2024-10-10 11:43:58 · 714 阅读 · 0 评论 -
关于SQL Server 镜像数据库快照的创建及使用
为了提高资源的使用率,想让镜像数据库可以承担部分读,可以借助数据库快照技术。数据库快照是 SQL Server 数据库(源数据库)的只读静态视图。数据库快照在事务上与创建快照时刻的源数据库一致。一个源数据库可以有多个数据库快照,并且可以作为数据库驻留在一个SQL Server实例中。数据库快照是一个只读的状态,这也就决定了快照的使用场景,那就是用于报表。也可以通过快照快速恢复部分误操作数据。原创 2024-10-10 11:37:21 · 1297 阅读 · 0 评论 -
SQL Server 数据库部分常用语句小结(四)
EXEC sp_dboption '更新后的数据库名字', 'Single User', 'FALSE'EXEC sp_renamedb '数据库名字', '更新后的数据库名字'原创 2024-10-09 18:35:41 · 1261 阅读 · 0 评论 -
非域环境下SQL Server搭建Mirror(镜像)的详细步骤
点击确定后,会要求我们再次连接一下。原创 2024-10-09 17:16:04 · 1232 阅读 · 0 评论 -
数据库如何应对保障大促活动
当前,随着电商节日的增多(6.18、双十一、双十二)、平台拉新趋于频繁,大促活动也越来越普遍。作为一个电商平台,每年都会有一次,甚至几次的流量“大考”。数据库作为系统的重要节点,其稳定性和性能格外重要,数据库的全力保障是一个大的挑战。电商大促,这场没有硝烟的战争很多人已有体会,在此不再赘述。现在,我们直接切入主题--数据库如何 积极应对,全力保障 大促活动。这个题目分解为三个部分进行讲解: 第一部分,准备工作;第二部分,大促进行时;第三部分,大促后复盘。原创 2024-10-08 15:04:10 · 1023 阅读 · 0 评论 -
Windows Cluster失败后,AlwaysOn在残存Server节点上快速恢复DB的详细步骤
AlwaysOn是一种集合了高可用和灾难恢复两种功能的技术,它支持一个或多个数据库整体的发生故障转移,它实现了一定程度上的负载均衡,减轻了主服务器的压力,是目前最好的一种选择。---- ALTER AVAILABILITY GROUP group_name FORCE_FAILOVER_ALLOW_DATA_LOSS (其中 group_name 是可用性组的名称)停止群集服务 --> 强制仲裁以启动WSFC群集 --> 重启SQL Serveice服务 --> 执行可用性群组的强制性手动容错转移.原创 2024-10-08 14:23:17 · 722 阅读 · 0 评论 -
SQL Server Alwayson 主从数据库账号同步
我们建立了Alwayson后,辅助副本下的数据库是没有相应的账号的,怎么样进行账号的同步呢?怎么在不知道密码的情况下,进行账号的同步设置。来实现,此存储过程在主副本上创建了,在执行的时候直接数据你需要同步的账号就会生成创建的SQL命令。我们将这个SQL 命令 Copy至辅助副本上去执行,然后辅助副本上关于这个账号就生效了。我们可以通过SP--原创 2024-10-07 21:14:13 · 956 阅读 · 0 评论 -
SQL Server阻塞的检查
除了内存、CPU、I/O这些系统资源以外,阻塞和死锁是影响数据库应用性能的另一大因素。所谓的「阻塞」,是指当一个数据库会话中的事务,正在锁定其他会话事务想要读取或修改的资源,造成这些会话发出的请求进入等待的状态。SQL Server 默认会让被阻塞的请求无限期地一直等待,直到原来的事务释放相关的锁,或直到它超时、服务器关闭、进程被杀死。一般的系统中,偶尔有短时间的阻塞是正常且合理的;但若设计不良的程序,就可能导致长时间的阻塞,这样就不必要地锁定了资源,而且阻塞了其他会话欲读取或更新的需求。原创 2024-10-07 21:04:10 · 893 阅读 · 0 评论 -
SQL Server 完整备份遇到的一个不常见的错误
因为数据库在执行checkpoint的时候,脏页数、修改数据的活动事务以及指定实际持续时间checkpoint_duration,都会影响资源的分配情况,假设指定了checkpoint_duration的值为50s,而正常情况下完成这个操作需要150s,那么这个时候,数据库为了满足指定的checkpoint_duration 50s,就会比正常情况下,分配更多的资源给该指令运行,那么就会影响到正常情况下的其他操作对资源的利用了。所以这个错误很可能就是备份时出现了检查点的问题,那么我们手动执行一次检查点。原创 2024-10-07 20:58:58 · 394 阅读 · 0 评论 -
SQL Server 安装后部分选项初始化脚本
SQL Server安装后,根据对应的业务场景,数据库实例的部分选项需要调整,例如实例的最大内存、tempdb 文件的增长量、Job执行记录数等等,但这一步经常被大家忽略掉。-----------配置代理错误日志文件-------------------------------------------------------其实很多选项初始化都可以通过脚本实现,一件执行。下面是一些常见选项初始的例子,仅供大家参考。PRINT N'配置代理错误日志文件 成功'原创 2024-10-07 20:41:21 · 529 阅读 · 0 评论 -
成功安装SQL Server实例后 无法找到SQL Server Configuration Manager工具的解决方案
有一次成功安装SQL Server实例后 ,但是在所有程序中无法找到SQL Server Configuration Manager工具,以下步骤是我们当时的解决方案。最后成功将这个工具的转移到了桌面。找到所需的SQL Server Configuration Manager服务—>ADD—>OK。点击File—>Add/Remove…运行—>输入MMC—>点击OK。点击File—>Save AS。原创 2024-10-06 14:10:29 · 1119 阅读 · 0 评论 -
SQL Server Alwayson架构下 服务器 各虚拟IP漂移监控告警的功能实现 -1(服务器视角)
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DBA_ServerIPDataBase_OverCheck', @level2type=N'COLUMN',@level2name=N'CreateTime'<br><br><table>'原创 2024-10-06 14:09:27 · 652 阅读 · 0 评论 -
SQL Server 数据库本地备份文件通过OSS工具上阿里云(恢复还原数据库)
SQL Server数据库上云,通过备份文件上传进行恢复。原创 2024-10-06 14:08:32 · 209 阅读 · 0 评论 -
SQL Server Alwayson架构下 服务器 各虚拟IP漂移监控告警的功能实现 -2(虚拟IP视角)
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'IP地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DBA_ServerIPDataBase_OverCheck', @level2type=N'COLUMN',@level2name=N'ServerIP'这个功能的实现依赖上一节的功能和数据。原创 2024-10-06 12:45:35 · 856 阅读 · 0 评论 -
通过存储过程(SP)实现SQL Server链接服务器(LinkServer)的添加
当系统的微服务化做的不是很高的时候,部分功能要通过DB LinkServer 来实现跨 Server 查询,当然,有时候BI抽数据、DBA数据库维护可能也会创建LinkServer。只输入IP、UID、PWD三个参数,@DelCurLinks不显示输入【此时,@DelCurLinks默认为 N,指明当存在相同的LinkServer时,不删除直接退出。输入IP、UID、PWD、DelCurLinks 四个参数,显示指明当存在相同的LinkServer时,不删除直接退出。原创 2024-10-06 12:39:33 · 975 阅读 · 0 评论 -
Windows Cluster 在群集管理器下 集群或可用性组 都不显示的问题
作为一个IT成员,特别是偏支持的。很多时候就是和各种异常打交道,总会碰到一些奇奇怪怪的问题。很多时候,可能是一个小小的异常都需要花费很长时间去解决。SQL Server AlwaysOn 是建立在Windows集群上的,有一次,我登上节点,发现集群和可用性组信息都没了。虽然,咋一看到,有点怵了。不过,摸索了一会,还是找到了法门。这次遇到这个问题,不是在紧急的情况下,所以还是相对从容的。但是如果在紧急的情况下,更多的依赖的是经验了。原创 2024-10-03 21:56:18 · 355 阅读 · 0 评论 -
SQL Server GUID 数据迁移至MongoDB后怎样查看?
关键字:SQL Server NEWID();BSON;原创 2024-10-03 21:48:21 · 554 阅读 · 0 评论 -
SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试
可以成功实现调换主Server IP与Listener IP。原创 2024-10-03 21:45:59 · 968 阅读 · 0 评论 -
SQL Server 数据库基于备份文件的【一键还原】
Print 'Msg:获取得知需要还原的差异备份文件:' + @filename + ',此时将不需要还原的差异文件/日志文件设置为不需要还原'WITH NORECOVERY, MOVE '数据库名字_Data' TO 'D:\指定路径\数据库名字_Data.mdf',WITH NORECOVERY, MOVE '数据库名字_Data' TO 'D:\指定路径\数据库名字_Data.mdf',Set @DiffFileName='文档路径\数据库名字_Diff_'+@FileFlag+'.bak'原创 2024-10-03 21:43:30 · 967 阅读 · 0 评论 -
SQL Server 数据库部分常用语句小结(三)
原因是:Linux 和Windows 系统的默认换行符是不一样的,hive数据库是安装在Linux系统上的,通过notepad++ 查看导出的CSV文件其换行符为 LF。WITH NORECOVERY, MOVE '数据库名字_Data' TO 'D:\指定路径\数据库名字_Data.mdf',WITH NORECOVERY, MOVE '数据库名字_Data' TO 'D:\指定路径\数据库名字_Data.mdf',Step 1 关闭此数据库的用户连接,如果有用户连接到数据库的话会造成数据库重命名失败。原创 2024-10-03 21:40:23 · 688 阅读 · 0 评论 -
SQL Server 迁移至MySQL 关键步骤的梳理总结
迁移主要是通过Navicat工具来实现的。迁移工具的选定在此不讨论。原创 2024-10-02 22:03:37 · 810 阅读 · 0 评论 -
关于SQL Server 数据库归档的一些思考和改进
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'此为 备用字段,考虑可能有些表,会和其他表关联' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DBData_ArchiveConfig', @level2type=N'COLUMN',@level2name=N'IsCheckOrderID'原创 2024-10-02 22:02:42 · 968 阅读 · 0 评论 -
Windows Cluster 添加新节点--验证报错
今天给既有Windows Cluster 添加节点时,验证总是不通过。报错信息为现将处理步骤汇总如下。原创 2024-10-01 00:19:54 · 611 阅读 · 0 评论 -
AlwaysOn配置时在连接步骤时报错(35250)
比如有的说5022端口是否存在,有的是否有足够权限等等。添加节点需要在主节点上执行的,错误代码:35250。当时242 不是域账号 ,调整为域账号 就OK了。SQL Server 服务要为相同的域账号。1XX.XXX.XXX.241(主节点)1XX.XXX.XXX.242(从节点)我们当时也是按照此文章的提示去查询问题,在 242 上执行 会有错误信息.去看,这是 241 没有问题。原创 2024-10-01 00:11:45 · 458 阅读 · 0 评论 -
SQL Server创建Job, 实现执行相同脚本而产生不同作业计划的探究
调整后如下:USE [msdb]GO------------------------------- start -- Job schedule 开始时间在指定范围内随机产生 20181015 Carson Xu-----------------Declare @Randstart_time int ----分布式数据库Job 开始时间指定范围随机产出,减少并发等待。原创 2024-09-30 08:51:33 · 779 阅读 · 0 评论 -
SQL Server 数据库调整表中列的顺序操作
SQL Server 数据库中表一旦创建,我们不建议擅自调整列的顺序,特别是对应的应用系统已经上线,因为部分开发人员,不一定在代码中指明了列名。表是否可以调整列的顺序,其实可以自主设置,我们建议在安装后设置为禁止。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改"选项。那么,如果确实需要调整某一列的顺序,我们是怎么操作的呢?当然,通过取消限制的演示,相信大家也知道了怎么添加限制了。Step 3 取消【阻止保存要求重新创建表的更改】复选框。原创 2024-09-30 08:47:26 · 880 阅读 · 0 评论 -
使用Server Trigger保护重要的数据库对象
在SQL Server数据库中,Server Trigger 是一种特殊类型的存储过程它可以对特定表、视图或存储中的必然事件自动响应,不由用户调用。创建触发器时对其进行定义,以便在对特定的数据库对象作特定类型的修改时执行,根据触发器定义的动作做出反应。其主要被用在保持数据库对象的完整性方面。例如,防止数据库中已建好的表和存储过程被更改或删除。此外还可以 进行更改历史记录的追踪,查看表或存储被修改的记录。原创 2024-09-30 08:45:30 · 801 阅读 · 0 评论 -
SQL Server 数据库部分常用语句小结(二)
参数1 目标字符串,就是想要找到的字符串,最大长度为8000 , 参数2 用于被查找的字符串,参数3 开始查找的位置,为空时默认从第一位开始查找。例如,我想将含有IDENTITY(1,1)列的大表QQ_CampTask_T1,Rename成一张旧表QQ_CampTask,接下来还要把其中部分数据导入到新建的QQ_CampTask_T1 中,新产生的表还是有IDENTITY(1,1),此时导入数据,这个列就会报错。ASCII码是对字符的标准编码。原创 2024-09-30 08:43:50 · 907 阅读 · 0 评论 -
一个磁盘I/O故障导致的AlwaysOn FailOver 过程梳理和分析
本次FailOver的触发原因是系统I/O问题。大家需要理解,操作系统I/O出现了问题不一定立即触发SQL Server发生漂移,因为坏的槽点可能不在SQL Server实例所用到的位置,但是随着时间持续 和数据堆积,问题槽点可能扩大升级。我们重点可以FailOver的过程和触发条件设置上,即文章的第二和第三部分。由于可用性组是一个群集资源,Windows群集需要透过AlwaysOn的resourceDell来控制资源的上线/离线,检查资源是否失败,更改资源的状态和属性,以及发生各种命令给可用性副本实例。原创 2024-09-30 08:37:53 · 654 阅读 · 0 评论 -
SQL Sever AlwaysOn的数据同步原理
固化线程会将主副本Log Scanner所发过来的日志块写入辅助副本的磁盘上的日志文件里(这个过程被称为"固化")。而重做线程,则负责从磁盘上读取日志块,将日志记录翻译成数据修改操作,在辅助副本的数据库上完成。:当任何一个SQL用户提交一个数据修改事务时,它会负责把记录本次修改的日志信息先记入一段内存中的日志缓冲区,然后再写入物理日志文件(日志固化)。在主副本上,COMMIT TRAN命令会被写成一条日志记录(此时记录还在主数据库的日志缓存中).在主副本上,Log Scanner的工作线程开始工作。原创 2024-09-29 08:51:20 · 981 阅读 · 0 评论 -
SQL Server Mirror 断开后,删除副本上镜像数据库
复制订阅技术理解为表级别的同步,不归结为数据库级别的同步。“无法对数据库XXX执行该操作,因为该数据库参与了数据库镜像会话或可用性组。某些操作不允许对正在参与数据库镜像会话或者可用性组的数据库执行。set partner off命令后,主数据库不再显示已同步,Mirror DB(副库)不再显示正在同步。在Mirror维护管理过程中,有一种需求就是在镜像断开后删除镜像库再重建。执行以下两条命令,解除主副伙伴关系,修改数据库状态。但有的时候,直接删除,我们会遇到下面的错误提示。然后就可以删除镜像数据库了。原创 2024-09-29 08:38:16 · 609 阅读 · 0 评论 -
SQL Server 关于 Table 字典数据的查询SQL
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '1'else '0' end)标识,AND (xtype = 'PK'))>0 then '1' else '0' end) 主键,b.name 类型,a.length 占用字节数,isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,(case when。分享一个关于查询SQL Server Table 结构的SQL 语句。原创 2024-09-29 00:11:45 · 429 阅读 · 0 评论 -
通过Visual Studio 2012 比较SQL Server 数据库的架构变更
随着公司业务的发展,数据库实例也逐渐增多,数据库也会越来越多,有时候我们会发现正式生产数据库也测试数据库数据不一致,也有可能是预发布环境下的数据库与其他数据库架构不一致,或者,分布式数据库上线,发现某些不可预知的原因,也会导致数据库之间架构不一致等等。因此,在复杂的数据库对象中,迅速全部找出数据库的差异是DBA的一个职业技能。比较完成后,单击""可以更新”左边的数据库到右边的数据库中,单击""按钮,生成更新的脚本。当有了比较结果时,其对应的其他功能按钮就可以操作了。原创 2024-09-29 00:01:27 · 311 阅读 · 0 评论 -
SQL Server 数据库部分常用语句小结(一)
d.total_elapsed_time/d.execution_count AS [平均执行时间(微秒)], d.execution_count as 自上次编译以来所执行的次数。d.last_elapsed_time as [上次执行SP所用的时间(微秒)], d.total_elapsed_time [完成此SP的执行所用的总时间(微秒)],d.cached_time as SP添加到缓存的时间, d.last_execution_time AS 上次执行SP的时间,--后来就刷新了此表的统计信息。原创 2024-09-28 23:50:52 · 966 阅读 · 0 评论 -
SQL Server非域(跨域)环境下镜像(Mirror)的搭建步骤及注意事项
在实际的生产环境下,我们经常需要跨域进行数据备份,而创建Mirror是其中一个方案。但跨域创建Mirror要相对复杂的多,需要借助证书进行搭建。原创 2024-09-28 23:20:01 · 953 阅读 · 0 评论