通过python pymssql直接访问SQLserver数据库,查找其数据库mode,这个脚本具有很强的抛砖引玉特性:
1.可以巡检多台多数据库服务器
2.query内容可以多样化,譬如查询死锁、连接数等
当然还有更多需要优化的地方:
1.输出内容未优化
2.未捕获异常
3.未多线程化
#!/usr/bin/python3
#coding=utf-8 import pymssql odbj=[("10.1.10.67","sa","r2hat","master"),("10.1.10.9","s3y3zh","r232hat","master")]#相关信息有做处理
for (h,u,p,d) in odbj:
conn = pymssql.connect(host=h,user=u,password=p, database=d)
cur = conn.cursor()
query="select name, database_id, recovery_model_desc from sys.databases"
query1="SELECT database_name,type,MAX(backup_finish_date) AS backup_finish_date FROM msdb.dbo.backupset GROUP BY database_name,type ORDER BY database_name,type"
cur.execute(query1)
conn.commit
rows = cur.fetchall()
for (s,s1,s2) in rows:
print ("IP:%s,DBname:%s,DBmode:%s,DBbackuptime:%s"%(h,s,s1,s2))
cur.close()
conn.close()
输出结果:IP 有去掉
<built-in method commit of pymssql.Connection object at 0x7f35e7c17388>
DBname:MC,DBmode:D,DBbackuptime:2017-03-09 21:00:44
DBname:test1,DBmode:D,DBbackuptime:2017-04-15 17:05:54
DBname:test1,DBmode:L,DBbackuptime:2017-04-15 17:06:42
DBname:tnfc270,DBmode:D,DBbackuptime:2017-04-22 13:32:37
DBname:ufmobile,DBmode:D,DBbackuptime:2016-10-16 20:00:19
<built-in method commit of pymssql.Connection object at 0x7f35e7c17788>
DBname:CB_ZJ,DBmode:D,DBbackuptime:2013-03-26 18:17:14
DBname:ImageDB_ZJ,DBmode:D,DBbackuptime:2016-12-09 23:02:48
DBname:Npmzj20130603,DBmode:D,DBbackuptime:2013-06-04 17:23:33
DBname:NPMZJ20130705,DBmode:D,DBbackuptime:2013-07-06 14:39:54
DBname:PMHS,DBmode:D,DBbackuptime:2016-12-11 18:26:54
DBname:PMTG,DBmode:D,DBbackuptime:2016-12-09 23:03:32
DBname:pmtg_new,DBmode:D,DBbackuptime:2013-08-09 17:51:04
DBname:PMZJ,DBmode:D,DBbackuptime:2016-12-09 23:17:59
DBname:PMZJ,DBmode:L,DBbackuptime:2014-08-18 10:24:13
DBname:UserDB,DBmode:D,DBbackuptime:2017-03-20 22:38:03
Python查询SQLserver数据库备份(抛砖引玉)的更多相关文章
-
SQLSERVER数据库备份操作和还原操作做了什么
SQLSERVER数据库备份操作和还原操作做了什么 看了这篇文章:还原/备份时做了些什么 自己也测试了一下,下面说的错误日志指的是SQLSERVER ERRORLOG 一般在C:\Program Fi ...
-
python学习--python 连接SQLServer数据库(两种方法)
1. python 学习.安装教程参照: http://www.runoob.com/python/python-tutorial.html 2. 集成开发环境 JetBrains PyCharm C ...
-
查询Sqlserver数据库死锁的一个存储过程(转)
使用sqlserver作为数据库的应用系统,都避免不了有时候会产生死锁, 死锁出现以后,维护人员或者开发人员大多只会通过sp_who来查找死锁的进程,然后用sp_kill杀掉.利用sp_who ...
-
将服务器上的SqlServer数据库备份到本地
如何将服务器上的SqlServer数据库备份到本地电脑 http://bbs.csdn.net/topics/370051204 有A数据库服务器,B本机: 我现在想通过在B机器上通过代码调用S ...
-
SQLSERVER 数据库备份脚本-支持多库备份
原文:SQLSERVER 数据库备份脚本-支持多库备份 <pre name="code" class="sql">--变量定义 DECLARE @b ...
-
批处理(bat)实现SQLServer数据库备份与还原
原文:批处理(bat)实现SQLServer数据库备份与还原 备份数据库.bat @echo off set path=%path%;C:\Program Files (x86)\Microsoft ...
-
【转载】Sqlserver数据库备份的几种方式
在实际的数据库Sqlserver的运维的过程中,很多时候我们需要做到数据的备份操作,可以做到定时备份,也可以进行手动数据库备份.在实际的过程中,有时候因业务需要备份出完整数据库,而有时候又因为实际业务 ...
-
python连接sqlserver数据库
1.准备工作 python3.6连接sqlserver数据库需要引入pymssql模块 pymssql官方:https://pypi.org/project/pymssql/ 没有安装的话需要: pi ...
-
较详细的sqlserver数据库备份、恢复(转)
C#实现SQL数据库备份与恢复 有两种方法,都是保存为.bak文件.一种是直接用Sql语句执行,另一种是通过引用SQL Server的SQLDMO组件来实现: .通过执行Sql语句来实现 注意,用Sq ...
随机推荐
-
C#基础-FileStream实现多线程断点续传
一.前言 网上有许多的多线程断点续传操作,但总是写的很云里雾里,或者写的比较坑长.由于这几个月要负责公司的在线升级项目,所以正好顺便写了一下 代码如下: using System; using Sys ...
-
grunt serve Warning: Running ";sass:server"; (sass) task
使用grunt serve运行时遇到一问题: y@y:ydkt$ grunt serve Running "serve" task Running "clean:serv ...
-
android-服务Service
服务是在后台运行,负责更新内容提供器.发出意图.触发通知,它们是执行持续或定时处理的方式. 多线程一般捆绑服务执行任务,因为在activity中开辟多线程执行任务的话,子线程的生命周期得不到保障,可能 ...
-
写得好 git 提交信息
编写好 git 提交信息 提交信息 我们作出答复,更改将提交相关信息,这些信息通常被认为是重要的信息会小心留下应该离开,你为什么需要这个提交实例,提交解决任何问题. 我们需要良好的信息组织,虽然后来, ...
-
vue项目开发中遇到的问题总结--内部分享
1.路由变化页面数据不刷新问题 这种情况一般出现在vue-router的history模式下,初次进入会执行钩子函数,再次进入时则不会. 解决方案: 监听路由变化 watch : { "$ ...
-
什么是平衡二叉树(AVL)
前言 Wiki:在计算机科学中,AVL树是最早被发明的自平衡二叉查找树.在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树.查找.插入和删除在平均和最坏情况下的时间复杂度都 ...
-
Jenkins持续集成web项目(七)
功能:用户开发完maven构建的web项目后,从本地提交代码到gogs远程仓库中,在执行 git commit 命令之前会先执行 maven配置的 findbugs插件,来检测项目是否有明显bug,如 ...
-
ubuntu shell插件
1. NetSpeed 在状态栏显示当前网速 2. Screenshot Tool 同样在 Ubuntu 18.04 之前我们使用 Shutter,但在Ubuntu 18.04 Shutter的托盘图 ...
-
python_04 基本数据类型、数字、字符串、列表、元组、字典
基本数据类型 所有的方法(函数)都带括号,且括号内没带等号的参数需传给它一个值,带等号的参数相当于有默认值 1.数字 int 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1 ...
-
第三百一十二节,Django框架,Cookie
第三百一十二节,Django框架,Cookie 注意:获取Cookie是在请求对象里处理,设置Cookie是在响应对象里处理 普通Cookieset_cookie()设置普通cookie 参数: ke ...