ServerConnection Class
The ServerConnection object represents a connection to a server.
Inheritance Hierarchy
System.Object
Microsoft.SqlServer.Management.Common.ConnectionSettings
Microsoft.SqlServer.Management.Common.ConnectionManager
Microsoft.SqlServer.Management.Common.ServerConnection
Namespace: Microsoft.SqlServer.Management.Common
Assembly: Microsoft.SqlServer.ConnectionInfo (in Microsoft.SqlServer.ConnectionInfo.dll)
Syntax
'Declaration
Public NotInheritable Class ServerConnection _
Inherits ConnectionManager _
Implements ISfcConnection
'Usage
Dim instance As ServerConnection
public sealed class ServerConnection : ConnectionManager,
ISfcConnection
public ref class ServerConnection sealed : public ConnectionManager,
ISfcConnection
[<SealedAttribute>]
type ServerConnection =
class
inherit ConnectionManager
interface ISfcConnection
end
public final class ServerConnection extends ConnectionManager implements ISfcConnection
The ServerConnection type exposes the following members.
Constructors
Name | Description | |
---|---|---|
ServerConnection() | Initializes a new instance of the ServerConnection class. | |
ServerConnection(SqlConnection) | Initializes a new instance of the ServerConnection class with the specified connection parameters. | |
ServerConnection(String) | Initializes a new instance of the ServerConnection class with the specified server instance. | |
ServerConnection(SqlConnectionInfo) | Initializes a new instance of the ServerConnection class with the specified connection information. | |
ServerConnection(String, String, SecureString) | Initializes a new instance of the ServerConnection class with the specified server instance and logon credentials. | |
ServerConnection(String, String, String) | Initializes a new instance of the ServerConnection class with the specified server instance and logon credentials. |
Top
Properties
Name | Description | |
---|---|---|
ApplicationName | Gets or sets the name of the application that has established the connection with the server. (Inherited from ConnectionSettings.) | |
AutoDisconnectMode | Gets or sets the automatic disconnection mode of the referenced connection to the instance of SQL Server. (Inherited from ConnectionManager.) | |
BatchSeparator | Gets or sets the string value used to separate batches in the referenced connection. | |
CapturedSql | Gets the Transact-SQL statements that are captured when the connection is running in capture mode. (Inherited from ConnectionManager.) | |
ConnectAsUser | Gets or sets the Boolean property value that specifies whether the connection is established using impersonation. (Inherited from ConnectionSettings.) | |
ConnectAsUserName | Gets or sets the name of the user when connecting using impersonation. (Inherited from ConnectionSettings.) | |
ConnectAsUserPassword | Gets or sets the password for the user when connecting using impersonation. (Inherited from ConnectionSettings.) | |
ConnectionString | Gets or sets the connection string used to establish a connection with a specified data source. (Inherited from ConnectionSettings.) | |
ConnectionType | Gets the type of connection to use in the server. | |
ConnectTimeout | Gets or sets the connection time-out period in seconds. (Inherited from ConnectionSettings.) | |
DatabaseEngineType | Gets the database engine type. (Inherited from ConnectionManager.) | |
DatabaseName | Gets or sets the database required by the connection. (Inherited from ConnectionSettings.) | |
EncryptConnection | Gets or sets the Boolean property value that specifies whether the connection is encrypted. (Inherited from ConnectionSettings.) | |
FixedServerRoles | Gets the fixed server role associated with the referenced connection. | |
InUse | Gets or sets the Boolean property value that specifies whether the connection is being used. (Inherited from ConnectionManager.) | |
IsForceDisconnected | Gets a Boolean value that specifies whether the connection was forcibly disconnected. (Inherited from ConnectionManager.) | |
IsOpen | Gets the Boolean property value that specifies whether the connection is currently open. (Inherited from ConnectionManager.) | |
LockTimeout | Gets or sets the time in seconds required for the connection to time out when the current transaction is locked. (Inherited from ConnectionManager.) | |
Login | Gets or sets the logon required to establish a connection with the instance of the server. (Inherited from ConnectionSettings.) | |
LoginSecure | Gets 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.) | |
MaxPoolSize | Gets 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.) | |
MinPoolSize | Gets 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.) | |
MultipleActiveResultSets | Gets or sets the Boolean property value that specifies whether more than one active result set is permitted. (Inherited from ConnectionSettings.) | |
NetworkProtocol | Gets or sets the network protocol used to establish the connection to the server. (Inherited from ConnectionSettings.) | |
NonPooledConnection | Gets or sets the Boolean property value that specifies whether the connection may be pooled or nonpooled. (Inherited from ConnectionSettings.) | |
PacketSize | Gets or sets the packets of data sent between the client and the server over the network in bytes. (Inherited from ConnectionSettings.) | |
ParameterizationMode | Gets or sets the parameterization mode for the server connection. | |
Password | Gets or sets the password used with the logon to establish a connection with the server when SQL Server Authentication is used. (Inherited from ConnectionSettings.) | |
PooledConnectionLifetime | Gets or sets the lifetime of the pooled connection. (Inherited from ConnectionSettings.) | |
ProcessID | Gets the ID value that uniquely identifies the process associated with the referenced connection to the server. | |
ResetConnectionString | Gets or sets a Boolean value that specifies whether a node in the connection string has been changed. (Inherited from ConnectionSettings.) | |
SecureConnectionString | Gets or sets an encrypted version of the connection string. (Inherited from ConnectionSettings.) | |
SecurePassword | Gets 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.) | |
ServerInstance | Gets or sets the name of the server. (Inherited from ConnectionSettings.) | |
ServerVersion | Gets the version of the connected instance of SQL Server. (Inherited from ConnectionManager.) | |
SqlConnectionObject | Gets the connection object. (Inherited from ConnectionManager.) | |
SqlExecutionModes | Gets or sets the execution mode associated with the referenced connection to the server. | |
StatementTimeout | Gets or sets the number of seconds a statement is given to run before failing with a time-out error. | |
TransactionDepth | Gets the current transaction depth for the referenced connection. | |
TrueLogin | Gets the current logon record name used by the referenced connection. | |
TrueName | Gets the name of the server. | |
UseMode | Gets or sets the server connection using a specified mode. | |
UserProfile | Gets the user profile associated with the referenced connection. | |
WorkstationId | Gets or sets the ID value that uniquely identifies the workstation. (Inherited from ConnectionSettings.) |
Top
Methods
Name | Description | |
---|---|---|
BeginTransaction | Starts a transaction on the referenced connection. | |
Cancel | Cancels the connection. | |
ChangePassword(SecureString) | Changes the login password that is used with standard authentication. | |
ChangePassword(String) | Changes the logon password that is used with standard authentication. | |
CheckServerVersion | Checks the version of the target instance of SQL Server. (Inherited from ConnectionManager.) | |
CommitTransaction | Commits the current transaction on the referenced connection. | |
Connect | Connects to the instance of SQL Server. (Inherited from ConnectionManager.) | |
Copy | Returns a copy of the ServerConnection object. | |
Disconnect | Disconnects from the instance of SQL Server. (Inherited from ConnectionManager.) | |
Equals | (Inherited from Object.) | |
ExecuteNonQuery(StringCollection) | Executes a batch of statements that do not return a result set. | |
ExecuteNonQuery(String) | Executes a statement that does not return a result set. | |
ExecuteNonQuery(StringCollection, ExecutionTypes) | Executes a batch of statements with the specified execution options that does not return a result set. | |
ExecuteNonQuery(String, ExecutionTypes) | Executes a statement with the specified execution options that does not return a result set. | |
ExecuteReader(String) | Executes Transact-SQL statements that return one or multiple result sets. | |
ExecuteReader(String, SqlCommand%) | Executes a reader using a SqlDataReader object value that contains one or more result sets. | |
ExecuteScalar(StringCollection) | Executes a batch of Transact-SQL statements and returns the first column of the first row as an object value. | |
ExecuteScalar(String) | Executes a Transact-SQL statement and returns the first column of the first row as an object value. | |
ExecuteTSql | Executes a Transact-SQL command. (Inherited from ConnectionManager.) | |
ExecuteWithResults(StringCollection) | Executes a batch of Transact-SQL statements that return multiple result sets. | |
ExecuteWithResults(String) | Executes a Transact-SQL statement that returns a result set. | |
Finalize | (Inherited from Object.) | |
ForceDisconnected | Forces a disconnect from the instance of SQL Server. (Inherited from ConnectionManager.) | |
GetHashCode | (Inherited from Object.) | |
GetType | (Inherited from Object.) | |
IsInFixedServerRole | Tests whether the logon associated with the referenced connection is a member of the specified fixed server role. | |
MemberwiseClone | (Inherited from Object.) | |
NormalizeQuery(String) | Uses a string input that represents the query text. | |
NormalizeQuery(String, Boolean) | Normalizes the query that controls the server connection. | |
RollBackTransaction | Rolls back the current transaction. | |
ThrowIfPropertyNotSet(String, String) | Throws an exception if the specified connection property is null or empty. (Inherited from ConnectionSettings.) | |
ThrowIfPropertyNotSet(String, String, Boolean) | Throws an exception if the specified connection property is null or, optionally, empty. (Inherited from ConnectionSettings.) | |
ToString | Returns the referenced object name as a string. (Inherited from ConnectionSettings.) |
Top
Events
Name | Description | |
---|---|---|
InfoMessage | The event that occurs when the instance of SQL Server generates an informational message. (Inherited from ConnectionManager.) | |
RemoteLoginFailed | This event occurs when a remote login fails to connect to the instance of SQL Server. (Inherited from ConnectionManager.) | |
ServerMessage | The event that occurs when SQL Server returns a warning or informational message on the current connection. (Inherited from ConnectionManager.) | |
StateChange | The event that occurs when the instance of SQL Server changes state. (Inherited from ConnectionManager.) | |
StatementExecuted | The event that occurs when the instance of SQL Server executes a statement on the current connection. (Inherited from ConnectionManager.) |
Top
Explicit Interface Implementations
Name | Description | |
---|---|---|
ISfcConnection.Connect | Returns a value that indicates the server to connect using an SFC connection. | |
ISfcConnection.Copy | Uses the SFC connection to copy the server connection. | |
ISfcConnection.Disconnect | Disconnects the connection. | |
ISfcConnection.ServerVersion | Gets the version of the server. | |
ISfcConnection.ToEnumeratorObject | Renders an enumerator object for the server connection. |
Top
Remarks
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.
Examples
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
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also