分类目录归档:运维技术

牛马心得,与君分享。

cmd中命令修改sql server 2005的sa密码

最近在修改一部分服务器的数据库密码,遇到一台服务器的sql server竟然没安装management studio,因为平时都是有管理系统,不用直接在服务器操作sql,因此也没发现。密码还是得改,既然没有图形工具,就想个其他方法吧。

系统自带一个sqlcmd实用工具,开始–运行–sqlcmd.exe即可打开。修改sa密码的命令就是:

1> alter login sa with password = N’newpassword’
2> go

将newpassword改成你需要设置的密码即可。后来仔细查了下sqlcmd,发现功能还是很多的,可以使用很多的参数:

Sqlcmd
  [-U login id] [-P password] [-S server] [-H hostname] 
  [-E trusted connection] [-d use database name] [-l login timeout]
  [-t query timeout] [-h headers] [-s colseparator] [-w screen width]
  [-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
  [-c cmdend] [-L[c] list servers[clean output]] [-q "cmdline query"]
  [-Q "cmdline query" and exit] [-m errorlevel] [-V severitylevel]
  [-W remove trailing spaces] [-u unicode output]
  [-r[0|1] msgs to stderr] [-i inputfile] [-o outputfile]
  [-f <codepage> | i:<codepage>[,o:<codepage>]]
  [-k[1|2] remove[replace] control characters]
  [-y variable length type display width]
  [-Y fixed length type display width]
  [-p[1] print statistics[colon format]]
  [-R use client regional setting] [-b On error batch abort]
  [-v var = "value"...]
  [-X[1] disable commands[and exit with warning]]
  [-? show syntax summary]

有兴趣的小伙伴可以试下,微软官方也有教程的:sqlcmd实用工具教程

mysql无法连接(10055),重启iis或服务器才能恢复

这个问题的现象是网站会提示无法连接数据库,phpmyadmin当然也无法连接,重启mysql没有效果,需要重启iis才能恢复正常,一段时间后仍然出现相同问题。

由于服务器没有mysql日志,看不到错误号,不过在一次无意间重置其中一个数据库的密码是提示10055,这个错误是由于“系统缓冲区空间不足或列队已满,不能执行套接字上的操作”,应该是哪个网站程序连接导致的,服务器网站数量不少,短时间内无法检查,先想办法能不能避免这个问题吧。如此奇怪的问题还是第一次遇到,综合网上的搜索结果我是这么设置的:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay 修改为30-60之间的双字节,另外有一部分观点认为是并发连接过多,虽然我认为修改这个能解决的可能性不大,但是也修改了mysql最大连接数,改成了1000。

以上是我第一次的处理方法,不过这一回合扑街了,这果断不能忍啊。

于是准备找到“真凶”,先看下3306的连接情况吧

C:\Documents and Settings\Administrator>netstat -aon|findstr “3306”
  TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 2860
  TCP 127.0.0.1:2635 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2638 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2643 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2652 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2663 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2665 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2667 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2668 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2670 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2671 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2672 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2678 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2685 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2689 127.0.0.1:3306 TIME_WAIT 0
  TCP 127.0.0.1:2693 127.0.0.1:3306 TIME_WAIT 0

 

好像是有点问题,不过意义不大,然后检查了事件查看器,没有异常的报错,不过安全性中有几个用户异常,既然有异常就先停止账户吧。这边顺带说一下事件查看器的检查,如果你也是遇到这个问题,而事件查看器中有ID:333 注册表启动的 I/O 操作恢复失败 的类似报错可以看下微软的解决方法:http://support.microsoft.com/kb/970054/zh-cn ,这个我没测试过的。

第二次的检查没什么实质性的操作,不出所料再次扑街。

花了这么长时间还是无法解决让我准备重做系统了,不过我想这并非系统问题,还是原来的网站还是会出现同样的问题吧,于是我先做了第三次操作,设置了一个重启iisreset的任务计划,时间间隔自己看情况设置,访问量大的服务器不建议这样设置。

这招属于伤敌一千自损八百呀,要是有完美的解决方法我再更新吧。