ServerConnection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public sealed class ServerConnection : Microsoft.SqlServer.Management.Common.ConnectionManager, Microsoft.SqlServer.Management.Common.ISfcConnection
type ServerConnection = class
inherit ConnectionManager
interface ISfcConnection
Public NotInheritable Class ServerConnection
Inherits ConnectionManager
Implements ISfcConnection
- 继承
- 实现
构造函数
| 名称 | 说明 |
|---|---|
| ServerConnection() | |
| ServerConnection(IRenewableToken) |
创建接受令牌的 ServerConnection 对象。 额外的布尔值用于重载此构造函数,因为存在包含字符串的另一个构造函数。 |
| ServerConnection(SqlConnection, IRenewableToken) |
构造新的 ServerConnection 对象 |
| ServerConnection(SqlConnection, IRenewableToken) |
构造新的 ServerConnection 对象 |
| ServerConnection(SqlConnection) |
从给定的 SqlConnection 构造一个新的 ServerConnection 对象 |
| ServerConnection(SqlConnection) |
从给定的 SqlConnection 构造一个新的 ServerConnection 对象 |
| ServerConnection(SqlConnectionInfo) | |
| ServerConnection(String, String, SecureString) | |
| ServerConnection(String, String, String) | |
| ServerConnection(String) | |
字段
| 名称 | 说明 |
|---|---|
| NoConnectionTimeout |
无限等待 (继承自 ConnectionSettings) |
属性
| 名称 | 说明 |
|---|---|
| AcceptsLogin |
如果 LoginSecure 和 Authentication 的当前值使用 Login 属性,则返回 true (继承自 ConnectionSettings) |
| AccessToken | (继承自 ConnectionSettings) |
| ApplicationIntent |
连接有效值的应用程序意向为 ReadWrite 和 ReadOnly (继承自 ConnectionSettings) |
| ApplicationName |
应用程序的名称。 如果未提供任何应用程序名称,则为“SQL 管理”。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException (继承自 ConnectionSettings) |
| Authentication |
连接的身份验证类型 (继承自 ConnectionSettings) |
| AutoDisconnectMode | (继承自 ConnectionManager) |
| BatchSeparator |
定义 ExecuteNonQuery 方法使用的批处理分隔符。 默认值为“GO”。 批处理分隔符不区分大小写。 |
| CachedQueries |
获取或设置一个值,该值指示 ServerConnection 实例是否应缓存查询结果 |
| CapturedSql | (继承自 ConnectionManager) |
| ConnectAsUser |
如果设置为 true,将使用指定用户的凭据建立连接。 这将假定模拟,但 LoginSecure 标志和登录名和密码字段不会受到影响。 此设置仅在Windows可用。 (继承自 ConnectionSettings) |
| ConnectAsUserName |
指定创建模拟连接时使用的Windows用户。 用户必须具有交互式登录权限。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException (继承自 ConnectionSettings) |
| ConnectAsUserPassword |
指定创建模拟连接时使用的Windows用户的密码。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException (继承自 ConnectionSettings) |
| ConnectionProtocol |
连接协议。 (继承自 ConnectionManager) |
| ConnectionString |
该属性将返回指定的用户连接字符串,或者它将基于对象设置返回计算连接字符串。 如果显式设置,则填充 ServerConnection 对象中的所有属性以反映传入连接字符串。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException (继承自 ConnectionSettings) |
| ConnectionType | |
| ConnectTimeout |
在终止尝试并引发异常之前,等待与服务器的连接的时间长度(以秒为单位)。 默认值为 30 秒(与 Shiloh 相同)。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException (继承自 ConnectionSettings) |
| CurrentDatabase |
返回当前数据库上下文。 (继承自 ConnectionManager) |
| DatabaseEngineEdition |
数据库引擎的版本 (继承自 ConnectionManager) |
| DatabaseEngineType |
返回SQL Server的数据库引擎类型。 异常:ConnectionFailureException (继承自 ConnectionManager) |
| DatabaseName |
TBD (继承自 ConnectionSettings) |
| EncryptConnection |
是否在连接字符串中指定了“encrypt=true” (继承自 ConnectionSettings) |
| FixedServerRoles |
返回一个枚举,该枚举指定登录名所属的固定服务器角色。 |
| HostNameInCertificate |
证书中提供的主机名用于证书验证。 (继承自 ConnectionSettings) |
| HostPlatform |
服务器的主机平台(Linux/Windows/etc) (继承自 ConnectionManager) |
| InUse |
如果对象至少与服务器连接了一次,则返回 true。 如果为 true,则不允许再更改属性,当属性发生更改时,将引发 ConnectionCannotBeChangedException。 (继承自 ConnectionManager) |
| IsContainedAuthentication |
如果数据库引擎使用包含的身份验证进行身份验证,则返回 true。 异常:ConnectionFailureException (继承自 ConnectionManager) |
| IsForceDisconnected |
指示连接已强制断开连接 (继承自 ConnectionManager) |
| IsOpen |
如果 SqlConnection 对象与服务器连接,则返回 true。 对于非入池连接,这只能返回 true,因为池连接始终在操作后直接关闭。 (继承自 ConnectionManager) |
| LockTimeout |
LockTimeout 是锁定超时(以秒为单位)。 默认 -1 无限期。 对于所有其他负数,将引发 InvalidPropertyValueException。 正 LockTimeout 将乘以 1000,然后用于“SET LOCK_TIMEOUT”设置。 (继承自 ConnectionManager) |
| Login |
用于连接到服务器的SQL Server登录名。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException (继承自 ConnectionSettings) |
| LoginSecure |
如果设置为 true,则使用Windows集成安全性,并忽略登录名和密码。 如果未设置,则使用 Sql Server 身份验证。 异常:ConnectionCannotBeChangedException (继承自 ConnectionSettings) |
| MaxPoolSize |
池中允许的最大连接数。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException (继承自 ConnectionSettings) |
| MinPoolSize |
池中维护的最小连接数。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException (继承自 ConnectionSettings) |
| MultipleActiveResultSets |
从连接启用 MARS。 默认值为 false。 (继承自 ConnectionSettings) |
| NetworkProtocol |
标识用于连接到SQL Server的客户端网络协议。 如果未指定网络并使用本地服务器,则使用共享内存。 如果未指定网络并使用远程服务器,则使用其中一种配置的客户端协议。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException (继承自 ConnectionSettings) |
| NonPooledConnection |
默认情况下,与SQL Server的所有连接都取自 ADO.NET 连接池。如果设置为 true,则允许用户创建非共用连接(在关闭时不会重复使用)。 异常:ConnectionCannotBeChangedException (继承自 ConnectionSettings) |
| PacketSize |
用于与 SQL Server 实例通信的网络数据包的大小(以字节为单位)。 默认值为 8192。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException (继承自 ConnectionSettings) |
| ParameterizationMode |
获取或设置一个值,该值指示 QueryParameterizationMode QueryParameterizationMode 所有 ServerConnection 实例都使用 |
| Password |
与 Login 一起使用以连接到服务器的密码。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException (继承自 ConnectionSettings) |
| PooledConnectionLifetime |
将连接返回到池时,其创建时间与当前时间进行比较,如果时间跨度(以秒为单位)超过连接生存期指定的值,则会销毁连接。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException (继承自 ConnectionSettings) |
| ProcessID |
ProcessID 属性返回 ServerConnection 对象所使用的连接的SQL Server进程标识符。 |
| ProductVersion |
获取此连接的 ProductVersion 服务器属性 (继承自 ConnectionManager) |
| RequiresLogin |
如果 LoginSecure 和 Authentication 的当前值要求设置 Login 属性,则返回 true (继承自 ConnectionSettings) |
| ResetConnectionString |
告诉我们 ConnectionString 是否需要在 ConnectionManager 的 SqlConnectionObject 属性中重置。 (继承自 ConnectionSettings) |
| SecureConnectionString |
该属性将返回指定的用户连接字符串的 SecureString 版本,或者它将基于对象设置返回计算连接字符串。 如果显式设置,则填充 ServerConnection 对象中的所有属性以反映传入连接字符串。 异常:ConnectionCannotBeChangedException (继承自 ConnectionSettings) |
| SecurePassword |
与 Login 一起使用以连接到服务器的密码。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException (继承自 ConnectionSettings) |
| ServerCertificate |
要用于证书验证的服务器证书的路径。 (继承自 ConnectionSettings) |
| ServerInstance |
对象将连接到的SQL Server的名称。 如果未设置,则隐含本地服务器。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException (继承自 ConnectionSettings) |
| ServerVersion |
返回SQL Server的主要版本号。 i. 8 for SQL Server 2000. 异常:ConnectionFailureException (继承自 ConnectionManager) |
| SqlConnectionObject |
返回对 ConnectionContext 对象使用的 SqlConnection 对象的引用。 这应始终返回具有最新有效 ConnectionString 集的有效 sqlConnection 对象。 异常:PropertyNotAvailableException (继承自 ConnectionManager) |
| SqlExecutionModes |
确定 SQL 语句是捕获还是发送到服务器。 |
| StatementTimeout |
这是在语句失败之前尝试发送到服务器的秒数。 默认值为 600 秒(与 Shiloh 相同)。 异常:InvalidPropertyValueException |
| StrictEncryption |
是否在连接字符串中指定了“encrypt=strict”。 如果为 true,则忽略其 EncryptConnection 值。 (继承自 ConnectionSettings) |
| TransactionDepth |
提供对象模型计数的事务深度。 这不包括可能已在服务器上启动的任何事务,或者通过 ExecuteNonQuery 方法发出 BEGIN TRAN。 |
| TrueLogin |
TrueLogin 属性返回当前连接使用的登录记录名称。 |
| TrueName |
TrueName 属性返回Microsoft ® SQL Server全局函数@@INSTANCENAME的结果集。 |
| TrustServerCertificate |
指示客户端是否信任服务器证书 (继承自 ConnectionSettings) |
| UseMode |
获取或设置 DeferredUseMode UseMode 所有 ServerConnection 实例使用 |
| UserProfile |
UserProfile 属性返回当前连接使用的Microsoft SQL Server登录名的高级角色说明。 |
| WorkstationId |
连接到 SQL Server 的工作站的名称。 异常:ConnectionCannotBeChangedException InvalidPropertyValueException (继承自 ConnectionSettings) |
方法
| 名称 | 说明 |
|---|---|
| BeginTransaction() |
启动新事务。 如果 CaptureMode 为 true,事务语句将添加到捕获缓冲区。可以嵌套事务。 用户负责提交或回滚每个打开的事务。 不能保证对象模型发出的所有 T-SQL 都可以由事务封装。 此外,更改的对象的状态不会反映实际数据库状态,直到提交事务或在事务回滚后。 用户有责任刷新受影响的对象。 小心使用。 |
| Cancel() | |
| ChangePassword(SecureString) | |
| ChangePassword(String) | |
| CheckServerVersion(ServerVersion) |
检查我们是否正在连接到受支持的服务器版本。 block off <= ServerConnection 中的 7.0。 (继承自 ConnectionManager) |
| CommitTransaction() |
提交事务。 如果 CaptureMode 为 true,事务命令将添加到捕获缓冲区。 异常:NotInTransactionException |
| Connect() |
创建与SQL Server的实际连接。 如果已连接,则忽略。 调用此方法是可选的,因为需要时将打开连接。 异常:ConnectionFailureException (继承自 ConnectionManager) |
| Copy() |
此函数执行深层复制 |
| Disconnect() |
关闭与SQL Server的连接。 如果已断开连接,则忽略。 异常:ConnectionFailureException (继承自 ConnectionManager) |
| ExecuteNonQuery(String, ExecutionTypes, Boolean) |
执行 T-SQL 语句。 Command terminator ('GO') 由 ExecuteNonQuery 识别。 批处理将单独发送和执行。 如果 CaptureMode 设置为 true,则记录该语句,而不是执行该语句。 返回一个 int 值,该值包含受影响的行数。 如果执行了多个批处理,则返回所有批处理的受影响行总数。 如果与服务器的连接未打开,将调用 Connect() 方法。 异常:ConnectionFailureException ExecutionFailureExeception |
| ExecuteNonQuery(String, ExecutionTypes) |
执行 T-SQL 语句。 Command terminator ('GO') 由 ExecuteNonQuery 识别。 批处理将单独发送和执行。 如果 CaptureMode 设置为 true,则记录该语句,而不是执行该语句。 返回一个 int 值,该值包含受影响的行数。 如果执行了多个批处理,则返回所有批处理的受影响行总数。 如果与服务器的连接未打开,将调用 Connect() 方法。 异常:ConnectionFailureException ExecutionFailureExeception |
| ExecuteNonQuery(String) | |
| ExecuteNonQuery(StringCollection, ExecutionTypes, Boolean) |
在 StringCollection 中执行 T-SQL 语句。 Command terminator ('GO') 由 ExecuteNonQuery 识别。 使用 GO 语句分隔的批处理将单独发送和执行。 如果 CaptureMode 设置为 true,则记录该语句,而不是执行该语句。 返回 int 值的数组,其中包含 StringCollection 中每个语句受影响的行数。 如果执行了多个批处理,则返回所有批处理的受影响行总数。 如果与服务器的连接未打开,将调用 Connect() 方法。 异常:ConnectionFailureException ExecutionFailureExeception |
| ExecuteNonQuery(StringCollection, ExecutionTypes) |
在 StringCollection 中执行 T-SQL 语句。 Command terminator ('GO') 由 ExecuteNonQuery 识别。 使用 GO 语句分隔的批处理将单独发送和执行。 如果 CaptureMode 设置为 true,则记录该语句,而不是执行该语句。 返回 int 值的数组,其中包含 StringCollection 中每个语句受影响的行数。 如果执行了多个批处理,则返回所有批处理的受影响行总数。 如果与服务器的连接未打开,将调用 Connect() 方法。 异常:ConnectionFailureException ExecutionFailureExeception |
| ExecuteNonQuery(StringCollection) | |
| ExecuteReader(String, SqlCommand) |
执行 T-SQL 语句。 返回 SqlDataReader 对象,可用于读取SQL Server返回的行流。 如果需要中止长时间运行的查询,还可以返回 SqlCommand 对象,该对象可用于取消数据读取器管道。 它不会自动断开异常:ConnectionFailureException ExecutionFailureExeception |
| ExecuteReader(String, SqlCommand) |
执行 T-SQL 语句。 返回 SqlDataReader 对象,可用于读取SQL Server返回的行流。 如果需要中止长时间运行的查询,还可以返回 SqlCommand 对象,该对象可用于取消数据读取器管道。 它不会自动断开异常:ConnectionFailureException ExecutionFailureExeception |
| ExecuteReader(String) |
执行 T-SQL 语句。 返回 SqlDataReader 对象,可用于读取SQL Server返回的行流。 如果与服务器的连接未打开,将调用 Connect() 方法。 它不会自动断开异常:ConnectionFailureException ExecutionFailureExeception |
| ExecuteScalar(String) |
执行 T-SQL 语句。 返回一个对象,其中包含结果集第一行的第一列。 如果与服务器的连接未打开,将调用 Connect() 方法。 异常:ConnectionFailureException ExecutionFailureExeception |
| ExecuteScalar(StringCollection) |
在 StringCollection 中执行 T-SQL 语句。 返回对象的数组,每个对象都包含每个执行语句的结果集第一行的第一列。 如果与服务器的连接未打开,将调用 Connect() 方法。 异常:ConnectionFailureException ExecutionFailureExeception |
| ExecuteTSql(ConnectionManager+ExecuteTSqlAction, Object, DataSet, Boolean) |
使用适当的方法执行 T-SQL,具体取决于作为参数传递的操作信息。 (继承自 ConnectionManager) |
| ExecuteWithResults(String, Boolean) |
在 sqlCommand 中执行 T-SQL 语句。 返回包含结果的数据集。 如果与服务器的连接未打开,将调用 Connect() 方法。 异常:ConnectionFailureException ExecutionFailureExeception |
| ExecuteWithResults(String) |
在 sqlCommand 中执行 T-SQL 语句。 返回包含结果的数据集。 如果与服务器的连接未打开,将调用 Connect() 方法。 异常:ConnectionFailureException ExecutionFailureExeception |
| ExecuteWithResults(StringCollection) |
在 StringCollection 中执行 T-SQL 语句。 返回一个数据集数组,其中包含 StringCollection 中每个语句的结果。 如果与服务器的连接未打开,将调用 Connect() 方法。 异常:ConnectionFailureException ExecutionFailureExeception |
| ForceDisconnected() |
强制断开连接并确保无法再次重新打开连接 (继承自 ConnectionManager) |
| GetDatabaseConnection(String, Boolean, IRenewableToken) |
返回一个连接,该连接在连接字符串如果当前连接已引用给定数据库,则返回当前连接。 |
| GetDatabaseConnection(String, Boolean) |
返回一个连接,该连接在连接字符串中具有指定的数据库名称。 如果当前连接已引用给定数据库,则返回当前连接。 |
| IsInFixedServerRole(FixedServerRoles) |
测试登录名是否是任何指定服务器角色的成员。 |
| NormalizeQuery(String, Boolean) |
将包含嵌入文本的查询转换为规范化形式(由标准标记替换的所有文本) |
| NormalizeQuery(String) |
上述函数的重载 - 有关详细信息,请参阅 |
| RollBackTransaction() |
中止事务(所做的所有更改都不会保存到数据库)。 如果 CaptureMode 为 true,事务命令将添加到捕获缓冲区。 异常:NotInTransactionException |
| ThrowIfPropertyNotSet(String, String, Boolean) | (继承自 ConnectionSettings) |
| ThrowIfPropertyNotSet(String, String) | (继承自 ConnectionSettings) |
| ToString() | (继承自 ConnectionSettings) |
活动
| 名称 | 说明 |
|---|---|
| InfoMessage |
当SQL Server返回警告或信息性消息时发生。 使用 SqlClient.SqlInfoMessageEventHandler。 (继承自 ConnectionManager) |
| RemoteLoginFailed |
当服务器需要连接到远程服务器并且登录失败时调用 (继承自 ConnectionManager) |
| ServerMessage |
当SQL Server返回警告或信息性消息时发生。 使用 SqlClient.SqlInfoMessageEventHandler。 (继承自 ConnectionManager) |
| StateChange |
在连接状态发生更改时发生。 使用 System.Data.StateChangeEventHandler。 (继承自 ConnectionManager) |
| StatementExecuted | (继承自 ConnectionManager) |
显式接口实现
| 名称 | 说明 |
|---|---|
| ISfcConnection.Connect() | |
| ISfcConnection.Copy() | |
| ISfcConnection.Disconnect() | |
| ISfcConnection.ServerVersion | |
| ISfcConnection.ToEnumeratorObject() | |