Herstellen einer Verbindung zu einer Instanz von SQL Server

Der erste Programmierschritt beim Erstellen einer SQL Server Management Objects (SMO)-Anwendung beinhaltet das Erstellen einer Instanz des Server-Objekts und das Herstellen einer Verbindung zu einer Instanz von MicrosoftSQL Server.

Es stehen drei Möglichkeiten zur Verfügung, um eine Instanz des Server-Objekts zu erstellen und eine Verbindung zu einer Instanz von SQL Server herzustellen. Die erste Methode verwendet eine ServerConnection-Objektvariable, um die Verbindungsinformationen bereitzustellen. Die zweite Methode besteht darin, die Verbindungsinformationen durch die explizite Angabe der Server-Objekteigenschaften anzugeben. Bei der dritten Methode wird der Name der SQL Server-Instanz im Server-Objektkonstruktor angegeben.

Verwenden eines ServerConnection-Objekts

Das Verwenden der ServerConnection-Objektvariable bietet den Vorteil, dass die Verbindungsinformationen wiederverwendet werden können. Deklarieren Sie eine Server-Objektvariable. Deklarieren Sie anschließend ein ServerConnection-Objekt, und geben Sie die Eigenschaften mit Verbindungsinformationen wie dem Namen der SQL Server-Instanz und dem Authentifizierungsmodus an. Übergeben Sie dann die ServerConnection-Objektvariable als Parameter an den Server-Objektkonstruktor. Es wird nicht empfohlen, mehrere Verbindungen zwischen unterschiedlichen Serverobjekten gleichzeitig freizugeben. Verwenden Sie die Copy-Methode, um eine Kopie der vorhandenen Verbindungseinstellungen abzurufen.

Explizites Festlegen von Serverobjekteigenschaften

Alternativ können Sie die Server-Objektvariable deklarieren und den Standardkonstruktor aufrufen. Normalerweise versucht das Server-Objekt, mit sämtlichen Standardverbindungseinstellungen eine Verbindung zur SQL Server-Standardinstanz herzustellen.

Bereitstellen des Namens der SQL Server-Instanz im Serverobjektkonstruktor

Deklarieren Sie die Server-Objektvariable und übergeben Sie den Namen der SQL Server-Instanz als Zeichenfolgenparameter im Konstruktor. Das Server-Objekt stellt mit den Standardverbindungseinstellungen eine Verbindung zur Instanz von SQL Server her.

Verbindungspooling

Es ist in der Regel nicht erforderlich, die Connect-Methode des ServerConnection-Objekts aufzurufen. SMO stellt bei Bedarf automatisch eine Verbindung her und gibt nach dem Abschluss der Vorgänge die Verbindung zum Verbindungspool frei. Wenn die Connect-Methode aufgerufen wird, wird die Verbindung zum Pool nicht freigegeben. Um die Verbindung zum Pool freizugeben, ist ein expliziter Aufruf der Disconnect-Methode erforderlich. Darüber hinaus können Sie eine nicht in einem Pool enthaltene Verbindung anfordern, indem Sie die NonPooledConnection-Eigenschaft des ServerConnection-Objekts festlegen.

Multithreadanwendungen

Für Multithreadanwendungen sollte in jedem Thread ein separates ServerConnection-Objekt verwendet werden.

Herstellen einer Verbindung zu einer Instanz von SQL Server für RMO

Replikationsverwaltungsobjekte (RMO) unterscheiden sich im Aufbau einer Verbindung zu einem Replikationsserver leicht von SMO.

Bei RMO-Programmierobjekten ist es erforderlich, dass eine Verbindung zu einer Instanz von SQL Server mithilfe des durch den Microsoft.SqlServer.Management.Common-Namespace implementierten ServerConnection-Objekts erfolgt. Diese Verbindung zum Server erfolgt unabhängig von einem RMO-Programmierobjekt. Sie wird anschließend entweder während der Erstellung der Instanz oder durch die Zuweisung zur ConnectionContext-Eigenschaft des Objekts an das RMO-Objekts weitergegeben. Dadurch können ein RMO-Programmierobjekt und die Instanzen des Verbindungsobjekts getrennt erstellt und verwaltet werden. Zudem kann ein einzelnes Verbindungsobjekt mit mehreren RMO-Programmierobjekten verwendet werden. Für Verbindungen zu einem Replikationsserver gelten die folgenden Regeln :

  • Alle Eigenschaften für die Verbindung werden für ein angegebenes ServerConnection-Objekt definiert.

  • Jede Verbindung zu einer Instanz von SQL Server muss über ein eigenes ServerConnection-Objekt verfügen.

  • Sämtliche Authentifizierungsinformationen, die zur Herstellung der Verbindung und zur erfolgreichen Anmeldung beim Server erforderlich sind, sind im ServerConnection-Objekt angegeben.

  • Standardmäßig werden Verbindungen mit der Microsoft Windows-Authentifizierung hergestellt. Um die SQL ServerAuthentifizierung verwenden zu können, müssen LoginSecure auf False und Login sowie Password auf eine gültige SQL Server Kombination von Anmeldeinformationen und Kennwort gesetzt sein. Anmeldeinformationen müssen stets sicher aufbewahrt und behandelt werden. Nach Möglichkeit sollte die Eingabe zur Laufzeit erfolgen.

  • Die Connect-Methode muss vor Übergabe der Verbindung an ein RMO-Programmierobjekt aufgerufen werden.

Beispiele

