SQL Server windows身份验证和SQL Server身份验证的连接字符串
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合。
每一个属性/值对都由分号隔开。
PropertyName1=Value1;PropertyName2=Value2;PropertyName3=Value3;.....
同样,连接字符串必须包含SQL Server实例名称: Data Source=ServerName;
使用本地的SQL Server(localhost),如果想要使用远程服务器运行,应该在示例对象中把正确的服务器赋给Data Source 属性。
此外,还必须指定所支持的两种身份验证方法(即Windows身份验证和SQL Server身份验证)中的其中一种。
Windows身份验证
Windows身份验证使用Windows登录用户身份连接数据库,而SQL身份验证要求显式地指定SQL Server用户ID和密码。
要想使用 Windows身份验证,必须在连接字符串中包括 Integrated Security 属性:
Data Source=ServerName;Integrated Security=True;
默认情况下,Integrated Security 属性为 False ,这意味着将禁用Windows身份验证。
如果没有显式地把这个属性的值设置为True,连接将使用SQL Server身份验证,因此,必须提供SQL Server用户ID和密码。Integrated Security属性还能识别的其他值只有SSPI(Security Support Provider Interface,安全性支持提供者接口).在所有的Windows NT操作系统上,其中包括Windows NT 4.0、2000、XP,都支持值SSPI。
它是使用Windows身份验证时可以使用的惟一接口,相当于把Integrated Security 属性值设置为True。
在Windows身份验证模式中,SQL Server使用Windows的安全子系统对用户连接进行有效性验证。即使显示地指定用户ID和密码,SQL Server也不检查连接字符串中的用户ID和密码。因为只有Windows NT、2000、XP支持SSPI,因此如果正使用的是这些操作系统,则只能使用Windows集成的安全策略去连接SQL Server。不论使用哪一个操作系统,当使用SQL Server身份验证时,必须在连接字符串中指定用户ID和密码:
Data Source=ServerName;User ID=donaldx;Password=unbreakable
默认情况下,SQL Server .NET Data Provider连接指定用户的默认数据库,当在数据库中创建用户时,可以设置用户的默认数据库。此外,也可以在任意时间更改用户的默认数据库。例如,系统管理员的默认数据库是master。如果想要连接不同的数据库,应该指定数据库的名称:
Data Source=ServerName;Integrated Security=SSPI;Initial Catalog=Northwind
每一种身份验证都有它的优点和缺点。Windows身份验证使用单一的用户信息库源,因此,不需要为数据库访问去分别配置用户。连接字符串不包含用户ID和密码,因此消除了把用户ID和密码暴露给未授权的用户的危险。可以在Active Directory中管理用户和他们的角色,而不必在SQL Server中显式地配置他们的属性。 Windows身份验证的缺点是,它要求客户通过Windows的安全子系统支持的安全通道去连接SQL Server。如果应用种序需要通过不安全的网络(例如Internet)连接SQL Server,Windows身份验证将不工作。此外,这种身份验证方法也部分地把管理数据库访问控制的责任从DBA身上转移到了系统管理员身上,这在确定的环境中也许是一个问题。
一般而言,在设计通用的应用程序时,为了使用Windows身份验证,将会对一些方面进行加强。大多数公司的数据库都驻留在比较健壮的Windows服务器操作系统上,那些操作系统都支持Windows身份验证。数据访问层和数据表示层的分离也促进了把数据访问代码封装在中间层组件思想的应用,中间层组件通常运行在具有数据库服务器的内部网络中。当这样设计时,就不需要通过不安全通道建立数据库连接。除此之外,Web服务也使直接连接不同域中数据库的需要大减少。
SQL Server windows身份验证和SQL Server身份验证的连接字符串相关推荐
- SQL Server 连接字符串和身份验证 学习
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1 ...
- SQL Server 连接字符串和身份验证
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1 ...
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器(及Windows 10无法找到SQL server配置管理器的解决方法)
这里写目录标题 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器 Windows 10无法找到SQL server配置管理器的解决方法 后续 在与 SQ ...
- LoRa Server@Windows:一键安装
LoRa Server@Windows:一键安装 LoRa Server 是一个开源的 LoRaWAN 网络服务器,它具备很多优点:工程性,模块化,功能实现,维护活跃度上都是其他项目无法比拟的,它是 ...
- java与sql用windows身份连接,使用Windows身份验证将我的Sql Server 2008数据库连接到我的Java项目...
JDBC驱动程序支持通过则将integratedSecurity连接字符串属性在Windows操作系统上使用类型2集成身份验证.要使用集成身份验证,请将sqljdbc_auth.dll文件复制到安装了 ...
- C#中连接使用Windows身份验证的sql server数据库
C#中连接使用Windows身份验证的sql server数据库 最近在写一个系统,主要使用C#语言完成系统内各功能模块的编写.系统包含数据库,需要对数据库内的数据进行增删改查,这就涉及到了数据库的连 ...
- sqlserver中window身份验证跟sql server身份验证的区别
1.集成的Windows身份验证语法 1 string constr = "server=.;database=myschool;integrated security=SSPI" ...
- SQL Server安全(2/11):身份验证(Authentication)
在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切.但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念.这篇文章提供了基础,因此你可以对SQL Se ...
- 在Windows Server 2008服务器上安装SQL Server 2008 R2
本文讲述了在64位版本的WindowsServer 2008服务器上安装及配置SQL Server 2008 R2的过程. 准备服务器 阿里云服务器配置 登录服务器 使用远程桌面登录Windows S ...
最新文章
- 【JVM】Java变量的种类(提高版)
- ThumbProcess.exe错误的解决方法
- Linux 进程内 全局看见,Android获得全局进程信息以及进程使用的内存情况
- 树——axure线框图部件库介绍
- MyBatis映射文件1(增删改、insert获取自增主键值)
- c语言中输入字符用什么作用是什么意思,C语言编程问题
- 101-字符串类string基础使用
- 利用jQuery点击DIV变颜色的小例子
- string 转 byte_计算机毕业设计中java实现在线预览poi实现word、excel、ppt转html
- 土豆英雄抽传说卡程序(非土豆英雄玩家不要看)
- 量子计算机编程教程,量子信息与量子计算简明教程 PDF扫描版[12MB]
- 如何利用TFTP服务器上传文件到真机交换机?可使用SecureCRT和3CDaemon工具
- photoshop-CMYK色彩模式
- java课程 数独 文库_通俗易懂的数独算法(java版)
- python 模拟器多开任务并行
- CCF-CSP认证知识要求
- 究竟是什么,决定了一个人的成就!醍醐灌顶!
- w7怎么修改服务器dns,Win7本地连接的ip设置方法 Win7如何设置DNS服务器?
- ROS入门跟着我就够了(二)上 ROS通信机制
- 【Java】时间格式化注解