SQL Server 数据自动化运维

SQL Server 数据自动化运维
说到当前的数据库类型,当前主要流行Mysql、Sql Server、Oracle等三种,区别相信大家都已经非常熟悉了,所以在此就不多介绍了,今天我们主要介绍一下我近期工作中遇到的问题,我们的门禁数据库数据存放的数据量过大,导致从页面上操作及查询非常缓慢影响日常操作效率,由于领导要求数据需要保留,方便日后查询,
所以我们一般通过日期判断指定日期以外的数据删除这个不可以实现了,当然换个思路想将指定的日期以外的数据插入到备份数据库中,然后再根据指定日期外的数据删除,其实这样的思路也是对的,但是这样的话,我需要执行两条语句,如果第一条失败了,第二条肯定无法执行了,所以我们按照这个思路将两条命令整合成一条,接下来我们模拟一下。
我们表中有300多万条数据,有点多,查询肯定慢

我们为了保证数据在操作过程中安全性,我们需要对表进行备份;
我们将cardinfo表复制一份,然后再操作;
select * into cardinfo_temp from cardinfo

我们查看
select * into cardinfo_temp from DB.dbo.cardinfo

接下来我们就准备开始了操作前准备了
我们需要创建一张表做为数据备份的表,当然既然是备份,表的结构都必须是一样的,所以我们还是按照以上方法,复制一张备份表,然后清空数据,
select * into cardinfo_bak from DB.dbo.cardinfo

然后清空备份表中的数据
delete cardinfo_bak

我们确认数据
select count(*) from cardinfo_bak

我们要把3个月以外的数据全部移动到备份的表中

delete from cardinfo
output deleted.* into cardinfo_bak
where card_date_ts < dateadd(mm,-3,getdate())


我们开始执行,执行有报错

我们根据报错有两种解决方法,但是我们用第二种;
2.删除并重建表DB_Bak.dbo.acc_monitor_log,重建时将表中原来的标识列上的标识(identity)属性去除,所以我们来修改,右击表---设计---ID---表示属性---将是更改为否

然后保存后,我们再次执行,执行成功;

接下来我们统计数据

select count(*) from cardinfo
select count(*) from cardinfo_bak


如果我们想操作三个月以内的数据的话,

delete from cardinfo
output deleted.* into cardinfo_bak
where card_date_tls between dateadd(mm,-3,getdate()) and getdate();

再次我们的环境就介绍到这了,有问题可以给我留言,谢谢

原文地址:http://blog.51cto.com/gaowenlong/2069939

时间: 2024-08-28 17:05:43

SQL Server 数据自动化运维的相关文章

【自动化】基于Spark streaming的SQL服务实时自动化运维

设计背景 spark thriftserver目前线上有10个实例,以往通过监控端口存活的方式很不准确,当出故障时进程不退出情况很多,而手动去查看日志再重启处理服务这个过程很低效,故设计利用Spark streaming去实时获取spark thriftserver的log,通过log判断服务是否停止服务,从而进行对应的自动重启处理,该方案能达到秒级 7 * 24h不间断监控及维护服务. 设计架构 在需要检测的spark thriftserver服务节点上部署flume agent来监控日志流

[运维] 第三篇:漫谈数据中心运维自动化

运维自动化是从2010年以后起来的一个运维需求,10年之前,运维项目主要集中在监控和ITIL流程上,当时也有BMC Control-M等产品在推,但是客户接受程度和影响力不如监控和流程.10年之后,运维自动化提上日程,建行开始招运维自动化的标,IBM.BMC.HP都纷纷参与,测了三轮,最后HP opsware中标,只能说一句厉害!工商银行也在自己组织服务商做自己特色的运维自动化平台,做了3.4年,基本成型,服务商也做出了自己的运维自动化产品,正式推向市场.当时运维自动化的主要功能是五项:自动化巡

[运维] 第六篇:告警是数据中心运维的核心驱动力!

告警事件是数据中心运维的核心驱动力,我们做的所有运维工作都是要减少业务出现故障的概率,提供更高的业务可用性.不知道大家是否认可这句话?还是看这张图,通过这张图,把这个问题讲透:        作为综合事件管理平台自身,需要有这样几个部件:1 丰富事件接口.作为数据中心的核心驱动引擎,需要有丰富的事件接口可以将各种IT事件,甚至非IT事件接收过来,常见的接口有rest.web service.snmp.soap.socket.xml.文本.jdbc等.因为面对的对象不同,所以能够使用的方式是完全不

使用Powershell实现数据库自动化运维

使用Powershell实现数据库自动化运维 目前市场上针对SQLServer的图书,好的原创图书屈指可数,翻译的图书较多,但只限于专门针对SQL Server数据库本身的开发.管理和商业智能. 而针对PowerShell的图书,可以说大多为MSDN里的学习笔记,主要针对Windows操作系统的管理. 微软在大的布局和技术动向来看,力推云平台.而平台化的基础是自动化.高可用.那么细化到最基础的技术着眼点,微软正在大力开发其所有服务器端产品对 PowerShell的支持.针对SQL Server来

python自动化运维之路~DAY7

python自动化运维之路~DAY7 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.客户端/服务器架构 C/S 架构是一种典型的两层架构,其全称是Client/Server,即客户端服务器端架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据:另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信. C/S 架构也可以看做是胖客户端架构.因为客户端需要实现绝大多数的业务

自动化运维工具之Zabbix分布式监控应用(五)

分布式监控概述proxy and nodeZabbix常用3种架构-->Server-agent-->Server-Node-agent-->Server-Proxy-agent Zabbix能高效地监控分布式IT架构在大型环境中Zabbix提供两种解决方案-->使用代理(proxy)-->使用节点(node)Proxy or Node?-->代理(proxy)用于本区域数据收集,并将数据发送给server-->节点(node)提供完整的Zabbix server

Python自动化运维课程学习--Day3

本文为参加老男孩Python自动化运维课程第三天学习内容的总结. 大致内容如下: 1.文件操作 2.字符编码转码相关操作 3.函数 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 python2.7.12 --Python IDE: PyCharm 2016.3.2 一.文件操作: 1.文件操作流程:以只读.写(覆盖写).追加写.读写.追加读写.二进制读写等模式打开文件 ==> 得到文件句柄,并

自动化运维工具之ansible

ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. 主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定

自动化运维—tomcat服务起停(mysql+shell+django+bootstrap+jquery)

项目简介: 项目介绍:自动化运维是未来的趋势,最近学了不少东西,正好通过这个小项目把这些学的东西串起来,练练手. 基础架构: 服务器端:web框架-Django 前端:html css jQuery bootstrap 脚本:shell 适用系统:redhat5.8/redhat6.6 平台已实现功能: 中间件和数据库软件的启停和状态检查 (tomcat,nginx,apache,oracle,mysql) 完整功能设计图: 效果图: 架构图(简要): 项目源码:https://github.c