Um die bereitgestellten Codebeispiele verwenden zu können, müssen Sie die Programmierumgebung, die Programmiervorlage und die Programmiersprache wählen, in der die Anwendung erstellt werden soll. Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation unter "Vorgehensweise: Erstellen eines Visual Basic SMO-Projekts in Visual Studio .NET" oder "Vorgehensweise: Erstellen eines Visual C# SMO-Projekts in Visual Studio .NET".

Herstellen einer Verbindung zur lokalen Instanz von SQL Server mithilfe der Windows-Authentifizierung in Visual Basic

Für das Herstellen einer Verbindung zur lokalen Instanz von SQL Server ist nur wenig Code erforderlich. Für Authentifizierungsmethode und Server werden die Standardeinstellungen verwendet. Sobald das erste Mal Daten abgerufen werden müssen, wird eine Verbindung erstellt.

Der im Beispiel dargestellte Visual Basic .NET-Code stellt mithilfe der Windows-Authentifizierung eine Verbindung zur lokalen Instanz von SQL Server her.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'The connection is established when a property is requested.
Console.WriteLine(srv.Information.Version)
'The connection is automatically disconnected when the Server variable goes out of scope.

Herstellen einer Verbindung zur lokalen Instanz von SQL Server mithilfe der Windows-Authentifizierung in Visual C#

Für das Herstellen einer Verbindung zur lokalen Instanz von SQL Server ist nur wenig Code erforderlich. Für Authentifizierungsmethode und Server werden die Standardeinstellungen verwendet. Sobald das erste Mal Daten abgerufen werden müssen, wird eine Verbindung erstellt.

Der im Beispiel dargestellte Visual C# .NET-Code stellt mithilfe der Windows-Authentifizierung eine Verbindung zur lokalen Instanz von SQL Server her.

{ 
//Connect to the local, default instance of SQL Server. 
Server srv; 
srv = new Server(); 
//The connection is established when a property is requested. 
Console.WriteLine(srv.Information.Version); 
} 
//The connection is automatically disconnected when the Server variable goes out of scope.

Herstellen einer Verbindung zu einer Remoteinstanz von SQL Server mithilfe der Windows-Authentifizierung in Visual Basic

Wenn Sie mithilfe der Windows-Authentifizierung eine Verbindung zu einer Instanz von SQL Server herstellen, müssen Sie den Authentifizierungstyp nicht angeben. Die Windows-Authentifizierung ist als Standard vorgegeben.

Der im Beispiel dargestellte Visual Basic .NET-Code stellt mithilfe der Windows-Authentifizierung eine Verbindung zu einer Remoteinstanz von SQL Server her. Die Zeichenkettenvariable strServer enthält den Namen der Remoteinstanz.

'Connect to a remote instance of SQL Server.
Dim srv As Server
'The strServer string variable contains the name of a remote instance of SQL Server.
srv = New Server(strServer)
'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.

Herstellen einer Verbindung zu einer Remoteinstanz von SQL Server mithilfe der Windows-Authentifizierung in Visual C#

Wenn Sie mithilfe der Windows-Authentifizierung eine Verbindung zu einer Instanz von SQL Server herstellen, müssen Sie den Authentifizierungstyp nicht angeben. Die Windows-Authentifizierung ist als Standard vorgegeben.

Der im Beispiel dargestellte Visual C# .NET-Code stellt mithilfe der Windows-Authentifizierung eine Verbindung zur Remoteinstanz von SQL Server her. Die Zeichenkettenvariable strServer enthält den Namen der Remoteinstanz.

{ 
//Connect to a remote instance of SQL Server. 
Server srv; 
//The strServer string variable contains the name of a remote instance of SQL Server. 
srv = new Server(strServer); 
//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.

Herstellen einer Verbindung zu einer Instanz von SQL Server mithilfe der SQL Server-Authentifizierung in Visual Basic

Wenn Sie mithilfe der SQL Server-Authentifizierung eine Verbindung zu einer Instanz von SQL Server herstellen, müssen Sie den Authentifizierungstyp angeben. In diesem Beispiel ist eine Alternativmethode angegeben, mit der Sie eine ServerConnection-Objektvariable deklarieren und die Verbindungsinformationen wiederverwenden können.

Der im Beispiel dargestellte Visual Basic .NET-Code stellt mithilfe der SQL Server-Authentifizierung eine Verbindung zur Remoteinstanz von SQL Server her. Hierbei enthalten die Zeichenfolgenvariablen vLogin und vPassword die Anmeldeinformationen und das Kennwort.

'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.

Herstellen einer Verbindung zu einer Instanz von SQL Server mithilfe der SQL Server-Authentifizierung in Visual C#

Wenn Sie mithilfe der SQL Server-Authentifizierung eine Verbindung zu einer Instanz von SQL Server herstellen, müssen Sie den Authentifizierungstyp angeben. In diesem Beispiel ist eine Alternativmethode angegeben, in der Sie eine ServerConnection-Objektvariable deklarieren, sodass Sie die Verbindungsinformationen wiederverwenden können.

Der im Beispiel dargestellte Visual C# .NET-Code stellt mithilfe der SQL Server-Authentifizierung eine Verbindung zur Remoteinstanz von SQL Server her. Hierbei enthalten die Zeichenfolgenvariablen vLogin und vPassword die Anmeldeinformationen und das Kennwort.

{ 
//Connect to a remote instance of SQL Server. 
Server srv; 
//The strServer string variable contains the name of a remote instance of SQL Server. 
srv = new Server(strServer); 
//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.

Siehe auch

Verweis