zoukankan      html  css  js  c++  java
  • 如何查看哪些进程和服务器正在使用数据库

    工作中有时会碰到需要迁移数据库的时候,如更换机房,更换新服务器等。迁移数据库最重要是要确保正在运行的程序不会因为漏更改连接字符串而导致程序报错。但有时维护的项目可能老旧,没有相关维护文档,还有一些使用该数据库的windows服务也可能遍布在其他服务器上,这时我们该如何找到所有正在使用该数据库的服务呢? 下面以windows服务器和Sql Server数据库为例,数据库服务器的ip是192.168.6.189,linux平台的思路差不多,只是命令有变化。

    1、查看Sql Server进程ID

    打开任务管理器,点击“查看->选择列”,勾选“PID(进程标识符)

     

    进程名称为“sqlservr.exe”的PID就是Sql Server的进程ID,当前是1800

    2、查看当前连接Sql Server的服务器列表

    打开命令行,输入下面的命令:

    netstat -ano|find "1800"
    

    结果如下:

    C:\Documents and Settings>netstat -ano|find "1800"
      TCP    0.0.0.0:3758           0.0.0.0:0              LISTENING       1800
      TCP    0.0.0.0:5025           0.0.0.0:0              LISTENING       1800
      TCP    127.0.0.1:1434         0.0.0.0:0              LISTENING       1800
      TCP    192.168.6.189:3758     192.168.6.76:2685      ESTABLISHED     1800
      TCP    192.168.6.189:3758     192.168.6.76:2725      ESTABLISHED     1800
    

    该命令会打印出所有连接到1800进程的服务器列表,可以看到192.168.6.76这台服务器正在连接到Sql Server。

    3、查看连接到数据库服务器的进程

    进入服务器192.168.6.76,打开命令行,输入下面的命令:

    netstat -ano |find "6.189"
    

    6.189是数据库服务器的ip,find命令用来查找带有"6.189"字符串的行。输出如下:

    d:\webroot>netstat -ano |find "6.189"
      TCP    192.168.6.76:2685      192.168.6.189:3758     ESTABLISHED     8520
      TCP    192.168.6.76:2725      192.168.6.189:3758     ESTABLISHED     8520
    

    结果最右边的就是正连接到数据库服务器的进程ID,当前是8520.现在已经找到进程了^0^,你只需打开任务管理器,看下该进程ID对应是进程是什么,就能准确定位了。

    4、查看IIS进程对应的站点

    有时我们找到使用数据库的进程了,但是像IIS这种程序,因为所有站点的进程名都相同,所以无法准备定位了。

    有什么方法可以找到w3wp.exe对应的站点名呢?可以使用iisapp命令:

    d:\webroot>iisapp -a
    W3WP.exe PID: 6584   AppPoolId: test1.com
    W3WP.exe PID: 16304   AppPoolId: Special
    W3WP.exe PID: 8520   AppPoolId: test2.com
    W3WP.exe PID: 3164   AppPoolId: test3.com
    

    iisapp命令会输出W3WP进程对应的应用程序池名,通过应用程序池名我们就能准备定位站点:)

  • 相关阅读:
    ActiveMQ 即时通讯服务 浅析
    Asp.net Mvc (Filter及其执行顺序)
    ActiveMQ基本介绍
    ActiveMQ持久化消息的三种方式
    Windows Azure Virtual Machine (27) 使用psping工具,测试Azure VM网络连通性
    Azure China (10) 使用Azure China SAS Token
    Windows Azure Affinity Groups (3) 修改虚拟网络地缘组(Affinity Group)的配置
    Windows Azure Storage (22) Azure Storage如何支持多级目录
    Windows Azure Virtual Machine (26) 使用高级存储(SSD)和DS系列VM
    Azure Redis Cache (2) 创建和使用Azure Redis Cache
  • 原文地址:https://www.cnblogs.com/vento/p/2858155.html
Copyright © 2011-2022 走看看