Export (0) Print
Expand All

ServerConnection Class

The ServerConnection object represents a connection to a server.

Namespace:  Microsoft.SqlServer.Management.Common
Assembly:  Microsoft.SqlServer.ConnectionInfo (in Microsoft.SqlServer.ConnectionInfo.dll)

[<SealedAttribute>]
type ServerConnection =  
    class
        inherit ConnectionManager
        interface ISfcConnection
    end

The ServerConnection type exposes the following members.

  NameDescription
Public methodServerConnection()Initializes a new instance of the ServerConnection class.
Public methodServerConnection(SqlConnection)Initializes a new instance of the ServerConnection class with the specified connection parameters.
Public methodServerConnection(String)Initializes a new instance of the ServerConnection class with the specified server instance.
Public methodServerConnection(SqlConnectionInfo)Initializes a new instance of the ServerConnection class with the specified connection information.
Public methodServerConnection(String, String, SecureString)Initializes a new instance of the ServerConnection class with the specified server instance and logon credentials.
Public methodServerConnection(String, String, String)Initializes a new instance of the ServerConnection class with the specified server instance and logon credentials.
Top

  NameDescription
Public propertyApplicationNameGets or sets the name of the application that has established the connection with the server. (Inherited from ConnectionSettings.)
Public propertyAutoDisconnectModeGets or sets the automatic disconnection mode of the referenced connection to the instance of SQL Server. (Inherited from ConnectionManager.)
Public propertyBatchSeparatorGets or sets the string value used to separate batches in the referenced connection.
Public propertyCapturedSqlGets the Transact-SQL statements that are captured when the connection is running in capture mode. (Inherited from ConnectionManager.)
Public propertyConnectAsUserGets or sets the Boolean property value that specifies whether the connection is established using impersonation. (Inherited from ConnectionSettings.)
Public propertyConnectAsUserNameGets or sets the name of the user when connecting using impersonation. (Inherited from ConnectionSettings.)
Public propertyConnectAsUserPasswordGets or sets the password for the user when connecting using impersonation. (Inherited from ConnectionSettings.)
Public propertyConnectionStringGets or sets the connection string used to establish a connection with a specified data source. (Inherited from ConnectionSettings.)
Public propertyConnectionTypeGets the type of connection to use in the server.
Public propertyConnectTimeoutGets or sets the connection time-out period in seconds. (Inherited from ConnectionSettings.)
Public propertyDatabaseEngineTypeGets the database engine type. (Inherited from ConnectionManager.)
Public propertyDatabaseNameGets or sets the database required by the connection. (Inherited from ConnectionSettings.)
Public propertyEncryptConnectionGets or sets the Boolean property value that specifies whether the connection is encrypted. (Inherited from ConnectionSettings.)
Public propertyFixedServerRolesGets the fixed server role associated with the referenced connection.
Public propertyInUseGets or sets the Boolean property value that specifies whether the connection is being used. (Inherited from ConnectionManager.)
Public propertyIsForceDisconnectedGets a Boolean value that specifies whether the connection was forcibly disconnected. (Inherited from ConnectionManager.)
Public propertyIsOpenGets the Boolean property value that specifies whether the connection is currently open. (Inherited from ConnectionManager.)
Public propertyLockTimeoutGets or sets the time in seconds required for the connection to time out when the current transaction is locked. (Inherited from ConnectionManager.)
Public propertyLoginGets or sets the logon required to establish a connection with the instance of the server. (Inherited from ConnectionSettings.)
Public propertyLoginSecureGets or sets the Boolean property that specifies whether the connection is established to the server by using Windows Authentication or SQL Server Authentication. (Inherited from ConnectionSettings.)
Public propertyMaxPoolSizeGets or sets the maximum number of connections in a connection pool that the specified connection accepts when establishing a connection with a server. (Inherited from ConnectionSettings.)
Public propertyMinPoolSizeGets or sets the minimum number of connections in a connection pool that the specified connection accepts when establishing a connection with a server. (Inherited from ConnectionSettings.)
Public propertyMultipleActiveResultSetsGets or sets the Boolean property value that specifies whether more than one active result set is permitted. (Inherited from ConnectionSettings.)
Public propertyNetworkProtocolGets or sets the network protocol used to establish the connection to the server. (Inherited from ConnectionSettings.)
Public propertyNonPooledConnectionGets or sets the Boolean property value that specifies whether the connection may be pooled or nonpooled. (Inherited from ConnectionSettings.)
Public propertyPacketSizeGets or sets the packets of data sent between the client and the server over the network in bytes. (Inherited from ConnectionSettings.)
Public propertyStatic memberParameterizationModeGets or sets the parameterization mode for the server connection.
Public propertyPasswordGets or sets the password used with the logon to establish a connection with the server when SQL Server Authentication is used. (Inherited from ConnectionSettings.)
Public propertyPooledConnectionLifetimeGets or sets the lifetime of the pooled connection. (Inherited from ConnectionSettings.)
Public propertyProcessIDGets the ID value that uniquely identifies the process associated with the referenced connection to the server.
Protected propertyResetConnectionStringGets or sets a Boolean value that specifies whether a node in the connection string has been changed. (Inherited from ConnectionSettings.)
Public propertySecureConnectionStringGets or sets an encrypted version of the connection string. (Inherited from ConnectionSettings.)
Public propertySecurePasswordGets or sets the secure password used with the logon to establish a connection with the server when SQL Server Authentication is used. (Inherited from ConnectionSettings.)
Public propertyServerInstanceGets or sets the name of the server. (Inherited from ConnectionSettings.)
Public propertyServerVersionGets the version of the connected instance of SQL Server. (Inherited from ConnectionManager.)
Public propertySqlConnectionObjectGets the connection object. (Inherited from ConnectionManager.)
Public propertySqlExecutionModesGets or sets the execution mode associated with the referenced connection to the server.
Public propertyStatementTimeoutGets or sets the number of seconds a statement is given to run before failing with a time-out error.
Public propertyTransactionDepthGets the current transaction depth for the referenced connection.
Public propertyTrueLoginGets the current logon record name used by the referenced connection.
Public propertyTrueNameGets the name of the server.
Public propertyStatic memberUseModeGets or sets the server connection using a specified mode.
Public propertyUserProfileGets the user profile associated with the referenced connection.
Public propertyWorkstationIdGets or sets the ID value that uniquely identifies the workstation. (Inherited from ConnectionSettings.)
Top

  NameDescription
