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.
Şunlar için geçerlidir:SQL Server
Azure SQL Yönetilen Örneği
Bu makalede, SQL Server Management Studio (SSMS) veya Transact-SQL kullanarak başka bir SQL Server, Azure SQL yönetilen örneği veya başka bir veri kaynağından bağlantılı sunucu oluşturma ve verilere erişme adımları gösterilmektedir. Bağlı sunucular, SQL Server veritabanı altyapısının ve Azure SQL Yönetilen Örneğinin uzak veri kaynaklarından verileri okumasını ve SQL Server örneği dışında uzak veritabanı sunucularında (örneğin OLE DB veri kaynakları) komut yürütmesini sağlar.
Arka plan
Bağlı sunucular genellikle veritabanı altyapısının başka bir SQL Server örneğindeki tabloları veya Oracle gibi başka bir veritabanı ürününü içeren bir Transact-SQL deyimi yürütmesini sağlayacak şekilde yapılandırılır. Üçüncü taraf veritabanı sağlayıcıları ve Azure Cosmos DB dahil olmak üzere birçok veri kaynağı türü bağlı sunucu olarak yapılandırılabilir.
Bağlı bir sunucu oluşturulduktan sonra, bu sunucuda dağıtılmış sorgular çalıştırılabilir ve sorgular birden fazla veri kaynağından tabloları birleştirebilir. Bağlı sunucu bir SQL Server örneği veya Azure SQL Yönetilen Örneği olarak tanımlanmışsa, uzak saklı yordamlar yürütülebilir.
Bağlı sunucunun özellikleri ve gerekli bağımsız değişkenleri önemli ölçüde farklılık gösterebilir. Bu makaledeki örnekler tipik bir örnek sağlar ancak tüm seçenekler açıklanmamıştır. Daha fazla bilgi için bkz. sp_addlinkedserver.
İzinler
Transact-SQL komutlarını kullanırken, sunucuda ALTER ANY LINKED SERVER izni veya setupadmin sabit sunucu rolü üyeliği gerekir. Management Studio kullanırken CONTROL SERVER sabit sunucu rolünde izin veya üyelik gerekir.
SSMS ile bağlantılı sunucu oluşturma
Aşağıdaki yordamı kullanarak SSMS ile bağlı bir sunucu oluşturun:
Yeni Bağlı Sunucu iletişim kutusunu açma
SQL Server Management Studio'da (SSMS):
- Nesne Gezgini'ne gidin.
- Sunucu Nesnelerigenişletin.
- Bağlantılı Sunucular 'a sağ tıklayın.
- Yeni Bağlı Sunucu seçin.
Bağlı sunucu özellikleri için Genel sayfasını düzenleyin
Genel sayfasındaki Bağlı sunucu kutusuna, bağlandığınız SQL Server örneğinin adını yazın.
Not
SQL Server örneği varsayılan örnekse, SQL Serverörneğini barındıran bilgisayarın adını girin. SQL Server adlandırılmış bir örnekse, bilgisayarın adını ve örneğin adını girin( örneğin Accounting\SQLExpressgibi).
gerekirse Sunucu türü ve ilgili bilgileri belirtin:
SQL Server
Bağlı sunucuyu Microsoft SQL Server veya Azure SQL Yönetilen Örneği örneği olarak tanımlayın. Bağlantılı sunucu tanımlamak için bu yöntemi kullanırsanız, Bağlı sunucu belirtilen ad sunucunun ağ adı olmalıdır. Ayrıca, sunucudan alınan tüm tablolar, bağlı sunucuda oturum açma için tanımlanan varsayılan veritabanından alınır.
Diğer veri kaynağı
SQL Server dışında bir OLE DB sunucu türü belirtin. Seçenekleri etkinleştirmek için bu seçeneği belirleyin.
Sağlayıcı
Liste kutusundan bir OLE DB veri kaynağı seçin. OLE DB sağlayıcısı kayıt defterinde verilen PROGID ile kaydedilir.
Ürün adı
Bağlı sunucu olarak eklenecek OLE DB veri kaynağının ürün adını yazın.
Veri kaynağı
OLE DB sağlayıcısı tarafından yorumlanan veri kaynağının adını yazın. SQL Server örneğine bağlanıyorsanız örnek adını belirtin.
Sağlayıcı dizesi
Veri kaynağına karşılık gelen OLE DB sağlayıcısının benzersiz programlı tanımlayıcısını (PROGID) yazın. Geçerli sağlayıcı dizelerinin örnekleri için bkz. sp_addlinkedserver.
Konum
VERITABANıNın konumunu OLE DB sağlayıcısı tarafından yorumlandığı şekilde yazın.
Katalog
OLE DB sağlayıcısıyla bağlantı kurarken kullanılacak kataloğun adını yazın.
Bağlı sunucu özellikleri için Güvenlik sayfasını düzenleme
Güvenlik sayfasında, özgün örnek bağlı sunucuya bağlandığında kullanılan güvenlik bağlamını belirtin. Burada yapılandırılacak, tek başına veya birleştirilebilen iki strateji vardır. Birincisi yerel sunucudan uzak sunucuya oturum açma bilgilerini eşlemek, ikincisi ise bağlı sunucunun eşlenmeyen oturum açma bilgilerini nasıl ele alması gerektiğidir.
Oturum açma eşlemeleri ekleme
İsteğe bağlı olarak, belirli yerel sunucu oturum açma bilgilerinin bağlı sunucuyu kullanarak nasıl kimlik doğrulaması yapılacağını belirtebilirsiniz.
Yerel sunucu oturum açma işlemlerini uzak sunucu oturum açma işlemleriyle eşleştirmealtında, eşlemek istediğiniz her oturum açma için aşağıdaki işlemi tekrarlayın.
Ekle'ı seçin.
Yerel bir oturum açma belirtin.
Bağlı sunucuya bağlanabilecek yerel oturum açma bilgilerini belirtin. Yerel oturum açma, SQL Server kimlik doğrulaması kullanılarak oturum açma veya Windows kimlik doğrulaması oturum açma işlemi olabilir. Windows grubu veya kapsanan veritabanı kullanıcısı kullanılması desteklenmez. Bağlantıyı belirli oturum açma bilgileriyle kısıtlamak veya bazı oturum açma işlemlerinin farklı oturum açma bilgileri olarak bağlanmasına izin vermek için bu listeyi kullanın.
Not
Uzak SQL Server örneğinde Windows kimlik doğrulaması kullanan bağlı sunucularla ilgili yaygın sorunlar, hizmet sorumlusu adlarıyla (SPN) ilgili sorunlardan kaynaklanır. Daha fazla bilgi için bkz. İstemci Bağlantıları'nda hizmet asıl adı (SPN) desteği. SQL Server için Microsoft Kerberos Configuration Manager, SQL Server ile ilgili Kerberos ile ilgili bağlantı sorunlarını gidermeye yardımcı olan bir tanılama aracıdır. Daha fazla bilgi için bkz. SQL Server için Microsoft Kerberos Configuration Manager.
seçin Kimliğine Bürün (isteğe bağlı).
Yerel oturum açma bilgilerindeki kullanıcı adını ve parolayı bağlı sunucuya geçirin. SQL Server kimlik doğrulaması için, uzak sunucuda tam olarak aynı ada ve parolaya sahip bir oturum açma bilgisi bulunmalıdır. Windows oturum açma işlemleri için oturum açma, bağlı sunucuda geçerli bir oturum açma bilgisi olmalıdır.
Kimliğe bürünme özelliğini kullanmak için yapılandırmanın temsilci seçme gereksinimini karşılaması gerekir.
Kimliğe bürünme kullanmıyorsanız Uzak Kullanıcı belirtin.
Yerel oturum açmasırasında tanımlanan kullanıcıyı eşleştirmek için uzak kullanıcıyı kullanın. Uzak Kullanıcı uzak sunucuda bir SQL Server kimlik doğrulama giriş bilgisi olmalıdır.
Kimliğe bürünme kullanmıyorsanız Uzaktan Parola belirtin.
Uzak Kullanıcının parolasını belirtin.
İsterseniz mevcut yerel oturum açma bilgilerini kaldırmak için Kaldır'ı seçin.
Eşleme listesinde bulunmayan oturum açma işlemleri için varsayılan güvenlik bağlamını belirtin
Kullanıcıların etki alanı oturum açma bilgilerini kullanarak bağlandığı bir etki alanı ortamında, oturum açmanın mevcut güvenlik bağlamı kullanılarak yapılması genellikle en iyi seçenektir. Kullanıcılar özgün SQL ServerSQL Server oturum açarak bağlandığında, en iyi seçenek genellikle bu güvenlik bağlamını kullanarak ve ardından bağlı sunucuda kimlik doğrulaması için gerekli kimlik bilgilerini sağlayarak seçmektir.
Aşağıdaki seçeneklerden birini belirleyin:
Yapılmaz
Listede tanımlanmayan oturum açma işlemleri için bağlantı yapılmaz.
Güvenlik bağlamı kullanılmadan yapılır
Bağlantı, listede tanımlanmayan oturum açma işlemleri için güvenlik bağlamı kullanılmadan yapılır.
Oturum açma bilgilerinin geçerli güvenlik bağlamı kullanılarak yapılması
Listede tanımlanmayan oturum açma işlemleri için oturum açma bilgilerinin geçerli güvenlik bağlamı kullanılarak bağlantı oluşturulur. Windows Kimlik Doğrulaması kullanarak yerel sunucuya bağlıysanız, uzak sunucuya bağlanmak için Windows kimlik bilgileriniz kullanılır. SQL Server Kimlik Doğrulaması kullanılarak yerel sunucuya bağlanıldıysa, uzak sunucuya bağlanmak için oturum açma adınız ve parolanız kullanılır. Bu durumda, uzak sunucuda tam olarak aynı ada ve parolaya sahip bir oturum açma bilgisi bulunmalıdır.
Bu güvenlik bağlamı kullanılarak yapılır
Listede tanımlanmayan oturum açma işlemleri için Uzaktan oturum açma ve Parola ile kutularında belirtilen oturum açma bilgileri ve parola kullanılarak bağlantı oluşturulur. Uzaktaki oturum açma, uzak sunucuda bir SQL Server Kimlik Doğrulama oturum açması olmalıdır.
Dikkat
Bağlı sunucu seçeneğiyle yapılandırıldıysa Bu güvenlik bağlamıkullanılarak yapılır örnekteki herhangi bir kullanıcısı bu bağlamı kullanarak uzak bağlı sunucuya erişebilir. Bu, uygunsuz kullanım veya kötü amaçlı iç erişim için istenmeyen potansiyele sahip olabilir. Bağlantılı sunucuya sağlanan SQL kimliği doğrulanmış Uzak oturum açma, en az ayrıcalık ilkesi sağlamak ve saldırı yüzeyini azaltmak için uzak sunucuda gerekli en düşük izinler verilmelidir.
Bağlı sunucu özelliklerinde Sunucu Seçenekleri sayfasını düzenleme (isteğe bağlı)
Sunucu seçeneklerini görüntülemek veya belirtmek için Sunucu Seçenekleri sayfasını seçin. Aşağıdaki seçeneklerden herhangi birini düzenleyebilirsiniz:
Harmanlama Uyumlu
Bağlı sunucularda Dağıtılmış Sorgu yürütmeyi etkiler. Bu seçenek true olarak ayarlanırsa, SQL Server bağlı sunucudaki tüm karakterlerin karakter kümesi ve harmanlama dizisi (veya sıralama düzeni) ile ilgili olarak yerel sunucuyla uyumlu olduğunu varsayar. Bu, SQL Server'ın karakter sütunlarında karşılaştırmaları sağlayıcıya göndermesini sağlar. Bu seçenek ayarlı değilse, SQL Server her zaman karakter sütunlarıyla ilgili karşılaştırmaları yerel olarak değerlendirir.
Bu seçenek yalnızca bağlı sunucuya karşılık gelen veri kaynağının yerel sunucuyla aynı karakter kümesine ve sıralama düzenine sahip olduğundan eminse ayarlanmalıdır.
Veri Erişimi
Dağıtılmış sorgu erişimi için bağlı sunucuyu etkinleştirir ve devre dışı bırakır.
RPC
Belirtilen sunucudan uzak yordam çağrılarını (RPC) etkinleştirir.
RPC Out
Belirtilen sunucuya RPC'yi etkinleştirir.
Uzak Harmanlama Kullanma
Uzak bir sütunun veya yerel sunucunun harmanlamasının kullanılıp kullanılmayacağını belirler.
True ise, uzak sütunların harmanlaması SQL Server veri kaynakları için kullanılır ve harmanlama adında belirtilen harmanlama SQL Server olmayan veri kaynakları için kullanılır.
Eğer False ise, dağıtılmış sorgular her zaman yerel sunucunun varsayılan harmanlamasını kullanır ve harmanlama adı ile uzak sütunların harmanlaması dikkate alınmaz. Varsayılan değer false'tur.
harmanlama adı
Uzak harmanlama kullanılıyorsa ve veri kaynağı bir SQL Server veri kaynağı değilse, uzak veri kaynağı tarafından kullanılan harmanlamanın adını belirtir. Ad, SQL Server tarafından desteklenen harmanlamalardan biri olmalıdır.
SQL Server dışında bir OLE DB veri kaynağına erişirken ancak harmanlaması SQL Server harmanlamalarından biriyle eşleşen bir OLE DB veri kaynağına erişirken bu seçeneği kullanın.
Bağlantılı sunucu, bu sunucudaki tüm sütunlar için kullanılacak tek bir harmanlamayı desteklemelidir. Bağlı sunucu tek bir veri kaynağı içinde birden çok harmanlamayı destekliyorsa veya bağlantılı sunucunun harmanlaması SQL Server harmanlamalarından biriyle eşleşecek şekilde belirlenemiyorsa bu seçeneği ayarlamayın.
Bağlantı Zaman Aşımı
Bağlı sunucuya bağlanmak için saniye olarak zaman aşımı değeri.
Sorgu Zaman Aşımı
Bağlantılı sunucuya yönelik sorgular için saniye olarak zaman aşımı değeri.
Dağıtılmış İşlemlerin Tanıtımını Etkinleştir
Bir Microsoft Dağıtılmış İşlem Düzenleyicisi (MS DTC) işlemi aracılığıyla sunucudan sunucuya yordamının eylemlerini korumak için bu seçeneği kullanın. Bu seçenek TRUE olduğunda, uzak saklı yordamı çağırmak dağıtılmış bir işlem başlatır ve işlemi MS DTC ile listeler. Daha fazla bilgi için bkz. sp_serveroption.
Bağlı sunucuyu kaydetme
Tamamseçin.
SSMS'de bağlı sunucu sağlayıcısı seçeneklerini görüntüleme veya düzenleme
Tüm sağlayıcılar aynı seçeneklere sahip değildir. Örneğin, bazı veri türlerinin dizinleri vardır ve bazılarında olmayabilir. SQL Server'ın sağlayıcının özelliklerini anlamasına yardımcı olması için bu iletişim kutusunu kullanın. SQL Server bazı yaygın veri sağlayıcılarını yükler, ancak verileri sağlayan ürün değiştiğinde SQL Server tarafından yüklenen sağlayıcı en yeni özelliklerin tümünü desteklemeyebilir. Verileri sağlayan ürünün özellikleri hakkında en iyi bilgi kaynağı, söz konusu ürünün belgeleridir.
SSMS'de bağlı sunucu Sağlayıcılar Seçenekleri sayfasını açmak için:
- Nesne Gezgini'ne gidin.
- Sunucu Nesnelerigenişletin.
- bağlı sunucuları genişletin.
- Sağlayıcıları genişletin.
- Bir sağlayıcıya sağ tıklayın ve Özellikleröğesini seçin.
Sağlayıcı seçenekleri aşağıdaki gibi tanımlanır:
dinamik parametre
Parametreleştirilmiş sorgular için sağlayıcının
?parametre işareti söz dizimini desteklediğini gösterir. Bu seçeneği yalnızca sağlayıcı ICommandWithParameters arabirimini destekliyorsa ve parametre işaretçisi olarak bir?destekliyorsa ayarlayın. Bu seçeneğin ayarlanması, SQL Server'ın sağlayıcıya karşı parametreli sorgular yürütmesine olanak tanır. Sağlayıcıya karşı parametreli sorgular yürütebilme özelliği, belirli sorgular için daha iyi performansa neden olabilir.İç içe sorguları
Sağlayıcının yan tümcesinde iç içe
SELECTdeyimlere izin verdiği gösterirFROM. Bu seçeneğin ayarlanması, SQL Server'ın yan tümcesinde iç içeSELECTdeyimleri gerektiren belirli sorguları sağlayıcıya devretmesineFROMolanak tanır.Sadece sıfır düzeyinde
Sağlayıcıya karşı yalnızca düzey 0 OLE DB arabirimleri çağrılır.
İşlemeye izin ver
SQL Server, sağlayıcının işlem içi sunucu olarak örneğini oluşturmasına olanak tanır. Bu seçenek ayarlı olmadığında, varsayılan davranış sağlayıcıyı SQL Server işleminin dışında örneklemektir. Sağlayıcının SQL Server işleminin dışında örnek oluşturma, SQL Server işlemini sağlayıcıdaki hatalardan korur. Sağlayıcı SQL Server işleminin dışında örneklendiğinde, uzun sütunlara (metin, ntextveya resim) başvuran güncelleştirmelere veya eklemelere izin verilmez.
İşlemi gerçekleştirilmeyen güncellemeler
ITransactionLocal kullanılamasa bile SQL Server güncelleştirmelere izin verir. Bu seçenek etkinleştirilirse sağlayıcı işlemleri desteklemediğinden sağlayıcıya yönelik güncelleştirmeler kurtarılamaz.
Dizin'i erişim yolu olarak
SQL Server, verileri getirmek için sağlayıcının dizinlerini kullanmayı dener. Varsayılan olarak, dizinler yalnızca meta veriler için kullanılır ve hiçbir zaman açılmaz
Geçici erişime izin verme
SQL Server, OLE DB sağlayıcısına karşı OPENROWSET ve OPENDATASOURCE işlevleri aracılığıyla geçici erişime izin vermez. Bu seçenek ayarlanmamışsa, SQL Server geçici erişime de izin vermez.
'Like' işlecini destekler
Sağlayıcının anahtar sözcüğü kullanarak sorguları desteklediğini
LIKEgösterir.
Transact-SQL ile bağlantılı sunucu oluşturma
Transact-SQL kullanarak bağlantılı sunucu oluşturmak için sp_addlinkedserver, CREATE LOGIN ve sp_addlinkedsrvlogin deyimlerini kullanın.
Bu örnek, Transact-SQL kullanarak sql server'ın başka bir örneğine bağlı bir sunucu oluşturur:
Sorgu Düzenleyicisi'nde,
SRVR002\ACCTGadlı bir SQL Server örneğine bağlanmak için aşağıdaki Transact-SQL komutunu girin:USE [master]; GO EXECUTE master.dbo.sp_addlinkedserver @server = N'SRVR002\ACCTG', @srvproduct = N'SQL Server'; GOBağlı sunucuyu, bağlı sunucuyu kullanan oturum açma bilgilerinin etki alanı kimlik bilgilerini kullanacak şekilde yapılandırmak için aşağıdaki kodu yürütebilirsiniz.
EXECUTE master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'SRVR002\ACCTG', @locallogin = NULL, @useself = N'True'; GO
İzleme: Bağlı sunucu oluşturduktan sonra izleyebileceğiniz adımlar
Aşağıdaki adımlar bağlı sunucuyu doğrulamanıza yardımcı olur.
Bağlı sunucuyu test edin
Bağlı sunucunun kimlik doğrulamasını geçerli güvenlik bağlamınızda test etmek için aşağıdaki iki yaklaşımdan birini göz önünde bulundurun.
SSMS'de bağlı bir sunucuya bağlanma özelliğini test etmek için Nesne Gezgini'nde bağlı sunucuya gidin, bağlı sunucuya sağ tıklayın ve bağlantıyı test et'i seçin.
T-SQL'de bağlı bir sunucuya bağlanma yeteneğini test etmek için, örneğin temel veritabanı kataloğu bilgilerini almak amacıyla, basit bir
SELECTifadesi yürütebilirsiniz. Bu örnek, bağlı sunucudaki veritabanlarının adlarını döndürür.SELECT name FROM [SRVR002\ACCTG].master.sys.databases; GO
Bağlı sunucudan tabloları birleştirme
Bağlı sunucudaki bir nesneye başvurmak için dört parçalı adlar kullanın. Yerel sunucudaki tüm oturum açma işlemlerinin listesini ve bağlantılı sunucuda eşleşen oturum açma bilgilerini döndürmek için aşağıdaki kodu yürütebilirsiniz.
SELECT local.name AS LocalLogins,
linked.name AS LinkedLogins
FROM master.sys.server_principals AS local
LEFT OUTER JOIN [SRVR002\ACCTG].master.sys.server_principals AS linked
ON local.name = linked.name;
GO
Bağlı sunucu oturum açma işlemi için NULL döndürülürse, oturum açmanın bağlı sunucuda mevcut olmadığını gösterir. Bu oturumlar, bağlı sunucu farklı bir güvenlik bağlamına geçiş yapacak biçimde yapılandırılmadığı takdirde veya bağlı sunucu anonim bağlantıları kabul etmediği takdirde bağlı sunucuyu kullanamaz.
Azure SQL Yönetilen Örneği ile ilişkili sunucular
Azure SQL Yönetilen Örneği kullanıyorsanız sp_addlinkedserver aşağıdaki örneklere bakın: