本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!
HOWTO: 解决因 RsFX devicer 而无法卸载 SQL Server 的问题
HOWTO: 解决因 RsFX devicer 而无法卸载 SQL Server 的问题
gOxiA 今天完成了 SQL Server 2012 RTM 的下载,因在本地安装有 Microsoft WebMatrix,所以先把本机的 SQL Server 2008 R2 Express 做了升级安装,即在安装向导中选择了“从 SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 升级”,在完成升级安装后根据向导提示重新启动了计算机,但是发现之前的 SQL Server 2008 组件并没有被卸载,“SQL Server Management Studio”仍旧可以使用,随即打开“程序和功能”手工卸载 SQL Server 2008。
到卸载 SQL Server 2008 R2 安装程序支持文件时,遇到了问题:“警告 26003。无法卸载 Microsoft SQL Server 2008 R2 安装程序支持文件,因为安装了以下产品:Microsoft SQL Server 2008 R2 RxFx Driver”。但是在程序列表中并未找到该程序,在网上找了找资料,可以使用 WMIC(Windows Management Instrumentation Command-line)列出当前系统上安装的应用程序,最后再使用 MSIEXEC /X 将其卸载!
首先打开 CMD 命令行环境,键入“WMIC”,然后执行“product list”列出当前系统上安装的应用程序。找到 Microsoft SQL Server 2008 R2 RsFx Driver。
最后就可以使用“msiexec /x {GUID}”命令行进行卸载,当 RsFx Driver 卸载后,其他的 SQL Server 组件就可以正常卸载了!
[SQL] 在 Server Core 2008 R2 上安装 SQL Server 2008 R2
在 Server Core 2008 R2 上安装 SQL Server 2008 R2
这几天在搭建一个测试环境,需要一台 SQL Server 2008 R2 的虚拟机,为了减少对资源的占用,gOxiA 打算在 Server Core 2008 R2 上安装 SQL Server 2008 R2,查阅了微软的官方资料 Hardware and Software Requirements for Installing SQL Server 2008 R2,可结果令人惋惜:“SQL Server 2008 R2 is not supported on Windows Server 2008 SP2 Server Core or Windows Server 2008 R2 Server Core installations.”!
虽然是明确说明了 SQL Server 2008 R2 不支持在 Server Core 上安装,但是由于现在的 Server Core 2008 R2都已经支持 .NET 框架和 PowerShell,并满足 SQL Server 2008 R2 的基本需求,那么要在 Server Core 2008 R2 上安装 SQL Server 2008 R2 应该不是一件难事。
gOxiA 事先准备好了一台已经加入到 AD 的 Server Core 2008 R2 虚拟机,之后载入 SQL Server 2008 R2 的安装光盘镜像文件(ISO),并运行 Setup.exe,随即安装程序提示我要启用 .NET Framework 核心角色,单击确定继续。
随后出现了 .NET Framework 3.5 SP1 安装失败的错误提示。看来是安装程序的脚本不能很好的支持 Server Core 2008 R2 环境,接下来就只能手工安装这些组件。
在命令行提示符下键入如下指令:
dism /online /enable-feature /featurename:NetFx2-ServerCore /featurename:ServerCore-WOW64 /featurename:NetFx3-ServerCore-WOW64 /featurename:NetFx2-ServerCore-WOW64 /featurename:NetFx3-ServerCore /featurename:MicrosoftWindowsPowerShell
注意:/featurename: 的参数区分大小写。
由于 gOxiA 还要使用 IIS,为此还执行了如下的命令:
dism /online /enable-feature /featurename:IIS-ApplicationDevelopment /featurename:IIS-WebServer /featurename:IIS-WebServerRole /featurename:IIS-ISAPIFilter /featurename:IIS-ISAPIExtensions /featurename:IIS-NetFxExtensibility /featurename:IIS-ASPNET /featurename:IIS-ASP
在完成相关组件的准备工作之后,再次执行 Setup.exe 进行 SQL Server 2008 R2 的安装,这次成功的出现了 SQL Server 2008 R2 的安装中心界面。随后的操作就不再单独介绍。如果大家对如何使用命令行来安装 SQL Server 2008 R2 感兴趣,那么可以参考:How to: Install SQL Server 2008 R2 from the Command Prompt
在 SQL Server 2008 R2 完成安装后,由于 Windows 防火墙的原因,我们暂时还无法远程访问或管理 SQL Server 2008 R2,必须对相关配置进行设置。
首先,我们要启动 SQL Server 2008 R2 的 TCP 支持,为此执行下面的操作步骤:
- 在命令行提示符键入 regedit,并按下回车键,启动注册表编辑器;
- 定位到 HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp,找到 Enable 并将其值改为 1。
- 完成注册表修改后使用 net stop mssqlserver && net start mssqlserver 命令行重新启动 SQL Server 2008 R2。
在为 SQL Server 2008 R2 成功启动 TCP 连接支持后,我们还需要对 Windows 防火墙做相应的配置,以允许外部访问本机的 TCP 1433 端口,为此我们执行如下命令行:
netsh advfirewall firewall set rule group="Windows 远程管理” new enable=yes
netsh advfirewall firewall add rule name="SQL Server TCP 1433” dir=in action=allow protocol=tcp localport=1433
现在,我们便可以通过远程计算机对运行在 Server Core 2008 R2 上的 SQL Server 2008 R2 进行管理和访问了。此外,我们前面还安装有 IIS,因为是 Server Core 环境,所以要方便地管理 IIS 也需要通过远程管理,配置 IIS 的远程管理功能可以参考:http://learn.iis.net/page.aspx/334/install-and-configure-iis-7-on-server-core/
再次声明,微软并不支持在 Server Core 上安装 SQL Server 2008 R2,所以因此引发的问题将不受微软任何的支持。
[MDT] 升级或迁移原 MDT 数据库经验分享
接上回(分享 MDT 2010 数据库版本的相关经验)继续,gOxiA 特地搭建了测试环境对相关知识盲点进行了实际测试学习。总结如下:
- 如果从原 MDT 2008 上进行升级,那么 MDT 2010 会自动升级你的 MDT 数据库,即使数据库版本是 SQL Server 2000;
- 同上,如果之前已经存在一个 MDT 2008 数据库,那么只需要在 MDT 2010 数据库配置中直接选中之前已经存在的数据库即可;
- 同理,验证 MDT 2010 的数据库是可以基于 SQL Server 2000 的(并不存在无法连接这一说法),那么我们可以在 SQL Server 2000 上的用于 MDT 的数据库上执行 MDT 2008 带的数据库查询脚本,创建对应的表。之后再通过前面的步骤进行升级;
- 如果需要将基于 SQL Server 2000 上的 MDT 数据库迁移到 SQL Server 2005 或 2008 版本上,那么可以使用 SQL Server Management Studio 附加原数据库,或通过导入和导出数据功能将原数据库中的表导入到新版本的数据库中。
- 最后,如果是全新安装的 MDT 2010,并且不存在上一版本的 MDT 数据库,那么要创建和使用 MDT 数据库,则 SQL Server 版本必须高于 SQL Server 2000,否则就会出现之前日志中出现的数据库错误。