Bagikan melalui


Menghubungkan ke Instans SQL Server

Langkah pemrograman pertama dalam aplikasi SQL Server Management Objects (SMO) adalah membuat instans Server objek dan membangun koneksinya ke instans Microsoft SQL Server.

Anda dapat membuat instans Server objek dan membuat koneksi ke instans SQL Server dengan tiga cara. Yang pertama adalah menggunakan ServerConnection variabel objek untuk memberikan informasi koneksi. Yang kedua adalah memberikan informasi koneksi dengan secara eksplisit mengatur Server properti objek. Yang ketiga adalah meneruskan nama instans SQL Server di Server konstruktor objek.

Menggunakan objek ServerConnection

Keuntungan menggunakan ServerConnection variabel objek adalah informasi koneksi dapat digunakan kembali. Mendeklarasikan Server variabel objek. Kemudian, deklarasikan ServerConnection objek dan atur properti dengan informasi koneksi seperti nama instans SQL Server, dan mode autentikasi. Kemudian, teruskan ServerConnection variabel objek sebagai parameter ke Server konstruktor objek. Tidak disarankan untuk berbagi koneksi antara objek server yang berbeda secara bersamaan. Copy Gunakan metode untuk mendapatkan salinan pengaturan koneksi yang ada.

Mengatur properti objek Server secara eksplisit

Atau, Anda dapat mendeklarasikan Server variabel objek dan memanggil konstruktor default. Apa adanya Server , objek mencoba menyambungkan ke instans default SQL Server dengan semua pengaturan koneksi default.

Memberikan nama instans SQL Server di konstruktor objek Server

Deklarasikan Server variabel objek dan berikan nama instans SQL Server sebagai parameter string di konstruktor. Objek Server membuat koneksi dengan instans SQL Server dengan pengaturan koneksi default.

Penyatuan Koneksi

Biasanya tidak diperlukan untuk memanggil Connect metode ServerConnection objek. SMO akan secara otomatis membuat koneksi jika diperlukan, dan melepaskan koneksi ke kumpulan koneksi setelah selesai melakukan operasi. Ketika metode dipanggil Connect , koneksi tidak dirilis ke kumpulan. Panggilan eksplisit ke Disconnect metode diperlukan untuk merilis koneksi ke kumpulan. Selain itu, Anda dapat meminta koneksi yang tidak dikumpulkan dengan mengatur NonPooledConnection properti ServerConnection objek.

Aplikasi Multibenang

Untuk aplikasi multithread, objek terpisah ServerConnection harus digunakan di setiap utas.

Menyambungkan ke Instans SQL Server untuk RMO

Objek Manajemen Replikasi (RMO) menggunakan metode yang sedikit berbeda dari SMO untuk menyambungkan ke server replikasi.

Objek pemrograman RMO mengharuskan koneksi ke instans SQL Server dibuat dengan menggunakan objek yang ServerConnection diimplementasikan oleh Microsoft.SqlServer.Management.Common namespace. Koneksi ke server ini dibuat secara independen dari objek pemrograman RMO. Kemudian diteruskan ke objek RMO baik selama pembuatan instans atau dengan penugasan ke ConnectionContext properti objek. Dengan cara ini, objek pemrograman RMO dan instans objek koneksi dapat dibuat dan dikelola secara terpisah, dan satu objek koneksi dapat digunakan kembali dengan beberapa objek pemrograman RMO. Aturan berikut berlaku untuk koneksi ke server replikasi:

  • Semua properti untuk koneksi ditentukan untuk objek tertentu ServerConnection .

  • Setiap koneksi ke instans SQL Server harus memiliki objeknya sendiri ServerConnection .

  • Semua informasi autentikasi untuk membuat koneksi dan berhasil masuk ke server disediakan dalam ServerConnection objek.

  • Secara default, koneksi dibuat dengan menggunakan Autentikasi Microsoft Windows. Untuk menggunakan Autentikasi SQL Server, LoginSecure harus diatur ke False dan Login dan Password harus diatur ke log masuk dan kata sandi SQL Server yang valid. Kredensial keamanan harus selalu disimpan dan ditangani dengan aman, dan disediakan pada waktu proses jika memungkinkan.

  • Metode Connect harus dipanggil sebelum meneruskan koneksi ke objek pemrograman RMO apa pun.

