解决方案 »

  1.   

    这个可以看有哪些登录人和时间
    select distinct hostname,db_name(dbid)[databasename],net_address,loginame,login_time from master..sysprocesses
    where hostname<>''有没有可能程序上出问题呢
      

  2.   

    这个主要还是在权限控制上下工夫。
    SA的密码一定不要泄露,否则无解。
    平时登录的用户只给SELECT 权限
      

  3.   

    我准备在网络层,做mac 与ip 绑定,这样好根据ip地址锁定计算机 。程序连接数据库,使用配置文件,一旦他知道看ini 文件,我的密码就暴露了。他私人连接数据库,一定是通过自己的工具软件,能否区别开?
    有没有一个可能,关键的几张表,他登录了,备份后,就离开了,拿回家再select ?首先,感谢版主能给与指导。我太菜了。
      

  4.   

    ini 文件有加密的字符串就行了
      

  5.   

    ini 文件用加密的字符串就行了 
      

  6.   

    我准备在网络层,做mac 与ip 绑定,这样好根据ip地址锁定计算机 。程序连接数据库,使用配置文件,一旦他知道看ini 文件,我的密码就暴露了。他私人连接数据库,一定是通过自己的工具软件,能否区别开?
    有没有一个可能,关键的几张表,他登录了,备份后,就离开了,拿回家再select ?首先,感谢版主能给与指导。我太菜了。
    这种连接问题,必须要加密,感觉加密吧,连接的时候,让程序读取完ini文件后,解密。
      

  7.   

    另外,可以开启 对登陆的审核:还有开启C2审核,但是数据会非常多,sys.traces视图来确定C2跟踪状态,但是需要特别注意的是 日志文件会很大,会记录所有的对数据库的操作:
      

  8.   

    不用ini文件,所有数据库操作全部写进DLL,dll可以混淆代码,再觉得不安全,程序内部密码使用加解密,如果需要切换数据库,只需要在ini文件保留数据库名甚至可以假的数据库名,在DLL做解析,添加新的数据库时候,让客户端更新下数据库操作模块dll即可
      

  9.   

    直接用ibatis或者hibernate建一层数据层,然后将数据库放在内网不对外开放,应用程序需要通过持久层访问数据库
      

  10.   

    一般是IT再交换机做限制最安全,禁止你的服务器被规定以外的IP访问
    当然数据库基础的加密也要做上
      

  11.   

    有一种“登录触发器”,据说可以限定某些IP可以连接到数据库。
    我之前在网上找过代码,试了下,好像有效果。
    你可以试试看,但要仔细看一下代码。我当时测试时,写错了限制的IP地址,结果导致全部IP都不能访问了,幸好还有一个客户端在连接,禁用了这个触发器后就全部能访问了。
      

  12.   

    1.混合身份验证 换换成 Windows 身份难证。
    2.查看 Windows 的事件。
    3.Windows 的管理员账户改名,另建一个新的 管理员账号
    4.装个录屏软件,看看他是怎么样的方法弄走的你的数据。最大的可能,是有人拷走了你的数据库文件,拿到自己的机器上附加后,查询你的业务数据。这些人,太 TMD 可恶了,先人板板的。
      

  13.   

    http://blog.csdn.net/dba_huangzj/article/details/37906349参考我的文章