Bagikan melalui


Menyambungkan ke Instans SQL Server

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

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.

Kumpulan koneksi

Memanggil Connect metode ServerConnection objek tidak perlu. Setelah operasi selesai, SMO secara otomatis membuat koneksi saat diperlukan dan mengembalikannya ke kumpulan koneksi. Jika Anda memanggil Connect metode , koneksi tidak akan dirilis ke kumpulan. Untuk mencapainya, Anda perlu menggunakan Disconnect metode secara eksplisit. Selain itu, Anda dapat memperoleh koneksi yang tidak terisi dengan menyesuaikan NonPooledConnection properti ServerConnection objek.

Aplikasi Multithreaded

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 diterapkan oleh namespace Microsoft.SqlServer.Management.Common . 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 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 Membuat Proyek SMO Visual C# di Visual Studio .NET.

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 menyebabkan koneksi dibuat.

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

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

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

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

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

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

Saat 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 rincian 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 rincian 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