记下来,方便遇到问题时快速查。

  • 可以节省以后自己查询的时间,也方便别人搜索。
  • 如果不记,下次遇到问题还得再折腾一翻,不划算~~
  • 利人利已~~

在机械硬盘上使用虚拟机和在固态硬盘上使用虚拟机的差别,有吗?大吗?真的吗?

现象

  • 电脑上有两块硬盘。
    • 固态硬盘分了一个区:C,250 G,用于安装系统。
    • 机械硬盘也只分了一个区:D,是一块比较老的机械硬盘,转速5400。
  • 虚拟机 win7 文件保存在 D 盘,启动时很慢,启动起来了,正常使用的过程中,电脑也变得比平时卡,电脑一直处在动不动就卡的状态,查看系统任务->系统性能,发现硬盘 D 的 IO 大多数时候接近或达到了100%。

实践

于是清理固态硬盘空间,将虚拟机文件移至固态硬盘,再启动,变得非常快了,那速度,杠杠的,而且使用过程中电脑也不卡了,固态硬盘也没有出现 IO 100%的情况。

我只想说,同样是硬盘,差距咋就这么大捏~~~

不同网段间通信遇到的问题

本机网段是:192.168.1
需要访问的服务器网段是:192.168.33

一直可正常访问,有一次过了一个周末,周一上班时,不能访问了,ping 不通,但是上外网正常。

网管来看了之后,先是把静态 IP 换成动态 IP,获取到的 IP 地址依然在 192.168.1 网段,还是 ping 不通,于是检查机房的交换机,一切正常。

解决

最后,重启本机所在的路由器,正常了。

经验

遇到类似的问题,包括:

  • 突然不能上外网。
  • 某网站突然不能访问了。
    • 可能是线路的原因,工作中遇到过这种情况。客户散布在全国各地,偶尔有客户联系我们说访问不了网站了,我们自己测试又是正常的,也是通过重启路由器解决的,有时添加 dns:8.8.8.8 也能解决。
      先让路由器“冷静”两分钟,一般都能解决。

还原 SQL Server 数据库

现象

1
2
3
4
5
6
7
8
标题: Microsoft SQL Server Management Studio
------------------------------
还原 对于 服务器“192.168.1.8”失败。 (Microsoft.SqlServer.SmoExtended)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1539+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=还原+Server&LinkId=20476
------------------------------
其他信息:
System.Data.SqlClient.SqlError: RESTORE 无法处理数据库 'devDatabase',因为它正由此会话使用。建议在执行此操作时使用 master 数据库。 (Microsoft.SqlServer.Smo)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1539+)&LinkId=20476

设置登录用户的默认数据库为非 devDatabase 后,错误信息变为:

1
2
3
4
5
6
7
8
标题: Microsoft SQL Server Management Studio
------------------------------
还原 对于 服务器“192.168.1.8”失败。 (Microsoft.SqlServer.SmoExtended)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1539+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=还原+Server&LinkId=20476
------------------------------
其他信息:
System.Data.SqlClient.SqlError: 因为数据库正在使用,所以无法获得对数据库的独占访问权。 (Microsoft.SqlServer.Smo)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1539+)&LinkId=20476

解决

设置为单用户之后,还原成功。还原之后,又变成备份之前的多用户模式了。

设置方式:选中要还原的数据库–>右键–>属性–>选项–>状态–>限制访问,该值从MULTI_USER修改为SINGLE_USER,此时该数据库就会显示为单用户模式。

还可以用 sql 脚本设置:

1
2
3
4
5
6
7
---设置数据库为单用户模式
USE MASTER
ALTER DATABASE devDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE

---设置数据库为多用户模式
USE MASTER
ALTER DATABASE devDatabase SET MULTI_USER WITH ROLLBACK IMMEDIATE

设置为单用户模式的过程,我踩了一个大大的坑,因为我操作的是默认数据库,设置完成之后,再操作就会出错,不给机会恢复数据,重新登录时,会这样提示:

