Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SQL Server Yönetim Nesneleri (SMO) uygulamasındaki ilk programlama adımı, nesnenin bir örneğini Server oluşturmak ve bir Microsoft SQL Server örneğiyle bağlantısını kurmaktır.
Nesnenin Server bir örneğini oluşturabilir ve SQL Server örneğine üç yolla bağlantı kurabilirsiniz. Birincisi, bağlantı bilgilerini sağlamak için bir ServerConnection nesne değişkeni kullanmaktır. İkincisi, nesne özelliklerini açıkça ayarlayarak bağlantı bilgilerini sağlamaktır Server . Üçüncüsü, nesne oluşturucusunda SQL Server örneğinin Server adını geçirmektir.
ServerConnection nesnesi kullanma
Nesne değişkenini ServerConnection kullanmanın avantajı, bağlantı bilgilerinin yeniden kullanılabilmesidir. Bir Server nesne değişkeni bildirin. Ardından bir ServerConnection nesne bildirin ve SQL Server örneğinin adı ve kimlik doğrulama modu gibi bağlantı bilgileriyle özellikleri ayarlayın. Ardından, nesne değişkenini ServerConnection nesne oluşturucusunun Server parametresi olarak geçirin. Farklı sunucu nesneleri arasındaki bağlantıların aynı anda paylaşılmış olması önerilmez. Copy Mevcut bağlantı ayarlarının bir kopyasını almak için yöntemini kullanın.
Sunucu nesne özelliklerini açıkça ayarlama
Alternatif olarak, nesne değişkenini Server bildirebilir ve varsayılan oluşturucuyu çağırabilirsiniz. Olduğu gibi, Server nesne tüm varsayılan bağlantı ayarlarıyla SQL Server'ın varsayılan örneğine bağlanmaya çalışır.
Sunucu nesne oluşturucusunda SQL Server örneği adını sağlama
Nesne değişkenini Server bildirin ve SQL Server örneği adını oluşturucuda dize parametresi olarak geçirin. nesnesi, Server varsayılan bağlantı ayarlarıyla SQL Server örneğiyle bir bağlantı kurar.
Bağlantı Havuzu Oluşturma
nesnesinin Connect yöntemini çağırmak ServerConnection gereksizdir. İşlemler tamamlandıktan sonra, SMO gerektiğinde otomatik olarak bağlantılar kurar ve bunları bağlantı havuzuna döndürür. yöntemini çağırırsanız Connect , bağlantı havuza bırakılmaz. Bunu başarmak için yöntemini açıkça kullanmanız Disconnect gerekir. Ayrıca, nesnesinin özelliğini NonPooledConnection ayarlayarak ServerConnection biriktirilmemiş bir bağlantı elde edebilirsiniz.
Çoklu İş Parçacıklı Uygulamalar
Çok iş parçacıklı uygulamalar için her iş parçacığında ayrı bir ServerConnection nesnesi kullanılmalıdır.
RMO için SQL Server Örneğine Bağlanma
Çoğaltma Yönetim Nesneleri (RMO), bir çoğaltma sunucusuna bağlanmak için SMO'dan biraz farklı bir yöntem kullanır.
RMO programlama nesneleri, ServerConnection ad alanı tarafından uygulanan nesne kullanılarak SQL Server örneğine bağlantı yapılmasını gerektirir. Sunucuya bu bağlantı, bir RMO programlama nesnesinden bağımsız olarak yapılır. Daha sonra örnek oluşturma sırasında veya nesnenin özelliğine atanarak RMO nesnesine ConnectionContext geçirilir. Bu şekilde, bir RMO programlama nesnesi ve bağlantı nesnesi örnekleri ayrı ayrı oluşturulup yönetilebilir ve tek bir bağlantı nesnesi birden çok RMO programlama nesnesiyle yeniden kullanılabilir. Aşağıdaki kurallar bir çoğaltma sunucusuna bağlantılar için geçerlidir:
Bağlantının tüm özellikleri belirtilen ServerConnection nesne için tanımlanır.
BIR SQL Server örneğine yapılan her bağlantının kendi ServerConnection nesnesi olmalıdır.
Bağlantıyı yapmak ve sunucuda başarıyla oturum açmak için tüm kimlik doğrulama bilgileri nesnesinde ServerConnection sağlanır.
Varsayılan olarak, bağlantılar Microsoft Windows Kimlik Doğrulaması kullanılarak yapılır. SQL Server Kimlik Doğrulamasını LoginSecure kullanmak için False olarak ayarlanmalıdır ve LoginPassword geçerli bir SQL Server oturum açma ve parolası olarak ayarlanmalıdır. Güvenlik kimlik bilgileri her zaman güvenli bir şekilde depolanmalı ve işlenmeli ve mümkün olduğunda çalışma zamanında sağlanmalıdır.
Herhangi Connect bir RMO programlama nesnesine bağlantı geçirilmeden önce yöntemi çağrılmalıdır.
Examples
Sağlanan herhangi bir kod örneğini kullanmak için programlama ortamını, programlama şablonunu ve uygulamanızın oluşturulacağı programlama dilini seçmeniz gerekir. Daha fazla bilgi için bkz. Visual Studio .NET'te Visual C# SMO Projesi Oluşturma.
Visual Basic'te Windows Kimlik Doğrulamasını Kullanarak SQL Server'ın Yerel Örneğine Bağlanma
SQL Server'ın yerel örneğine bağlanmak için çok fazla kod gerekmez. Bunun yerine, kimlik doğrulama yöntemi ve sunucusu için varsayılan ayarları kullanır. Verilerin alınmasını gerektiren ilk işlem bir bağlantı oluşturulmasına neden olur.
Bu örnek, Windows Kimlik Doğrulaması kullanarak SQL Server'ın yerel örneğine bağlanan Visual Basic .NET kodudur.
'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.
Visual C'de Windows Kimlik Doğrulaması Kullanarak SQL Server'ın Yerel Örneğine Bağlanma#
SQL Server'ın yerel örneğine bağlanmak için çok fazla kod gerekmez. Bunun yerine, kimlik doğrulama yöntemi ve sunucusu için varsayılan ayarları kullanır. Verilerin alınmasını gerektiren ilk işlem bir bağlantı oluşturulmasına neden olur.
Bu örnek, Windows Kimlik Doğrulaması kullanarak SQL Server'ın yerel örneğine bağlanan Visual C# .NET kodudur.
{
//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.
Visual Basic'te Windows Kimlik Doğrulamasını Kullanarak SQL Server'ın Uzak Örneğine Bağlanma
Windows Kimlik Doğrulaması kullanarak bir SQL Server örneğine bağlandığınızda, kimlik doğrulama türünü belirtmeniz gerekmez. Windows Kimlik Doğrulaması varsayılandır.
Bu örnek, Windows Kimlik Doğrulaması kullanarak SQL Server'ın uzak örneğine bağlanan Visual Basic .NET kodudur. strServer dize değişkeni uzak örneğin adını içerir.
'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.
Visual C'de Windows Kimlik Doğrulaması Kullanarak SQL Server'ın Uzak Örneğine Bağlanma#
Windows Kimlik Doğrulaması kullanarak bir SQL Server örneğine bağlandığınızda, kimlik doğrulama türünü belirtmeniz gerekmez. Windows Kimlik Doğrulaması varsayılandır.
Bu örnek, Windows Kimlik Doğrulaması kullanarak SQL Server'ın uzak örneğine bağlanan Visual C# .NET kodudur. strServer dize değişkeni uzak örneğin adını içerir.
{
//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.
Visual Basic'te SQL Server Kimlik Doğrulaması Kullanarak SQL Server Örneğine Bağlanma
SQL Server Kimlik Doğrulaması kullanarak bir SQL Server örneğine bağlandığınızda, kimlik doğrulama türünü belirtmeniz gerekir. Bu örnek, bağlantı bilgilerinin yeniden kullanılmasını sağlayan bir ServerConnection nesne değişkeni bildirmenin alternatif yöntemini gösterir.
Örnek, uzak ağa bağlanmayı gösteren Visual Basic .NET kodudur ve vPassword oturum açma ve parolayı içerir.
' 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
Visual C'de SQL Server Kimlik Doğrulaması Kullanarak BIR SQL Server Örneğine Bağlanma#
SQL Server Kimlik Doğrulaması kullanarak bir SQL Server örneğine bağlandığınızda, kimlik doğrulama türünü belirtmeniz gerekir. Bu örnek, bağlantı bilgilerinin yeniden kullanılmasını sağlayan bir ServerConnection nesne değişkeni bildirmenin alternatif yöntemini gösterir.
Örnek, uzak ağa bağlanmayı gösteren Visual C# .NET kodudur ve vPassword oturum açma ve parolayı içerir.
// 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
}
}