用本地的SQL Server(localhost),如果想要使用远程服务器运行,应该在示例对象中把正确的服务器赋给Data Source 属性。此外,还必须指定所支持的两种身份验证方法(即Windows身份验证和SQL Server身份验证)中的其中一种。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 2000和2005版本的连接字符串配置方法。这些配置涵盖了多种场景,包括不同版本的连接方式、使用集成安全性和指定实例名称等。理解并掌握这些连接字符串的配置,有助于更好地管理和操作SQL ...
SQL Server 支持两种主要的身份验证模式:Windows 身份验证和 SQL Server 身份验证。 1. **Windows 身份验证**: - **特点**:使用 Windows 登录凭据进行认证,不需要在连接字符串中指定用户名和密码。 - **示例...
本解决方案提供了一个专门用于构建和测试SQL Server连接字符串的工具。 首先,我们来了解SQL Server连接字符串的基本构成。一个标准的SQL Server连接字符串通常包含以下几个关键部分: 1. **数据源 (Data Source)*...
连接字符串还反映了不同的身份验证模式: 1. **SQL Server和Windows混合模式**: ```plaintext Provider=SQLOLEDB.1;PersistSecurityInfo=True;User ID=用户名;Password=密码;InitialCatalog=数据库名;...
SQL Server数据库连接字符串是应用程序与SQL Server数据库之间建立连接的关键配置信息,用于指定数据库服务器的位置、身份验证方式、数据库名称等参数。以下是一份详细的关于SQL Server连接字符串的知识点介绍: 1....
使用 Windows 身份验证连接 Sql Server 数据库时,需要在连接字符串中指定 Integrated Security=SSPI,例如: ```csharp public void SqlConnectionOpen() { SqlConnection conn = new SqlConnection(); conn....
本文将详细讲解SQL Server数据库驱动以及如何创建有效的连接字符串,以帮助那些需要与SQL Server进行交互的开发者。 首先,SQL Server数据库驱动是允许应用程序与SQL Server进行通信的软件组件。主要有以下几种: ...
- 了解和掌握不同的SQL Server 2008连接字符串格式对于开发高效、可靠的应用程序至关重要。 - 应根据具体应用场景选择合适的连接方式,例如是否需要信任连接、是否使用IP地址等。 - 对于复杂的场景,如连接Windows ...
本文将深入探讨C#环境下数据库连接字符串的构建方法,特别是针对SQL Server验证和Windows身份验证的场景,同时也将涵盖其他数据库类型的连接方式。 ### SQL Server验证与Windows身份验证 #### SQL Server验证 在...
本主题聚焦于如何在C#中构建SQL Server的连接字符串以及如何测试这个连接。SQL Server连接字符串是用于建立C#应用与SQL Server数据库之间通信的关键元素。它包含了必要的信息,如服务器名称、数据库名、用户名和密码...
【配置Sql连接字符串】 在IT领域,配置SQL连接字符串是数据库应用程序中不...同时,各个DBMS虽然都基于SQL标准,但通常会有各自的扩展特性和方言,因此在编写连接字符串和SQL语句时,需要考虑到目标数据库系统的特点。
本文介绍了SQL Server 2005连接字符串的各种配置方法,包括使用SQL Native Client ODBC和OLE DB Provider进行连接。通过合理的配置,可以实现不同场景下的数据库连接需求。在实际应用中,根据具体需求选择合适的连接...
以下是一个简单的C#示例,展示了如何使用上述连接字符串与SQL Server建立连接: ```csharp using System; using System.Data.SqlClient; namespace SqlConnectionStringExample { class Program { static void ...
### 一、SQL Server 2005连接字符串详解 #### 1. 连接字符串构成 一个典型的SQL Server 2005连接字符串由多个参数组成,每个参数用分号分隔,如: ``` Driver={SQL Native Client};Server=myServerAddress;...
MS SQL Server 数据库连接字符串是用于建立与 SQL Server 数据库实例连接的重要配置,包含了多种参数以确保正确和安全地访问数据库。 首先,`Data Source` 或 `Server` 参数指定了要连接的 SQL Server 实例的名称或...
混合身份验证模式允许SQL Server接受两种类型的登录:Windows身份验证和SQL Server身份验证。在混合模式下,除了使用Windows凭据之外,还可以使用SQL Server登录名和密码。 #### 2.2 连接字符串配置 对于混合身份...
首先,定义了一个字符串变量`m_sConn`来存储连接字符串,其中包含了Provider、Password、PersistSecurityInfo、UserID和DataSource等关键参数。接下来,通过实例化ADODB.Connection对象并调用其`Open`方法,实现了与...