看到网上好多人问为什么我的SQL 2008只能用服务器计算器名登录,而不能用IP登录呢?我也遇到过这个问题,看到网上的回答各有千秋,但没有一个写得比较便于操作的。经过一番网络关键字(SQL 2008 local 登录)查找文章,整理,尝试,终于我的SQL 2008能用IP地址或LOCAL登录了,在此感谢那些无名英雄。
最后,我的成功过程我不敢一个人私藏,特意整理了下解决过程与大家一共分享。
解决MSSQL 2008不能用IP登录的问题
前提准备:mssql 2008已安装好了一个实例(我按默认情况下安装的实例是:SQLEXPRESS),并安装了SQL Server Management Studio工具。
为了满足可以用(local)或IP地址登录2008,需要以下配置支持:
一、打开“SQL Server 配置管理器”,做如下配置:
1、点开“SQL Server服务”节点
找到我们安装的SQL服务:SQL SERVER(SQLEXPRESS),双击它打开属性设置对话框,把登录身份中的内置帐户选中,并下拉选择“Network Service”:它的意思是用于网络服务,这样一来可以远程的客户端就可以重启这个SQL Server服务了,要不然重启服务功能只限于本机。
2、点开“SQL Server网络配置”节点。
再点开“实例名的协议”(我的是SQLEXPRESS的协议)。能看到我的实例是支持Share Memory, Named Pipes, TCP/IP, VIA这几种协议的。
右键点击“TCP/IP”选择启用。再右键它选择属性,在属性对话框中,切换到“IP地址”卡片,能看到有“IP1”,“IP2”...“IPAll”这几类针对IP的设置信息。首先,因为我们目前用不上“TCP动态端口”的功能,所以把这几类IP的TCP动态端口全设置为空(如果是0的话则表示启用动态端口功能)。再因为我准备把SQLEXPRESS实例向外提供服务的端口设置为1433(和SQL2000的默认服务连接端口号保持一致性),所以需要针对各类IP把它们的TCP端口一项设置为1433(其实仅仅只需要把IPALL的TCP端口号设置为1433,其它类型的均为空即可)。再把各类IP的“活动”和“已启用”均设置为“是”。点击“确定”保存配置。
3、点开“SQL Native Client 10.0配置”节点(如果没有的话,可能是你的软件安装得有问题,或者没有安装客户端工具:SQL Server Management Studio)。
再点击“客户端协议”,找到“TCP/IP”,双击它打开属性对话框,设置“默认端口”为1433(和上面配置的端口号只要保持一致即可),设置“已启用”为“是”。点击确定保存配置。
4、重启SQLEXPRESS实例。
二、打开SQL Server Management Studio工具
在连接到服务器操作对话框中做如下配置:
服务器类型:数据库引擎
服务器名称:(local) 或 IP地址 或 . 补充:.的意思也是表示本机的意思
再点击右下角的“选项>>”按钮,切换到“连接属性”卡片,在网络协议一项配置中下拉选择“TCP/IP”
点击连接按钮即可。
打开可以用SA登录的方法
如果不打开一个用户(不一定必须是SA),那么对于不在服务器上的远程客户端工具就没办法连这个SQL Server服务器了。
一、先用SQL Server Management Studio工具登录服务器SQLEXPRESS实例(不论是用IP登录方式还是计算机名登录的方式)。
二、在根节点上右键打开属性对话框,找到“安全性”节点,打开它,再设置“服务器身份验证”为“SQL Server和Windows身份验证模式”,再点击确定保存配置。
三、展开:根节点->安全性->登录名->sa. 右键sa打开属性对话框。
1、在“常规”页中设置sa用户的密码,注意密码不能太简单,如密码是sa肯定是通过不了的。
2、在“用户映射”页中,确认一下SA用户有没有db_owner角色身份。必须要有,要不然sa登录后什么高级功能也做不了了。
3、在“状态”页中,把“是否允许连接到数据库引擎”设置为“授予”,把“登录”设置为“启用”。
4、点击确定保存配置。
四、接下来你就可以用SA用户尝试登录了。这和Sql Server2000就很相似了。
特注:
以上观点均为个人经验,难免有理解不到位的地方,如有错误,望各位大侠们不要用“脏”字骂人 :) ,恳请在回复或留言中指正。