Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL-adatbázis a Microsoft Fabricben
Az SQL Server Management Objects (SMO) alkalmazás első programozási lépése az Server objektum egy példányának létrehozása és a Microsoft SQL Server egy példányához való kapcsolódása.
Az objektum egy példányát Server három módon hozhatja létre, és létesíthet kapcsolatot az SQL Server példányával. Az első egy ServerConnection objektumváltozó használata a kapcsolati adatok megadásához. A második a kapcsolati adatok megadása az Server objektumtulajdonságok explicit beállításával. A harmadik az SQL Server-példány nevének átadása az Server objektumkonstruktorban.
ServerConnection-objektum használata
Az objektumváltozó használatának ServerConnection előnye, hogy a kapcsolati információk újra felhasználhatók. Objektumváltozó Server deklarálása. Ezután deklaráljon egy ServerConnection objektumot, és állítson be tulajdonságokat kapcsolati adatokkal, például az SQL Server-példány nevével és a hitelesítési móddal. Ezután adja át az ServerConnection objektumváltozót paraméterként az Server objektumkonstruktornak. Nem ajánlott egyszerre megosztani a kapcsolatokat a különböző kiszolgálóobjektumok között. Ezzel a Copy módszerrel lekérheti a meglévő kapcsolati beállítások másolatát.
Kiszolgálóobjektum tulajdonságainak explicit beállítása
Másik lehetőségként deklarálhatja az Server objektumváltozót, és meghívhatja az alapértelmezett konstruktort. Az objektum az Server összes alapértelmezett kapcsolati beállítással próbál csatlakozni az SQL Server alapértelmezett példányához.
Az SQL Server-példány nevének megadása a Kiszolgáló objektumkonstruktorban
Deklarálja az Server objektumváltozót, és adja meg az SQL Server-példány nevét sztringparaméterként a konstruktorban. Az Server objektum kapcsolatot létesít az SQL Server-példánysal az alapértelmezett kapcsolati beállításokkal.
Kapcsolatkészletezés
Connect Az objektum metódusának ServerConnection meghívása szükségtelen. A műveletek befejezése után az SMO szükség esetén automatikusan létrehozza a kapcsolatokat, és visszaküldi őket a kapcsolatkészletbe. Ha meghívja a metódust Connect , a kapcsolat nem lesz felszabadítva a készletben. Ennek eléréséhez explicit módon kell használnia a Disconnect módszert. Emellett az objektum tulajdonságának NonPooledConnection módosításával ServerConnection nem várólistás kapcsolatot is beszerezhet.
Többszálú alkalmazások
Többszálas alkalmazások esetén minden szálban külön ServerConnection objektumot kell használni.
Csatlakozás az RMO-hoz készült SQL Server-példányhoz
A replikációkezelési objektumok (RMO) az SMO-tól kissé eltérő módszert használnak a replikációs kiszolgálóhoz való csatlakozáshoz.
Az RMO-programozási objektumok megkövetelik, hogy az SQL Server egy példányához a ServerConnection névtér által implementált objektum használatával kell kapcsolatot létesíteni. A kiszolgálóval való kapcsolat RMO programozási objektumtól függetlenül jön létre. Ezt követően a rendszer a példány létrehozásakor vagy az objektum tulajdonságához való hozzárendeléssel továbbítja az ConnectionContext RMO-objektumnak. Ily módon egy RMO programozási objektum és a kapcsolatobjektum-példányok külön hozhatók létre és kezelhetők, és egyetlen kapcsolatobjektum több RMO programozási objektummal is újra felhasználható. A replikációs kiszolgálóval létesített kapcsolatokra a következő szabályok vonatkoznak:
A kapcsolat összes tulajdonsága egy adott ServerConnection objektumhoz van definiálva.
Az SQL Server egy példányához való minden kapcsolatnak saját ServerConnection objektummal kell rendelkeznie.
Az objektum tartalmazza ServerConnection a kapcsolat létrehozásához és a kiszolgálóba való sikeres bejelentkezéshez szükséges összes hitelesítési információt.
Alapértelmezés szerint a kapcsolatok Microsoft Windows-hitelesítéssel jönnek létre. Az SQL Server-hitelesítés használatához hamis értékre kell állítani, LoginSecure és LoginPassword érvényes SQL Server-bejelentkezésre és jelszóra kell állítani. A biztonsági hitelesítő adatokat mindig biztonságosan kell tárolni és kezelni, és futásidőben kell megadni, amikor csak lehetséges.
A Connect metódust meg kell hívni, mielőtt bármilyen RMO-programozási objektumhoz továbbítanák a kapcsolatot.
Examples
A megadott kód példájának használatához ki kell választania a programozási környezetet, a programozási sablont és azt a programozási nyelvet, amelyben létre szeretné hozni az alkalmazást. További információ: Visual C# SMO-projekt létrehozása a Visual Studio .NET-.
Csatlakozás az SQL Server helyi példányához Windows-hitelesítés használatával a Visual Basicben
Az SQL Server helyi példányához való csatlakozáshoz nincs szükség sok kódra. Ehelyett a hitelesítési módszer és a kiszolgáló alapértelmezett beállításaira támaszkodik. Az adatok lekérését igénylő első művelet miatt létrejön egy kapcsolat.
Ez a példa Visual Basic .NET-kód, amely Windows-hitelesítéssel csatlakozik az SQL Server helyi példányához.
'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.
Csatlakozás az SQL Server helyi példányához Windows-hitelesítés használatával a Visual C-ben#
Az SQL Server helyi példányához való csatlakozáshoz nincs szükség sok kódra. Ehelyett a hitelesítési módszer és a kiszolgáló alapértelmezett beállításaira támaszkodik. Az adatok lekérését igénylő első művelet miatt létrejön egy kapcsolat.
Ez a példa a Visual C# .NET-kód, amely Windows-hitelesítéssel csatlakozik az SQL Server helyi példányához.
{
//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.
Csatlakozás az SQL Server távoli példányához Windows-hitelesítés használatával a Visual Basicben
Ha Windows-hitelesítéssel csatlakozik egy SQL Server-példányhoz, nem kell megadnia a hitelesítési típust. A Windows-hitelesítés az alapértelmezett.
Ez a példa Visual Basic .NET-kód, amely Windows-hitelesítéssel csatlakozik az SQL Server távoli példányához. Az strServer sztringváltozó tartalmazza a távoli példány nevét.
'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.
Csatlakozás távoli SQL Server-példányhoz Windows-hitelesítéssel a Visual C-ben#
Ha Windows-hitelesítéssel csatlakozik egy SQL Server-példányhoz, nem kell megadnia a hitelesítési típust. A Windows-hitelesítés az alapértelmezett.
Ez a példa Visual C# .NET-kód, amely Windows-hitelesítéssel csatlakozik az SQL Server távoli példányához. Az strServer sztringváltozó tartalmazza a távoli példány nevét.
{
//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.
Csatlakozás SQL Server-példányhoz SQL Server-hitelesítéssel a Visual Basicben
Ha SQL Server-hitelesítéssel csatlakozik egy SQL Server-példányhoz, meg kell adnia a hitelesítési típust. Ez a példa egy objektumváltozó deklarálásának ServerConnection alternatív módszerét mutatja be, amely lehetővé teszi a kapcsolati adatok újrafelhasználását.
Ilyen például a Visual Basic .NET-kód, amely bemutatja, hogyan csatlakozhat a távolihoz, és a vPassword tartalmazza a bejelentkezést és a jelszót.
' 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
Csatlakozás SQL Server-példányhoz SQL Server-hitelesítéssel a Visual C-ben#
Ha SQL Server-hitelesítéssel csatlakozik egy SQL Server-példányhoz, meg kell adnia a hitelesítési típust. Ez a példa egy objektumváltozó deklarálásának ServerConnection alternatív módszerét mutatja be, amely lehetővé teszi a kapcsolati adatok újrafelhasználását.
Ilyen például a Visual C# .NET-kód, amely bemutatja, hogyan csatlakozhat a távolihoz, és a vPassword tartalmazza a bejelentkezést és a jelszót.
// 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
}
}