我用的是SQL Server 2005 EXPRESS,将其协议设置为TCP/IP后,总是无法启动SQL server 2005服务,奇怪?
禁用TCP/IP之后,则可以启动。
错误信息如下:
该服务未及时响应启动请求或控制请求。您需要拥有管理员特权,才能开始/停止该服务。 (SQLSAC)
重新配置windows防火墙也未起作用。
1. 什么是命名管道? 与TCP/IP(传输控制协议或internet协议)一样,命名管道是一种通讯协议。它一般用于局域网中,因为它要求客户端必须具有访问服务器资源的权限。 若要连接到 SQL Server 数据库引擎,必须启用网络协议。Microsoft SQL Server可同时通过多种协议处理请求。客户端用单个协议连接到 SQL Server。如果客户端程序不知道 SQL Server正在侦听哪个协议,可以配置客户端按顺序尝试多个协议。使用 SQL Server 配置管理器启用、禁用以及配置网络协议。
2. 为什么用命名管道? 使用命名管道的原因一般有两个方面
3. 如何使用命名管道? 要使用命名管道连接到SQL Server,客户端代码中的连接字符串大致的语法是这样的 |
今天使用虚拟机进行测试,重新进行设置,以使SQL Server 2005 Express可以远程访问,设置方法如下:
1、 确认成功安装SQL Server 2005 Express和 数据库服务已经启动。安装完成后,可以通过随SQL Server 2005Express一同安装的工具 SQL Server Configuration Manager 查看数据库服务和其他的配置信息。
上图显示数据库服务已经启用。
2、 查看SQL Server Express 2005 网络配置信息(SQL Server 2005 NetworkConfiguration――> Protocols for SQLEXPRESS)。默认的情况下右边列表中的NamedPipes和TCP/IP的状态为Disable,即没有启用。右键点击这两项,在弹出菜单中选中Enable启用这两个协议,如下图。
3、 在 TCP/IP协议上双击鼠标,弹出对话框。修改对话框Protocol属性页中的“Listen All ”项设为“no”。IPAddress属性页中,修改你要数据库服务监听的IP地址的属性,修改Enabled属性为Yes,修改TCP DynamicPorts属性为空,TCP Port项在默认安装下为空,现在修改为我们监听端口1433。修改后的状态如下图所示;
4、 启动管理工具,管理界面如下所示:
选中“Surface Area Configuration for Services and Connection”选项
5、 改修改DATA Engine的Remote Connection属性,修改后的属性如下图所示:
6、 完成以上操作后需要重新启动数据库服务才能使修改生效,下图的操作可以完成数据库服务的重启。
7、 重启后,可以在命令窗口输入如下命令“netstat -na”命令查看服务器监听的所有端口,如果我们设备的1433端口正在监听,我们启用SQL Server 2005Express网络操作成功。当然也可以使用telnet 命令来验证数据库操作是否成功。使用netstat命令操作如下图所示。
上面讲的这种方法,是可以设置成功的,同时,注意一下windows防火墙的设置就可以了。
还有一种更为简单的方法,卸载SQL Server EXPRESS2005,重新安装,修改默认安装的相关参数就可以了,让安装系统自动进行配置,可能会更简单一些。
重新安装之后,将相应的数据库附加进来就可以了。
Sql Server Express 2005无法使用SA用户登陆解决
SQL SERVER Express 2005安装上,默认安装时并没有打开远程连接及SA用户登陆功能1.无法使用SA用户登陆解决方案
解决方法如下,打Microsoft Sql Server Management Studio Express,以windows验证方式登陆,打开服务器属性窗口(在数据库服务器图标上点右键选"属性"),选择"安全性"选项,界面如下所示
服务器验证方式选择SQL SERVERTT和windows验证方式,确认
然后再到"安全性-登陆名"处设置SA用户属性,界面如下
设置密码
启用SA用户
2.无法在其他机器连接SQL 2005 EXPRESS解决方案
在SQL SERVER菜单组中找到SQL Server Surface Area Configuration程序
点击"Surface Area Configuration For Service And Connection",启用"local and remote connections"
重启SQL服务
3.无法新建登陆用户,错误如下所示
还不知怎么处理,敬请高手解答
简单设置:
设置一个Sql server方式的用户名和密码,具体设置如下:
manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'
这样就设置了一个用户名为sa ,密码为:sa123456的用户,下次在登陆时,可以用Sql server方式,
用户名为sa ,密码为:sa123456的用户进数据库了.
今天电脑出现了故障,重新安装系统及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
另外,还应当sql.exe放行
netsh firewall add allowedprogram C:\A.exe A ENABLE
另外,如果选择了Windows验证方式安装的服务器,那么sa帐号可能被停用。
特别的,如果使用sa登录时出现“Microsoft SQL Server, Error: 18452”的问题,
那么你还需要使用如下语句开启帐户:
ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '123' ;
GO
参数:
此上下文中的命令:
? - 显示命令列表。
add - 添加防火墙配置。
delete - 删除防火墙配置。
dump - 显示一个配置脚本。
help - 显示命令列表。
reset - 将防火墙配置重置为默认值。
set - 设置防火墙配置。
show - 显示防火墙配置。
一、先看一下add:
此上下文中的命令:
add allowedprogram - 添加防火墙允许的程序配置。
add portopening - 添加防火墙端口配置。
我们再来看这两个参数:
1、修改c:\windows\QQ.exe的配置,使其通过防火墙:
netsh firewall add allowedprogram program = C:\windows\QQ.exe name = QQ mode = ENABLE scope=ENABLE
2、添加WINDOWS防火墙的允许端口:
netsh firewall add portopening protocol=TCP port=3389 name = woyigui mode = ENABLE
在CMD状态下,使用防火墙的常用命令
一般我们都是要关闭这个防火墙,用net stop sharedaccess来完成,开启自然是net startsharedaccess,不过这次我却是要开启它,不为别的,搞了一台服务器准备继续渗透,结果被人ddos+Cc,害的我根本什么操作也不能实现,没办法,netstat -an查看下可能攻击的我的ip地址,把里面闹的最凶的几个全部禁止ip了先,主要是要防止cc攻击,因为我要使用数据库.
netsh firewall set portopening ALL 80 HTTP DISABLE CUSTOM 0.0.0.0 这里的0.0.0.0就是 要禁止的ip 开放的话把前面的DISABLE改成ENABLE,由此类推再禁止1433端口对那机器的开放就是:netsh firewall set portopening ALL 1433 MSSQL DISABLE CUSTOM 0.0.0.0,这里的ALL是协议类型,可以改成TCP/UDP.
再附录几个命令
netsh firewall show portopening 这个可以查看防火墙的端口设置,
netsh firewall show allowedprogram 查看防火墙放行的程序
netsh firewall delete allowedprogram exp.exe 对exp.exe设置为不被放行状态
netsh firewall add allowedprogram C:\A.exe A ENABLE 添加程序C盘下的A.exe并放行