1
2
3
4
5
6
7
8
标题: 连接到服务器
------------------------------
无法连接到 192.168.1.8。
------------------------------
其他信息:
无法打开用户默认数据库。登录失败。
用户 'dbUser' 登录失败。 (Microsoft SQL Server,错误: 4064)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=4064&LinkId=20476

遇到这种情况,换一个具备管理权限的用户登录,如果没有,远程到服务器或者直接使用服务器的键盘鼠标显示器,以 windows 身份认证登录 SQL Server Management Studio,将上面提示的用户 dbUser 的默认数据库设置为非 devDatabase 数据库,然后才可以远程登录并恢复数据库。

当然了,如果能直接操作服务器,怎么玩就看个人喜好了~~

如果以下几种情况你都满足,那就只有恭喜你了~~

  1. 没有别的具备管理权限的用户登录权限。
  2. 不能远程到服务器。
  3. 不能直接操作服务器。
  4. 或者即使可以操作服务器,却不能有效登录 SQL Server。

参考:Sql server还原失败(数据库正在使用,无法获得对数据库的独占访问权)

SQL Server Management Studio 保存的 sql 脚本文件编码问题

SQL Server Management Studio 保存的 sql 脚本文件,编码默认为 gbk2312,而我用的 IDEA 默认为 ugf-8,每次用 IDEA 打开这类脚本文件,会这样提示:

idea 提示:以gbk编码方式打开或者设置项目默认编码为gbk
idea 提示:以gbk编码方式打开或者设置项目默认编码为gbk

中文全部显示为乱码。

请忽略乱码部分。本人临时从一个05年的老项目查数据,表名和字段名竟然全是中文,第一次遇到,汗在不停的往下掉~~

解决

文件由原来的默认 gbk2312 编码改为 utf-8。

在 SQL Server Management Studio 保存的时候,【保存】后面的下拉列表选【编码保存(V)…】,在【编码(E):】下拉列表选择 UTF-8 即可,如果已经是 gbk2312 了,按此方法另存,覆盖现有文件即可。


注意

我尝试过用 IDEA 直接以 utf8 的方式打开,然后从 SQL Server Management Studio 编辑器把文件内容 copy 过来,或者用 notepad++ 打开再 copy 过来,保存。然后,用 SQL Server Management Studio 编辑器打开,是乱码。

用 SQL Server Management Studio 【编码保存(V)…】为 utf-8 格式的文件,则可以兼顾 SQL Server Management Studio 和 IDEA。

virtual box win7 虚拟机,方向键、home、delete、退格键不好使

发生在切换输入法的时候,具体怎么触发的,没有深入研究。

发生之后,26个字母和数字等均可正常输入,就是方向键、home、delete、退格键不好使。

解决

第一次是重启虚拟机,后来尝试了各种按键组合,无意间发现,按一下窗口键就好了。

VirtualBox 虚拟 win7 网卡提示:未识别的网络

现象

虚拟机设置成桥接模式,网卡选成与物理网卡一致,一直用得好好的。

提示不能用之前,把网线从路由器换到了同一个局域网的交换机上,于是出现:未识别的网络。

解决

最终是重启物理主机解决的。

尝试

各种修改虚拟机网卡设置,禁用部分网卡,启用之前没用过的,修改物理主机的,与 VirtualBox 相关的网卡IP为与物理主机同一个网段的固定IP,重启虚拟机多次,问题依旧。

结论

使用 windows 如果遇到百思不得其解的奇葩问题,先重启一下电脑再说。这已经是第二次遇到这种情况了,即:通过常规思路不能解决,重启电脑立即解决。

WebStorm MaxCompute Studio

打开 .sql 脚本文件时,提示:Script must bind a MaxCompute project to comile, Please bind a MaxCompute project in script editor tool bar

解决

我只是打开一个 sql 脚本文件做普通的修改,用不上这个插件。到设置里,找到插件,去掉后面的勾即可。