赞助广告 赞助广告
  当前位置:网络学院数据库MS SQL → 解决SQL Server 连接时的一些基本问题后的若干初浅心得
解决SQL Server 连接时的一些基本问题后的若干初浅心得
日期:2005年7月7日 作者: 人气: 查看:[大字体 中字体 小字体]
朋友做了一个题库系统,用C#写的ASP应用程序,数据库用SQL Server2000,交给我看看。放到服务器上后,出现问题。反复调整后发现了解决的方法,其实很简单。回过头去看了看,发现是自己对SQL Server的连接语句和用户权限的认识不足所造成的。下面将我的一些心得以及网上查到的有关资料汇集一下,以为后来者借鉴,当然很肤浅。

1、SQL Server的连接方式

以本地服务器(LocalHost),数据库(Northwind)为例,可以有以下一些连接方式

SqlConnection conn=new SqlConnection( "Server=LocalHost;Integrated Security=SSPI;Database=Northwind");

SqlConnection conn = new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=Northwind;");

SqlConnection conn = new SqlConnection(" Data Source=LocalHost;Initial Catalog=Northwind;Integrated Security=SSPI;Persist Security Info=False;Workstation Id=XURUI;Packet Size=4096; ");
SqlConnection myConn  = new SqlConnection("Persist Security Info=False;Integrated Security=SSPI;Database=northwind;Server=LocalHost");
SqlConnection conn = new SqlConnection(" Uid=sa;Pwd=***;Initial Catalog=Northwind;Data Source=LocalHost;Connect Timeout=900");

心得:

a.Server和Database,Data Source和Initial Catalog配对使用的,可以互相替换(见笑)
b.Integrated Security默认值是False,此时需要提供Uid和Pwd,即将以Sql Server 用户身份登陆数据库;如果设置为True,Yes 或 SSPI,这不能出现Uid和Pwd,将以Windows用户省份登陆数据库。强烈推荐用后一种形式,安全性更高。
c.Integrated Security和Persist Security Info同时出现,后者设置为False,可保证信息安全。

更多字符串连接说明请看MSDN:
http://msdn.microsoft.com/librar ... tionStringTopic.asp

连接字符串的书写应该熟练后应该没有什么问题,我是再看别人的程序,说实话有些东东还真不清楚。但连接不上的问题出现后,得解决呀。所以必须要弄懂这些关键字的意义,修改后再测试。


2、SQL Server的用户设置
问题一、采用连接字符串
SqlConnection conn = new SqlConnection(" Uid=sa;Pwd=***;Initial Catalog=Northwind;Data Source=LocalHost;Connect Timeout=900");
错误:
用户"sa"登陆失败,没有可信任的Sql Server连接
查资料后找到解决方法:
原因:Sql Server的验证方式需要设置为Sql Server验证和Windows集成验证的混合方式,如果仅设置为后一种方式,就会出像上述问题
解决:运行Sql Server的企业管理器,点击服务器,在右键菜单中选择属性,选安全性,更改验证方式即可
问题二、采用连接字符串
SqlConnection conn = new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=Northwind;");
错误:
用户"computername\IWAM_servername"登陆失败
原因:SQL Server的登陆用户中不包括IWAM_servername
解决方法:运行Sql Server的企业管理器,点击服务器,选安全性,选登陆,新建登陆中加入IWAM_servername,并配备相应的权限,如只能访问Northwind数据库,数据库的角色设置为public和db_owner。


3、关于连接的安全性

最好使用SSPI的集成安全方式连接数据库,而sa用户的方式连接会存在安全隐患,我认为主要是因为在安装SQL Server时,经常会为了访问的方便设置sa的密码为空,黑客一旦让sa成为管理员,就可以获得对系统的所有访问权限。所以为了数据库的安全,可以设置 SQL server的访问用户只能经过windows集成验证,设置sa的安全密码,加强数据库的安全性。当然设置为windows集成验证后,数据库的性能和访问的灵活性势必会受到影响,管理员可以针对每一个数据库设置不同的验证方式,而不必对SQL server设置成统一的方式。

(出处:Im286)

相关文章:
 
·如何对传入的连接禁用 NetBT 代理
·连接到数据及创建可重用的Data Command
·怎样才能限制SQL Server只能让指定的机器连接
·利用Win 2K实现Internet连接共享
·台式电脑与笔记本电脑红外连接与联机
·WinGate与连接共享的最佳配合
·Windows的Internet连接共享上网
·利用“ICS”共享Internet连接
·微软警告:拨号连接存在安全缺陷
·避免使用DSN连接数据库
相关软件:
 
·5237网络互动自助连接系统
·七缘在线友情连接添加系统 v2.0
·幸福dё七月友情连接系统 v1.1增强版
·潇潇雨吧友情连接系统 v1.5 build 050224
·推荐!检测连接网站的速度
·麦布网站连接编译器 v1.0
·信息城友情连接 v1.12
·快捷友情连接 v2.60
·快捷友情连接 v3.0
·飘易自助友情连接系统 v1.2
  特别推荐
  热点TOP10