参考微软这篇 如何配置 SQL Server 2005 以允许远程连接的文章,http://support.microsoft.com/kb/914277#top
我结合批命令,可以实现一站式配置 SQL Server 2005 打开其远程连接功能。
注意:以下功能在Windows 2003 Server和Windows XP下安装SQL Server 2005 Express测试过,能正常工作。其它系统下,没做过实验,不敢保证还能正常工作。
1. 首先将以下SQL语句,复制到文本文件中,另存为OpenRemoteAccess.sql。
USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO
USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO
EXEC sys.sp_configure N'remote access', N'1'
GO
RECONFIGURE WITH OVERRIDE
GO
ALTER LOGIN [sa] ENABLE
GO
USE [master]
GO
ALTER LOGIN [sa] WITH PASSWORD=N'!!abc123'
GO
当然,以上密码可以随便改成你想要的。我这里只是未刚安装的SQL Server设置一个新的默认密码,因为我们还没有SQL Server的管理界面。
2. 接着,我们需要将以下内容,复制到文本文件中,另存为OpenRemoteAccess.bat文件。
sqlcmd -S LOCALHOST\SQLEXPRESS -E -i C:\OpenRemoteAccess\OpenRemoteAccess.sql
mmc.exe /32 "C:\WINDOWS\system32\SQLServerManager.msc"
"C:\Program Files\Microsoft SQL Server\90\Shared\SqlSAC.exe"
3.双击运行以上的OpenRemoteAccess.bat文件,正常情况下会弹出
SQL Server Configuration Manager,在这里,
a. 要把服务:SQL Server和SQL Server Browser都启动。
b. 要把 Protocol For SQL Express中的TCP/IP 和 Name Piped 设置为Enabled。
完成以上操作关闭此窗口,自动后弹出另一个窗口 SQL Server Surface Area Configration。
在这里,我们要选择最下面的链接 Surface Area Configuration for Services and Connections,打开另外一个窗口,当你看到 Remote Connections时,在导航树上选中它。在右侧,选中 Local and remote connections 单选按钮,下面选中 Using Both TCP/IP and name pipes.
完成上述操作,关闭相应窗口即可。
所有工作完成,为了万无一失,一定检查所有的防火墙,保证外部能正常访问,或者干脆先把所有防火墙全关闭,试试效果没问题后,再打开防火墙。
其它部分参考内容如下:
若要在 SQL Server 2005 实例上启用远程连接并打开 SQL Server Browser 服务,请使用 SQL Server 2005 外围应用配置器工具。在安装 SQL Server 2005 时会安装外围应用配置器工具。
为 SQL Server 2005 Express Edition 或 SQL Server 2005 Developer Edition 启用远程连接
必须为要从远程计算机连接到的每个 SQL Server 2005 实例启用远程连接。为此,请按照下列步骤操作:
- 单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。
- 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
- 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“远程连接”和“本地连接和远程连接”,单击适用于您的环境的相应协议,然后单击“应用”。
注意:请在接收到以下消息时单击“确定”: - 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。
启用 SQL Server Browser 服务
如果您是通过使用实例名称来运行 SQL Server 2005 并且在连接字符串中没有使用特定的 TCP/IP 端口号,则必须启用 SQL Server Browser 服务以允许远程连接。例如,使用 <计算机名>\SQLEXPRESS 的默认实例名称安装的 SQL Server 2005 Express。不管您正在运行多少个 SQL Server 2005 实例,只需要启用一次 SQL Server Browser 服务。若要启用 SQL Server Browser 服务,请执行以下步骤。
重要说明:这些步骤可能会增加您的安全风险。这些步骤还可能导致您的计算机或网络更易于受到恶意用户或恶意软件(如病毒)的攻击。我们之所以推荐本文介绍的这一过程,是为了使程序能够按照设计意图运行,或者为了实现特定的程序功能。我们建议在进行这些更改之前,充分考虑在您的特定环境中实施这一过程可能带来的风险。如果您选择实施此过程,请采用任何适当的附加步骤以保护您的系统。我们建议只有确实需要这一过程时才使用它。
- 单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。
- 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
- 在“服务和连接的外围应用配置器”页上,单击“SQL Server Browser”,在“启动类型”中单击“自动”选项,然后单击“应用”。
注意:在单击“自动”选项后,每次启动 Microsoft Windows 时将自动启动 SQL Server Browser 服务。 - 单击“启动”,然后单击“确定”。
注意:在计算机上运行 SQL Server Browser 服务时,计算机显示其上运行的每个 SQL Server 实例的实例名称和连接信息。如果不启用 SQL Server Browser 服务并且通过分配的 TCP 端口直接连接到 SQL Server 实例,则可以降低此风险。本文不讨论如何通过 TCP 端口直接到 SQL Server 实例。有关 SQL Server Browser 服务和连接到 SQL Server 实例的更多信息,请参见《SQL Server 联机丛书》中的以下主题:
- SQL Server Browser 服务
- 连接到 SQL Server 数据库引擎
- 客户端网络配置