Contoh

Untuk menggunakan contoh kode apa pun yang disediakan, Anda harus memilih lingkungan pemrograman, templat pemrograman, dan bahasa pemrograman untuk membuat aplikasi Anda. Untuk informasi selengkapnya, lihat "Cara: Membuat Proyek SMO Visual Basic di Visual Studio .NET" atau "Cara: Membuat Proyek Visual C# SMO di Visual Studio .NET" di SQL Server Books Online.

Menyambungkan ke Instans Lokal SQL Server dengan Menggunakan Autentikasi Windows di Visual Basic

Menyambungkan ke instans lokal SQL Server tidak memerlukan banyak kode. Sebaliknya, ini bergantung pada pengaturan default untuk metode autentikasi dan server. Operasi pertama yang mengharuskan data diambil akan menyebabkan koneksi dibuat.

Contoh ini adalah kode Visual Basic .NET yang tersambung ke instans lokal SQL Server dengan menggunakan Autentikasi Windows.

Menyambungkan ke Instans Lokal SQL Server dengan Menggunakan Autentikasi Windows di Visual C#

Menyambungkan ke instans lokal SQL Server tidak memerlukan banyak kode. Sebaliknya, ini bergantung pada pengaturan default untuk metode autentikasi dan server. Operasi pertama yang mengharuskan data diambil akan menyebabkan koneksi dibuat.

Contoh ini adalah kode Visual C# .NET yang tersambung ke instans lokal SQL Server dengan menggunakan Autentikasi Windows.

