在用户使用默认选项安装的SQL 2005 Express是不能进行远程连接的,所以需要一些额外的步骤:
1、是否SQL 2005 Express服务未允许远程连接?
解决办法是在Management Studio Express中新建一个查询,执行以下语句:
sp_configure ''remote admin connections'', 1;
GO
RECONFIGURE;
GO
然后重启服务。
2、是否没有打开远程连接的协议?
解决方法是打开SQL Server Configuration Manager,展开SQL Server 2005 Network Configuration,
选择目标实例名,在右边的列表里允许远程连接的协议。然后重启服务。
3、是否安装服务器时,验证方式选择了Windows验证?
要改变这点比较容易。先使用Windows验证的方式登陆Management Studio,
右键点击Object Explorer的目标服务器,选择Properties,再点击Security,
在Server authertication节上选择“SQL Server and Windows Authentication mode”。
然后重启服务。
4、是否是Windows防火墙阻挡了远程的SQL连接?
使用以下命令打开相应端口:
Netsh firewall set portopening tcp 445 SQLNP ENABLE ALL
Netsh firewall set portopening tcp 1433 SQL_PORT_1433 ENABLE ALL
Netsh firewall set portopening udp 1434 SQLBrowser enable ALL
另外,如果选择了Windows验证方式安装的服务器,那么sa帐号可能被停用。
特别的,如果使用sa登录时出现“Microsoft SQL Server, Error: 18452”的问题,
那么你还需要使用如下语句开启帐户:
Alter LOGIN sa ENABLE ;
GO
Alter LOGIN sa WITH PASSWORD = ''123'' ;
GO
SQL Express远程登录的其他问题
1、启动SQL Server后1433未侦听。
SQL Server Configuration Manager->SQL Server 2005网络配置->MSSQLSERVER的协议,TCP/IP属性:已启用选择是,IP地址中删除TCP动态端口,TPC端口填入1433。重启SQL Server。
2、在服务器上用management studio可以连接,JDBC或远程连接报18452。
网上的资料都说18452是因为SQL Server未启用windows和SQL Server认证方式导致,但是Express中该选项已正确设置。该选项对应注册表中\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\LoginMode,其中1代表windows认证,2代表windows和SQL Server认证。将该选项改为2后重启,出现新的问题,客户端报18456。发现服务中有两个跟SQL Server相关的服务1、SQL Server(MSSQLSERVER)2、SQL Server(SQLEXPRESS),停掉SQL Server(SQLEXPRESS)后问题解决。
3、检查SA用户是否被禁用,SQL Express的SA账户默认好像是禁用的。