Public methodBeginTransactionStarts a transaction on the referenced connection.
Public methodCancelCancels the connection.
Public methodChangePassword(SecureString)Changes the login password that is used with standard authentication.
Public methodChangePassword(String)Changes the logon password that is used with standard authentication.
Protected methodCheckServerVersionChecks the version of the target instance of SQL Server. (Inherited from ConnectionManager.)
Public methodCommitTransactionCommits the current transaction on the referenced connection.
Public methodConnectConnects to the instance of SQL Server. (Inherited from ConnectionManager.)
Public methodCopyReturns a copy of the ServerConnection object.
Public methodDisconnectDisconnects from the instance of SQL Server. (Inherited from ConnectionManager.)
Public methodEquals (Inherited from Object.)
Public methodExecuteNonQuery(StringCollection)Executes a batch of statements that do not return a result set.
Public methodExecuteNonQuery(String)Executes a statement that does not return a result set.
Public methodExecuteNonQuery(StringCollection, ExecutionTypes)Executes a batch of statements with the specified execution options that does not return a result set.
Public methodExecuteNonQuery(String, ExecutionTypes)Executes a statement with the specified execution options that does not return a result set.
Public methodExecuteReader(String)Executes Transact-SQL statements that return one or multiple result sets.
Public methodExecuteReader(String, SqlCommand)Executes a reader using a SqlDataReader object value that contains one or more result sets.
Public methodExecuteScalar(StringCollection)Executes a batch of Transact-SQL statements and returns the first column of the first row as an object value.
Public methodExecuteScalar(String)Executes a Transact-SQL statement and returns the first column of the first row as an object value.
Protected methodExecuteTSqlExecutes a Transact-SQL command. (Inherited from ConnectionManager.)
Public methodExecuteWithResults(StringCollection)Executes a batch of Transact-SQL statements that return multiple result sets.
Public methodExecuteWithResults(String)Executes a Transact-SQL statement that returns a result set.
Protected methodFinalize (Inherited from Object.)
Public methodForceDisconnectedForces a disconnect from the instance of SQL Server. (Inherited from ConnectionManager.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Public methodIsInFixedServerRoleTests whether the logon associated with the referenced connection is a member of the specified fixed server role.
Protected methodMemberwiseClone (Inherited from Object.)
Public methodStatic memberNormalizeQuery(String)Uses a string input that represents the query text.
Public methodStatic memberNormalizeQuery(String, Boolean)Normalizes the query that controls the server connection.
Public methodRollBackTransactionRolls back the current transaction.
Protected methodThrowIfPropertyNotSet(String, String)Throws an exception if the specified connection property is null or empty. (Inherited from ConnectionSettings.)
Protected methodThrowIfPropertyNotSet(String, String, Boolean)Throws an exception if the specified connection property is null or, optionally, empty. (Inherited from ConnectionSettings.)
Public methodToStringReturns the referenced object name as a string. (Inherited from ConnectionSettings.)
Top

  NameDescription
Public eventInfoMessageThe event that occurs when the instance of SQL Server generates an informational message.  (Inherited from ConnectionManager.)
Public eventRemoteLoginFailedThis event occurs when a remote login fails to connect to the instance of SQL Server. (Inherited from ConnectionManager.)
Public eventServerMessageThe event that occurs when SQL Server returns a warning or informational message on the current connection. (Inherited from ConnectionManager.)
Public eventStateChangeThe event that occurs when the instance of SQL Server changes state.  (Inherited from ConnectionManager.)
Public eventStatementExecutedThe event that occurs when the instance of SQL Server executes a statement on the current connection.  (Inherited from ConnectionManager.)
Top

  NameDescription
Explicit interface implemetationPrivate methodISfcConnection.ConnectReturns a value that indicates the server to connect using an SFC connection.
Explicit interface implemetationPrivate methodISfcConnection.CopyUses the SFC connection to copy the server connection.
Explicit interface implemetationPrivate methodISfcConnection.DisconnectDisconnects the connection.
Explicit interface implemetationPrivate propertyISfcConnection.ServerVersionGets the version of the server.
Explicit interface implemetationPrivate methodISfcConnection.ToEnumeratorObjectRenders an enumerator object for the server connection.
Top

The ServerConnection class is served by the Server class and replication classes such as the ReplicationServer class.

Typically, you don't have to declare an instance of the ServerConnection object because it is created automatically with the Server object. Declare a ServerConnection object variable if you want to store the connection settings for re-use. The ConnectionContext property of the Server object points to a ServerConnection object. The ServerConnection object contains properties that relate to the connection between the Server object and the instance of SQL Server. You can use it to view or modify certain aspects of the connection, such as the process ID, processing transactions, the authentication mode, execution mode, and even to run Transact-SQL commands directly.

By using the ServerConnection object, you can do the following:

  • Run Transact-SQL statements directly over the connection to the instance of SQL Server.

  • Change the connection settings, such as the authentication method.

  • Begin, commit and roll back transactions.

  • Capture the Transact-SQL statements generated by the SMO application.

For another example of this method with the Database object, see [M:Microsoft.SqlServer.Management.Smo.Database.ExecuteNonQuery(System.String].

VB


'Declare a ServerConnection object variable to specify SQL authentication, login and password.
Dim conn As New ServerConnection
conn.LoginSecure = False
conn.Login = vlogin
conn.Password = vpassword
'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server(conn)
'The actual connection is made when a property is retrieved.
Console.WriteLine(srv.Information.Version)
'The connection is automatically disconnected when the Server variable goes out of scope.


PowerShell

$conn = new-object Microsoft.SqlServer.Management.Common.ServerConnection
$conn.LoginSecure = $FALSE
$conn.Login = vlogin
$conn.Password = vpassword
#Connect to the local, default instance of SQL Server
$srv = new-object Microsoft.SqlServer.Management.Smo.Server($conn)
Write-Host $srv.Information.Version

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions

ADD
Show:
© 2014 Microsoft