ServerConnection 类

定义

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()

适用于