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
繼承
實作

建構函式

名稱 Description
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)

欄位

名稱 Description
NoConnectionTimeout

無限等待

(繼承來源 ConnectionSettings)

屬性

名稱 Description
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

待定

(繼承來源 ConnectionSettings)
EncryptConnection

連接字串 是否指定「encrypt=true」

(繼承來源 ConnectionSettings)
FixedServerRoles

回傳一個列舉,指定登入所屬的固定伺服器角色。

HostNameInCertificate

憑證中提供的主機名稱用於憑證驗證。

(繼承來源 ConnectionSettings)
HostPlatform

伺服器的主機平台(Linux/Windows 等)

(繼承來源 ConnectionManager)
InUse

如果物件至少與伺服器連接過一次,則會回傳為真。 若屬實,則不再允許屬性變更,且當屬性變更時會拋出 ConnectionCannotBeChangedException。

(繼承來源 ConnectionManager)
IsContainedAuthentication

如果資料庫引擎使用包含的認證來驗證,則會回傳為真。 例外:ConnectionFailureException

(繼承來源 ConnectionManager)
IsForceDisconnected

表示連線已被強制斷開

(繼承來源 ConnectionManager)
IsOpen

如果 SqlConnection 物件與伺服器有連線,則會回傳 true。 這只能在非池化連線中回應,因為組化連線在操作結束後總是直接閉合。

(繼承來源 ConnectionManager)
LockTimeout

LockTimeout 是指幾秒鐘內的鎖定超時。 預設 -1 是無限期的。 對於所有其他負數都會拋出 InvalidPropertyValueException。 正鎖定超時會乘以 1000,然後用於「設定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 所有 ServerConnection 實例使用的 QueryParameterizationMode

Password

登入時用來連接伺服器的密碼。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException

(繼承來源 ConnectionSettings)
PooledConnectionLifetime

當連線回傳到池時,會將其建立時間與當前時間比較,若該時間跨度(以秒計)超過連線壽命所規定的值,連線即被銷毀。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException

(繼承來源 ConnectionSettings)
ProcessID

ProcessID 屬性會回傳 ServerConnection 物件所使用的 SQL Server 程序識別碼。

ProductVersion

取得此連線的 ProductVersion 伺服器屬性

(繼承來源 ConnectionManager)
RequiresLogin

如果 LoginSecure 和 Authentication 的當前值需要設定登入屬性,則會回傳 true。

(繼承來源 ConnectionSettings)
ResetConnectionString

告訴我們 ConnectionManager 的 SqlConnectionObject 屬性是否需要重置 ConnectionString。

(繼承來源 ConnectionSettings)
SecureConnectionString

該屬性會回傳使用者指定的 連接字串 版本,或是根據物件設定回傳計算出的 連接字串。 若明確設定,ServerConnection 物件中的所有屬性都會被填入以反映傳入的 連接字串。 例外:ConnectionCannotBeChangedException

(繼承來源 ConnectionSettings)
SecurePassword

登入時用來連接伺服器的密碼。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException PropertyNotSetException

(繼承來源 ConnectionSettings)
ServerCertificate

用於憑證驗證的伺服器憑證路徑。

(繼承來源 ConnectionSettings)
ServerInstance

物件將連接的 SQL Server 名稱。 若未設定,則為本地伺服器。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException

(繼承來源 ConnectionSettings)
ServerVersion

回傳 SQL Server 的主要版本號。 例如 8 for SQL Server 2000。 例外:ConnectionFailureException

(繼承來源 ConnectionManager)
SqlConnectionObject

回傳 ConnectionContext 物件所使用的 SqlConnection 物件的參考。 這應該總是回傳有效的 sqlConnection 物件,且 ConnectionString 設定為最新有效。 例外:PropertyNotAvailableException

(繼承來源 ConnectionManager)
SqlExecutionModes

判斷 SQL 陳述式是否被擷取或傳送至伺服器。

StatementTimeout