{   
//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.  

Menyambungkan ke Instans Jarak Jauh SQL Server dengan Menggunakan Autentikasi Windows di Visual Basic

Ketika Anda tersambung ke instans SQL Server dengan menggunakan Autentikasi Windows, Anda tidak perlu menentukan jenis autentikasi. Autentikasi Windows adalah default.

Contoh ini adalah kode Visual Basic .NET yang tersambung ke instans jarak jauh SQL Server dengan menggunakan Autentikasi Windows. Variabel string strServer berisi nama instans jarak jauh.

Menyambungkan ke Instans Jarak Jauh SQL Server dengan Menggunakan Autentikasi Windows di Visual C#

Ketika Anda tersambung ke instans SQL Server dengan menggunakan Autentikasi Windows, Anda tidak perlu menentukan jenis autentikasi. Autentikasi Windows adalah default.

Contoh ini adalah kode .NET Visual C# yang tersambung ke instans jarak jauh SQL Server dengan menggunakan Autentikasi Windows. Variabel string strServer berisi nama instans jarak jauh.

{   
//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.  

Menyambungkan ke Instans SQL Server dengan Menggunakan Autentikasi SQL Server di Visual Basic

Saat Anda tersambung ke instans SQL Server dengan menggunakan Autentikasi SQL Server, Anda harus menentukan jenis autentikasi. Contoh ini menunjukkan metode alternatif untuk mendeklarasikan ServerConnection variabel objek, yang memungkinkan informasi koneksi digunakan kembali.

Contohnya adalah kode Visual Basic .NET yang menunjukkan cara menyambungkan ke remote dan vPassword berisi log masuk dan kata sandi.

' compile with:   
' /r:Microsoft.SqlServer.Smo.dll  
' /r:Microsoft.SqlServer.ConnectionInfo.dll  
' /r:Microsoft.SqlServer.Management.Sdk.Sfc.dll   
  
Imports Microsoft.SqlServer.Management.Smo  
Imports Microsoft.SqlServer.Management.Common  
  
Public Class A  
   Public Shared Sub Main()  
      Dim sqlServerLogin As [String] = "user_id"  
      Dim password As [String] = "pwd"  
      Dim instanceName As [String] = "instance_name"  
      Dim remoteSvrName As [String] = "remote_server_name"  
  
      ' Connecting to an instance of SQL Server using SQL Server Authentication  
      Dim srv1 As New Server()   ' connects to default instance  
      srv1.ConnectionContext.LoginSecure = False   ' set to true for Windows Authentication  
      srv1.ConnectionContext.Login = sqlServerLogin  
      srv1.ConnectionContext.Password = password  
      Console.WriteLine(srv1.Information.Version)   ' connection is established  
  
      ' Connecting to a named instance of SQL Server with SQL Server Authentication using ServerConnection  
      Dim srvConn As New ServerConnection()  
      srvConn.ServerInstance = ".\" & instanceName   ' connects to named instance  
      srvConn.LoginSecure = False   ' set to true for Windows Authentication  
      srvConn.Login = sqlServerLogin  
      srvConn.Password = password  
      Dim srv2 As New Server(srvConn)  
      Console.WriteLine(srv2.Information.Version)   ' connection is established  
  
      ' For remote connection, remote server name / ServerInstance needs to be specified  
      Dim srvConn2 As New ServerConnection(remoteSvrName)  
      srvConn2.LoginSecure = False  
      srvConn2.Login = sqlServerLogin  
      srvConn2.Password = password  
      Dim srv3 As New Server(srvConn2)  
      Console.WriteLine(srv3.Information.Version)   ' connection is established  
   End Sub  
End Class  

Menyambungkan ke Instans SQL Server dengan Menggunakan Autentikasi SQL Server di Visual C#

Saat Anda tersambung ke instans SQL Server dengan menggunakan Autentikasi SQL Server, Anda harus menentukan jenis autentikasi. Contoh ini menunjukkan metode alternatif untuk mendeklarasikan ServerConnection variabel objek, yang memungkinkan informasi koneksi digunakan kembali.

Contohnya adalah kode Visual C# .NET yang menunjukkan cara menyambungkan ke remote dan vPassword berisi log masuk dan kata sandi.

// compile with:   
// /r:Microsoft.SqlServer.Smo.dll  
// /r:Microsoft.SqlServer.ConnectionInfo.dll  
// /r:Microsoft.SqlServer.Management.Sdk.Sfc.dll   
  
using System;  
using Microsoft.SqlServer.Management.Smo;  
using Microsoft.SqlServer.Management.Common;  
  
public class A {  
   public static void Main() {   
      String sqlServerLogin = "user_id";  
      String password = "pwd";  
      String instanceName = "instance_name";  
      String remoteSvrName = "remote_server_name";  
  
      // Connecting to an instance of SQL Server using SQL Server Authentication  
      Server srv1 = new Server();   // connects to default instance  
      srv1.ConnectionContext.LoginSecure = false;   // set to true for Windows Authentication  
      srv1.ConnectionContext.Login = sqlServerLogin;  
      srv1.ConnectionContext.Password = password;  
      Console.WriteLine(srv1.Information.Version);   // connection is established  
  
      // Connecting to a named instance of SQL Server with SQL Server Authentication using ServerConnection  
      ServerConnection srvConn = new ServerConnection();  
      srvConn.ServerInstance = @".\" + instanceName;   // connects to named instance  
      srvConn.LoginSecure = false;   // set to true for Windows Authentication  
      srvConn.Login = sqlServerLogin;  
      srvConn.Password = password;  
      Server srv2 = new Server(srvConn);  
      Console.WriteLine(srv2.Information.Version);   // connection is established  
  
      // For remote connection, remote server name / ServerInstance needs to be specified  
      ServerConnection srvConn2 = new ServerConnection(remoteSvrName);  
      srvConn2.LoginSecure = false;  
      srvConn2.Login = sqlServerLogin;  
      srvConn2.Password = password;  
      Server srv3 = new Server(srvConn2);  
      Console.WriteLine(srv3.Information.Version);   // connection is established  
   }  
}  

Lihat Juga

Server
ServerConnection