MSSQL 2008不能用IP登录问题如何解决
程序员文章站
2024-02-04 18:33:58
看到网上好多人问为什么我的sql 2008只能用服务器计算器名登录,而不能用ip登录呢?我也遇到过这个问题,看到网上的回答各有千秋,但没有一个写得比较便于操作的。经过一番网...
看到网上好多人问为什么我的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就很相似了。
特注:
以上观点均为个人经验,难免有理解不到位的地方,如有错误,望各位大侠们不要用“脏”字骂人 :) ,恳请在回复或留言中指正。
最后,我的成功过程我不敢一个人私藏,特意整理了下解决过程与大家一共分享。
解决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就很相似了。
特注:
以上观点均为个人经验,难免有理解不到位的地方,如有错误,望各位大侠们不要用“脏”字骂人 :) ,恳请在回复或留言中指正。