首先,祝各位新春快乐,万事如意!
==================
Windows 2003下安装SQL 2005选择了默认的Windows 身份验证,问题来了:
1.设置了Windows 身份验证后,是否无法从其它机器连接到此SQL Server?
2.在IIS程序下访问SQL(如ASP程序),是否需要向SQL服务器登录名中添加IUSR_机器名这个帐户?
3.“Provider=SQLOLEDB.1;Data Source=127.0.0.1;Persist Security Info=False;Initial Catalog=库名;Integrated Security=SSPI;”是否有问题?
4.如果以上设置正确的话,使用IUSR_机器名,这样的方式是否安全?
==================
Windows 2003下安装SQL 2005选择了默认的Windows 身份验证,问题来了:
1.设置了Windows 身份验证后,是否无法从其它机器连接到此SQL Server?
2.在IIS程序下访问SQL(如ASP程序),是否需要向SQL服务器登录名中添加IUSR_机器名这个帐户?
3.“Provider=SQLOLEDB.1;Data Source=127.0.0.1;Persist Security Info=False;Initial Catalog=库名;Integrated Security=SSPI;”是否有问题?
4.如果以上设置正确的话,使用IUSR_机器名,这样的方式是否安全?
2.数据库-安全性-登录名-sa右键-属性-常规选项卡:设置sqlserver验证方式的登陆密码-状态选项卡:是否连接到数据库引擎改为授予,登陆改为启用。
如何设置远程连接?
一、为 SQL 启用远程连接 1. 单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。
2. 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
3. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“远程连接”和“本地连接和远程连接”,单击适用于您的环境的相应协议,然后单击“应用”。 注意:请在接收到以下消息时单击“确定”:
直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。
4. 在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。 二、启用 SQL Server Browser 服务 1. 单击“开始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后单击“SQL Server 外围应用配置器”。
2. 在“SQL Server 2005 外围应用配置器”页上,单击“服务和连接的外围应用配置器”。
3. 在“服务和连接的外围应用配置器”页上,单击“SQL Server Browser”,在“启动类型”中单击“自动”选项,然后单击“应用”。 注意:在单击“自动”选项后,每次启动 Microsoft Windows 时将自动启动 SQL Server Browser 服务。
4. 单击“启动”,然后单击“确定”。 三、在 Windows 防火墙中为SQL Server 2005 创建例外 1. 在 Windows 防火墙中,单击“例外”选项卡,然后单击“添加程序”。
2. 在“添加程序”窗口中,单击“浏览”。
3. 单击 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe 可执行程序,单击“打开”,然后单击“确定”。 注意:上述路径可能会根据 SQL Server 2005 的安装位置而不同。 四、在 Windows 防火墙中为 SQL Server Browser 服务创建例外 1. 在 Windows 防火墙中,单击“例外”选项卡,然后单击“添加程序”。
2. 在“添加程序”窗口中,单击“浏览”。
3. 单击 C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe 可执行程序,单击“打开”,然后单击“确定”。 注意:上述路径可能会根据 SQL Server 2005 的安装位置而不同。 五、远程连接端口设置(很关键的一步,很多方法只讲了一到四步,却没有讲到第五步) 1、在服务器上打开SQL Server Configuration Manager。选择SQL Server配置治理器->SQL Server 2005网络配置->MSSQLSERVER的协议->TCP/IP,在弹出对话框中选择IP地址->IPALL->TCP端口,设置为可用端口。(如果默认的1433端口老是连接不上,你就设置为你确认已经打开的端口试试,如21端口等) 2、在“服务和连接的外围应用配置器”页上,展开“数据库引擎”,依次单击“服务”和“停止”,等待 MSSQLSERVER 服务停止,然后单击“启动”以重新启动 MSSQLSERVER 服务。
1.使用Windows 身份验证,是否其它机器就无法连接到SQL(所谓的安全?);
2.由于IIS匿名帐户是IUSR_机器名,是否需要向SQL服务器添加IUSR_机器名,这个帐户?
3.使用IUSR_机器名,这个帐户会不会造成安全问题?
怎么能让SQL远程连接,那些权限设置等等,我想大家都非常熟悉了,这里就不必讨论了。
如何打开sql server 2005 的1433端口配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中"TCP端口"为1433,"已启用"改为"是"配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客户端协议->TCP/IP选择TCP/IP右键菜单中"属性",确认"默认端口"是1433,"已启用"为"是"
SQL Server 2005 远程连接配置TCP/IP属性.
Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT SQL Server 外围应用配置器—服务和连接外围配置—database englie—远程连接—启用(远程连接的TCP/IP和named pipes)
SQL Server Configuration Manager—SQL2005网络配置—启用TCP/IP和named pipes
-----------------------------------------------------------------------------------------
一般按如上即可. 其他说明见下:
sqlserver2005(Express版),为了便于管理,你还需要去下一个manage管理器,微软的官方网站有
下,安装好manage管理器后,在程序中连接sqlserver2005,下面几点是要注意的。
1. 开启sql2005远程连接功能,开启办法如下,
配置工具->sql
server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine
节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务就可以了.
2.登陆设置改为,Sql server and windows Authentication方式同时选中,具体设置如下:
manage管理器->windows
Authentication(第一次用windows方式进去),->对象资源管理器中选择你的数据服务器--右键>属
性>security>Sql server and windows Authentication方式同时选中.
3:设置一个Sql server方式的用户名和密码,具体设置如下:
manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'
这样就设置了一个用户名为sa ,密码为:sa123456的用户,下次在登陆时,可以用Sql server方式,
用户名为sa ,密码为:sa123456的用户进数据库了.
4: 做完上面三步后,这样写连接字符串就可以顺利进入数据库了,
(server=.\\sqlexpress;uid=sa;pwd=sa123456;database=master";
其它版本,做如下設置 程序—Microsoft SQL Server 2005—配置工具—SQL Server 外围应用配置器—服务和连接的外围应用配置器—
1、MSSQLserver(实例名)—DataBase Engine—远程连接—(设置选项)
在下方选项
2、SQL Server Browser—服务(停止时只本机访问)
3、程序—Microsoft SQL Server 2005—配置工具—SQL Server Configuration Manager—网络连接协议-选择实例对应协议—启用(shard memory、Named Pipes、TCP\IP)
注: SQL Server 浏览器程序以服务的形式在服务器上运行。SQL Server 浏览器侦听对 Microsoft SQL Server 资源的传入请求,
并提供计算机上安装的 SQL Server 实例的相关信息。
SQL Server 浏览器可用于执行下列三种操作:
浏览可用服务器
连接到正确的服务器实例
连接到专用管理员连接 (DAC) 端点
SQL Server Browser 服务 (sqlbrowser) 为数据库引擎 和 SSAS 的每个实例提供实例名称和版本号。
SQL Server 浏览器随 Microsoft SQL Server 2005 一起安装,
为该计算机上运行的早期版本的 SQL Server(从 Microsoft SQL Server 7.0 开始)提供此服务。
答:“Provider=SQLOLEDB.1;Data Source=安装SQL的IP;Persist Security Info=False;Initial Catalog=库名;Integrated Security=SSPI;”这台代码放在跟SQL不同的机器上是连接不进来的,也就是只有WEB跟SQL同一台机器才能用SSPI。
2.在IIS程序下访问SQL(如ASP程序),是否需要向SQL服务器登录名中添加IUSR_机器名这个帐户?
答:点击IIS上网站属性---目录安全---身份验证那栏点“编辑”,默认是IUSR,估计这个用户没有那么大的权限,如果你的程序没有FSO之类的,可以用administrator组用户。3.“Provider=SQLOLEDB.1;Data Source=127.0.0.1;Persist Security Info=False;Initial Catalog=库名;Integrated Security=SSPI;”是否有问题?
答:没试过,我用的是strConn = "Provider=SQLOLEDB;Data Source= (local);Integrated Security=SSPI;Initial Catalog=master;"
4.如果以上设置正确的话,使用IUSR_机器名,这样的方式是否安全?
答:要看“IUSR_机器名”用户安全不安全了,个人觉得这个用户没有MSSQL权限,除非你重新设置MSSQL服务用户权限。一般程序上没有FSO也没有注入的话可以用admin组权限。