Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
sql database v Microsoft Fabric
Prvním programovacím krokem v aplikaci SMO (SQL Server Management Objects) je vytvoření instance objektu Server a navázání jeho připojení k instanci Microsoft SQL Serveru.
Můžete vytvořit instanci objektu Server a vytvořit připojení k instanci SQL Serveru třemi způsoby. První je použití ServerConnection objektové proměnné k poskytnutí informací o připojení. Druhým je poskytnutí informací o připojení explicitním nastavením vlastností objektu Server . Třetí je předání názvu instance SQL Serveru v konstruktoru objektu Server .
Použití objektu ServerConnection
Výhodou použití proměnné objektu ServerConnection je, že informace o připojení lze znovu použít. Deklarujte proměnnou objektu Server . Potom deklarujte ServerConnection objekt a nastavte vlastnosti s informacemi o připojení, jako je název instance SQL Serveru a režim ověřování. Pak předejte proměnnou objektu ServerConnection jako parametr konstruktoru objektu Server . Nedoporučuje se sdílet připojení mezi různými objekty serveru současně. Copy Pomocí této metody získáte kopii stávajícího nastavení připojení.
Explicitní nastavení vlastností objektu serveru
Alternativně můžete deklarovat proměnnou objektu Server a volat výchozí konstruktor. Jak je tomu tak, Server objekt se pokusí připojit k výchozí instanci SQL Serveru se všemi výchozími nastaveními připojení.
Zadání názvu instance SQL Serveru v konstruktoru objektu serveru
Deklarujte proměnnou objektu Server a předejte název instance SQL Serveru jako řetězcový parametr v konstruktoru. Objekt Server vytvoří připojení k instanci SQL Serveru s výchozím nastavením připojení.
Sdružování připojení
Connect Volání metody objektu ServerConnection je zbytečné. Po dokončení operací služba SMO automaticky vytvoří připojení v případě potřeby a vrátí je do fondu připojení. Pokud zavoláte metodu Connect , připojení se do fondu nevolá. Abyste toho dosáhli, musíte metodu Disconnect použít explicitně. Kromě toho můžete získat neřazení připojení úpravou NonPooledConnection vlastnosti objektu ServerConnection .
Vícevláknové aplikace
Pro vícevláknové aplikace by měl být v každém vlákně použit samostatný objekt ServerConnection.
Připojení k instanci SQL Serveru pro RMO
Objekty správy replikace (RMO) používají mírně odlišnou metodu od SMO pro připojení k serveru replikace.
Programovací objekty RMO vyžadují, aby se připojení k instanci SQL Serveru provádělo pomocí objektu ServerConnection implementovaného oborem názvů Microsoft.SqlServer.Management.Common . Toto připojení k serveru se provádí nezávisle na programovacím objektu RMO. Pak se předá objektu RMO buď během vytváření instance, nebo přiřazením vlastnosti ConnectionContext objektu. Tímto způsobem lze vytvořit programovací objekt RMO a instance objektů připojení a spravovat samostatně a jeden objekt připojení lze opakovaně použít s více programovacími objekty RMO. Pro připojení k serveru replikace platí následující pravidla:
Všechny vlastnosti připojení jsou definovány pro zadaný ServerConnection objekt.
Každé připojení k instanci SQL Serveru musí mít vlastní ServerConnection objekt.
Všechny ověřovací informace pro vytvoření připojení a úspěšné přihlášení k serveru se do objektu ServerConnection zadává.
Ve výchozím nastavení se připojení provádí pomocí ověřování systému Microsoft Windows. Chcete-li použít ověřování SQL Serveru, LoginSecure musí být nastavena na false a LoginPassword musí být nastavena na platné přihlášení a heslo SQL Serveru. Přihlašovací údaje zabezpečení musí být vždy uloženy a zpracovávány bezpečně a kdykoli je to možné.
Před Connect předáním připojení k libovolnému programovacímu objektu RMO musí být volána metoda.
Examples
Pokud chcete použít libovolný zadaný příklad kódu, budete muset zvolit programovací prostředí, programovací šablonu a programovací jazyk, ve kterém chcete aplikaci vytvořit. Další informace najdete v tématu Vytvoření projektu SMO visual C# v sadě Visual Studio .NET.
Připojení k místní instanci SQL Serveru pomocí ověřování systému Windows v jazyce Visual Basic
Připojení k místní instanci SQL Serveru nevyžaduje příliš mnoho kódu. Místo toho spoléhá na výchozí nastavení pro metodu ověřování a server. První operace, která vyžaduje načtení dat, způsobí vytvoření připojení.
Tento příklad je kód .NET jazyka Visual Basic, který se připojuje k místní instanci SQL Serveru pomocí ověřování systému 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.
Připojení k místní instanci SQL Serveru pomocí ověřování systému Windows v jazyce Visual C#
Připojení k místní instanci SQL Serveru nevyžaduje příliš mnoho kódu. Místo toho spoléhá na výchozí nastavení pro metodu ověřování a server. První operace, která vyžaduje načtení dat, způsobí vytvoření připojení.
Tento příklad je kód .NET v jazyce Visual C#, který se připojuje k místní instanci SQL Serveru pomocí ověřování systému 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.
Připojení ke vzdálené instanci SQL Serveru pomocí ověřování systému Windows v jazyce Visual Basic
Když se připojíte k instanci SQL Serveru pomocí ověřování systému Windows, nemusíte zadávat typ ověřování. Ověřování systému Windows je výchozí.
Tento příklad je kód .NET jazyka Visual Basic, který se připojuje ke vzdálené instanci SQL Serveru pomocí ověřování systému Windows. Řetězcová proměnná strServer obsahuje název vzdálené instance.
'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.
Připojení ke vzdálené instanci SQL Serveru pomocí ověřování systému Windows v jazyce Visual C#
Když se připojíte k instanci SQL Serveru pomocí ověřování systému Windows, nemusíte zadávat typ ověřování. Ověřování systému Windows je výchozí.
Tento příklad je kód .NET v jazyce Visual C#, který se připojuje ke vzdálené instanci SQL Serveru pomocí ověřování systému Windows. Řetězcová proměnná strServer obsahuje název vzdálené instance.
{
//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.
Připojení k instanci SQL Serveru pomocí ověřování SQL Serveru v jazyce Visual Basic
Když se připojíte k instanci SQL Serveru pomocí ověřování SQL Serveru, musíte zadat typ ověřování. Tento příklad ukazuje alternativní metodu deklarování proměnné objektu ServerConnection , která umožňuje opakované použití informací o připojení.
Příkladem je kód .NET jazyka Visual Basic, který ukazuje, jak se připojit ke vzdálenému souboru a souboru vPassword obsahují přihlašovací údaje a heslo.
' 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
Připojení k instanci SQL Serveru pomocí ověřování SQL Serveru v jazyce Visual C#
Když se připojíte k instanci SQL Serveru pomocí ověřování SQL Serveru, musíte zadat typ ověřování. Tento příklad ukazuje alternativní metodu deklarování proměnné objektu ServerConnection , která umožňuje opakované použití informací o připojení.
Příkladem je kód .NET v jazyce Visual C#, který ukazuje, jak se připojit ke vzdálenému souboru a souboru vPassword obsahují přihlašovací údaje a heslo.
// 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
}
}