Aracılığıyla paylaş


Dağıtılmış sorgu mimarisi

Microsoft SQL Server supports two methods for referencing heterogeneous OLE DB data sources in Transact-SQL statements:

  • Bağlantılı sunucu adları

    sistem saklı yordamları Sp_addlinkedserver ve KullanımıEXEC sp_addlinkedsrvlogin bir ole db veri kaynak için bir sunucu adı vermek için kullanılır.Bağlantılı sunucular bu nesnelerin başvuru yapabilirsiniz Transact-SQL ifadeleri kullanarak değeri aygıtınkiyle tam olarak adları.örnekn, bir bağlantılı sunucu adı, DeptSQLSrvr karşı başka örnek tanımlanan SQL Server, aşağıdaki deyim başvurular bir tablo sunucu üzerindeki:

    SELECT JobTitle, HireDate 
       FROM DeptSQLSrvr.AdventureWorks2008R2.HumanResources.Employee;
    

    Bağlantılı sunucu adı bir SORGUAÇ belirtilebilir deyim bir satır kümesi ole db veri kaynağından açmak için.Bu satır kümesi sonra gibi başvurulan bir tablo , Transact-SQL deyimleri.

  • Ad hoc bağlayıcı adları

    Bir veri yapılmayan başvurular için kaynak, openrowset veya opendatakaynak işlevleri bağlantılı sunucu bağlanmak için gereken bilgileri ile belirtilir.Satır kümesi bir tablo başvurulan de aynı şekilde başvurulabilir Transact-SQL deyimleri:

    SELECT *
    FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
            'c:\MSOffice\Access\Samples\Northwind.mdb';'Admin';'';
            Employees);
    

SQL Server arasında iletişim kurmak için ole db kullanır ilişkisel altyapı ve depolama motoru.ilişkisel altyapı Her sonları Transact-SQL bir dizi satır basit ole db kümeleri temel tablolar depolama motoru tarafından açılan işlemlerini INTO deyimYani ilişkisel altyapı basit ole db satır kümeleri herhangi bir ole db veri kaynak üzerinde de açabilirsiniz.

İlişkisel altyapı, OLE DB katmanı, depolama altyapısı

ilişkisel altyapı Bağlı sunucularındaki satır kümeleri açın, satırlarını alması ve işlemleri yönetmek için ole db uygulama programı arabirim (API) kullanır.

Bir bağlantılı sunucu olarak erişilen her ole db veri kaynak için bir ole db sağlayıcı çalıştıran sunucuda bulunması gereken SQL Server.Dizi Transact-SQL karşı belirli bir ole db veri kullanılabilir işlemleri kaynak özellikleri ole db sağlayıcını. üzerinde bağlıdırDaha fazla bilgi için bkz: Dağıtılmış sorgular için ole db Sağlayıcısı Başvurusu.

For each instance of SQL Server, members of the sysadmin fixed server role can enable or disable the use of ad-hoc connector names for an OLE DB provider using the SQL Server DisallowAdhocAccess property.Anlık erişim etkin olduğunda, herhangi bir kullanıcı oturum açmış olarak örnek , ole db sağlayıcı kullanarak erişilen ağ üzerinde herhangi bir veri kaynak başvuran geçici bağlayıcı adlarını içeren sql ifadelerini çalıştırabilirler.Veri kaynakları, üyeleri erişimi denetleme sysadmin rolü anlık erişim için devreden çıkar ilgili ole db sağlayıcı, böylece kullanıcılar yalnızca yöneticiler tarafından tanımlanan bağlantılı sunucu adları tarafından başvurulan veri kaynakları için sınırlama.Varsayılan olarak, anlık erişim için etkin SQL Server ole db sağlayıcı ve devre dışı diğer tüm ole db sağlayıcıları.

Dağıtılmış sorgular (örneğin, dosyalar, Active Directory vb. gibi ilişkisel olmayan bir veri kaynak) başka bir veri kaynağına erişmek kullanıcılara izin vermek güvenlik bağlamını kullanarak Microsoft altında çalışacağı Windows hesabını SQL Server hizmet olan çalışıyor.SQL ServerWindows oturumu açma için uygun oturum açma kimliğine bürünür; Ancak, bu değil mümkün SQL Server oturumları.Bu potansiyel başka bir veriye erişmek bir dağıtılmış sorgu kullanıcının izin verebilir kaynak değil sahip oldukları izinler, ancak altında çalışacağı hesabın SQL Server hizmetinin çalıştığı izinleri var.Use KullanımıEXEC sp_addlinkedsrvlogin ilgili bağlantılı sunucu erişmek için yetkili özel oturumların tanımlamak için.Bu denetim için özel adlar kullanılamaz, bu nedenle anlık erişim için ole db sağlayıcı etkinleştirme dikkatli olun.

When possible, SQL Server pushes relational operations such as joins, restrictions, projections, sorts, and group by operations to the OLE DB data source.SQL Server does not default to scanning the base table into SQL Server and performing the relational operations itself.SQL Server queries the OLE DB provider to determine the level of SQL grammar it supports, and, based on that information, pushes as many relational operations as possible to the provider.Daha fazla bilgi için bkz: ole db sağlayıcıları için sql Dialect gereksinimleri.

SQL Serverbir ole db sağlayıcı ole db veri kaynak içinde nasıl anahtar değerleri gösteren istatistikler dağıtılır dönmek için bir mekanizma belirtir.Bu SQL Server sorgu en iyi duruma getiricisi verilerini desenini daha iyi analiz kaynak her sql deyim gereksinimlerine karşı. en iyi yürütme planları oluşturmak için sorgu iyileştiricisi yeteneğini artırarakDaha fazla bilgi için bkz: ole db sağlayıcıları için dağıtım istatistikleri gereksinimleri.