這是陳述句嘗試傳送到伺服器後失敗的秒數。 預設是600秒(和希洛一樣)。 例外:InvalidPropertyValueException

StrictEncryption

是否在 連接字串 中指定「encrypt=strict」。 當為真時,的 EncryptConnection 值會被忽略。

(繼承來源 ConnectionSettings)
TransactionDepth

提供物件模型計算的交易深度。 這不包括任何可能在伺服器上啟動的交易,或是透過使用 ExecuteNonQuery 方法發出 BEGIN TRAN 所引發的交易。

TrueLogin

TrueLogin 屬性會回傳目前連線所使用的登入記錄名稱。

TrueName

TrueName 屬性會回傳Microsoft ® SQL Server全域函式的結果集@@INSTANCENAME。

TrustServerCertificate

請指示客戶端是否信任伺服器憑證

(繼承來源 ConnectionSettings)
UseMode

取得或設定 DeferredUseMode 所有 ServerConnection 實例使用的 UseMode

UserProfile

UserProfile 屬性會回傳目前連線所使用的 Microsoft SQL Server 登入的高層次角色描述。

WorkstationId

連接 SQL Server 的工作站名稱。 例外:ConnectionCannotBeChangedException InvalidPropertyValueException

(繼承來源 ConnectionSettings)

方法

名稱 Description
BeginTransaction()

開始一筆新交易。 若 CaptureMode 為真,交易敘述將被加入擷取緩衝區。交易巢狀是可能的。 用戶負責提交或回滾每一筆已開啟的交易。 並不保證物件模型所發出的所有 T-SQL 都能被交易封裝。 此外,被變更物件的狀態直到交易提交或交易回滾後,才會反映實際的資料庫狀態。 使用者有責任重新整理受影響的物件。 請小心使用。

Cancel()
ChangePassword(SecureString)
ChangePassword(String)
CheckServerVersion(ServerVersion)

確認我們是否連接到支援的伺服器版本。 ServerConnection 中的 block off <= 7.0。

(繼承來源 ConnectionManager)
CommitTransaction()

認可交易。 若 CaptureMode 為真,交易指令將被加入擷取緩衝區。 例外:NotInTransactionException

Connect()

建立與 SQL Server 的實際連線。 如果已經連結過,就忽略。 呼叫此方法為可選,因為連線會在需要時被開啟。 例外:ConnectionFailureException

(繼承來源 ConnectionManager)
Copy()

此函式執行深度複製

Disconnect()

關閉與 SQL Server 的連線。 如果已經斷線,就忽略。 例外:ConnectionFailureException

(繼承來源 ConnectionManager)
ExecuteNonQuery(String, ExecutionTypes, Boolean)

執行一個 T-SQL 陳述式。 指令終止符(「GO」)會被 ExecuteNonQuery 識別。 批次將分別發送並執行。 如果 CaptureMode 設為 true,則該語句會被記錄而非執行。 會回傳一個包含受影響列數的整數值。 若執行多個批次,則會回傳所有批次中受影響列的總數。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception

ExecuteNonQuery(String, ExecutionTypes)

執行一個 T-SQL 陳述式。 指令終止符(「GO」)會被 ExecuteNonQuery 識別。 批次將分別發送並執行。 如果 CaptureMode 設為 true,則該語句會被記錄而非執行。 會回傳一個包含受影響列數的整數值。 若執行多個批次,則會回傳所有批次中受影響列的總數。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception

ExecuteNonQuery(String)
ExecuteNonQuery(StringCollection, ExecutionTypes, Boolean)

執行 StringCollection 中的 T-SQL 語句。 指令終止符(「GO」)會被 ExecuteNonQuery 識別。 使用 GO 語句分離的批次將被單獨傳送並執行。 如果 CaptureMode 設為 true,則該語句會被記錄而非執行。 會回傳一個整數值陣列,包含 StringCollection 中每個語句受影響的列數。 若執行多個批次,則會回傳所有批次中受影響列的總數。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception

ExecuteNonQuery(StringCollection, ExecutionTypes)

執行 StringCollection 中的 T-SQL 語句。 指令終止符(「GO」)會被 ExecuteNonQuery 識別。 使用 GO 語句分離的批次將被單獨傳送並執行。 如果 CaptureMode 設為 true,則該語句會被記錄而非執行。 會回傳一個整數值陣列,包含 StringCollection 中每個語句受影響的列數。 若執行多個批次,則會回傳所有批次中受影響列的總數。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception

ExecuteNonQuery(StringCollection)
ExecuteReader(String, SqlCommand)

執行 T-SQL 語句。 會回傳一個 SqlDataReader 物件,可用來讀取 SQL Server 回傳的資料列串流。 同時回傳一個 SqlCommand 物件,若需要中止長期執行的查詢,可用來取消資料讀取管線。 它不會自動斷開例外:ConnectionFailureException 執行失敗Exeception

ExecuteReader(String, SqlCommand)

執行 T-SQL 語句。 會回傳一個 SqlDataReader 物件,可用來讀取 SQL Server 回傳的資料列串流。 同時回傳一個 SqlCommand 物件,若需要中止長期執行的查詢,可用來取消資料讀取管線。 它不會自動斷開例外:ConnectionFailureException 執行失敗Exeception

ExecuteReader(String)

執行 T-SQL 語句。 會回傳一個 SqlDataReader 物件,可用來讀取 SQL Server 回傳的資料列串流。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 它不會自動斷開例外:ConnectionFailureException 執行失敗Exeception

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 中每個語句結果的 DataSets 陣列。 如果與伺服器的連線未開啟,則會呼叫 Connect() 方法。 例外:ConnectionFailureException ExecutionFailureExeception

ForceDisconnected()

強制斷線並確保該連線無法再次開啟

(繼承來源 ConnectionManager)
GetDatabaseConnection(String, Boolean, IRenewableToken)

回傳一個連接名稱中包含指定資料庫名稱的 連接字串。如果目前連線已經在參考該資料庫,則會回傳該連線。

GetDatabaseConnection(String, Boolean)

回傳一個連接,該連線名稱包含指定的資料庫名稱 連接字串。 如果目前連線已經在參考給定的資料庫,則會回傳該連線。

IsInFixedServerRole(FixedServerRoles)

測試登入是否屬於任何指定伺服器角色。

NormalizeQuery(String, Boolean)

將包含字面值的查詢翻譯成正規化形式(所有字面值都被標準標記替換)

NormalizeQuery(String)

上述函數的過載——詳情請參見

RollBackTransaction()

中止交易(所有變更不會被儲存到資料庫中)。 若 CaptureMode 為真,交易指令將被加入擷取緩衝區。 例外:NotInTransactionException

ThrowIfPropertyNotSet(String, String, Boolean) (繼承來源 ConnectionSettings)
ThrowIfPropertyNotSet(String, String) (繼承來源 ConnectionSettings)
ToString() (繼承來源 ConnectionSettings)

事件

名稱 Description
InfoMessage

當 SQL Server 回傳警告或資訊訊息時,會發生這種情況。 使用 SqlClient.SqlInfoMessageEventHandler。

(繼承來源 ConnectionManager)
RemoteLoginFailed

當伺服器需要連接遠端伺服器且登入失敗時呼叫

(繼承來源 ConnectionManager)
ServerMessage

當 SQL Server 回傳警告或資訊訊息時,會發生這種情況。 使用 SqlClient.SqlInfoMessageEventHandler。

(繼承來源 ConnectionManager)
StateChange

當連接的狀態變更時發生。 使用 System.Data.StateChangeEventHandler。

(繼承來源 ConnectionManager)
StatementExecuted (繼承來源 ConnectionManager)

明確介面實作

名稱 Description
ISfcConnection.Connect()
ISfcConnection.Copy()
ISfcConnection.Disconnect()
ISfcConnection.ServerVersion
ISfcConnection.ToEnumeratorObject()

適用於