sp_addlinkedsrvlogin (Transact-sql)
Oluşturur veya güncelleştirir yerel örneğinde oturum açma arasında bir eşleme SQL Serverve uzak sunucuda güvenlik hesabı.
Transact-SQL Sözdizim Kuralları
Sözdizimi
sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'
[ , [ @useself = ] 'TRUE' | 'FALSE' | NULL ]
[ , [ @locallogin = ] 'locallogin' ]
[ , [ @rmtuser = ] 'rmtuser' ]
[ , [ @rmtpassword = ] 'rmtpassword' ]
Bağımsız değişkenler
[ @rmtsrvname = ] 'rmtsrvname'
Oturum açma eşleme uygulandığı bir bağlantılı sunucu adıdır. rmtsrvnameise sysname, hiçbir varsayılan ile.@useself = 'TRUE' | 'YANLIŞ' | 'NULL'
Bağlanmak belirler rmtsrvnameYerel oturum açma kimliğine bürünme veya açık olarak bir kullanıcı adı ve parola gönderme. Veri türü varchar(8), true varsayılan.true değeri oturumları, bağlanmak için kendi kimlik bilgilerini kullanmasını belirtir rmtsrvname, birlikte rmtuserve rmtpasswordargümanları, gözardı ediliyor. YANLIŞ belirtir, rmtuserve rmtpasswordbağımsız değişkenleri bağlanmak için kullanılan rmtsrvnameiçin belirtilen locallogin. Eğer rmtuserve rmtpasswordkümesi boş, hiçbir oturum açma veya parola bağlantılı sunucuya bağlanmak için kullanılan da.
[ @locallogin = ] 'locallogin'
Yerel sunucuda bir oturum var. localloginise sysname, null varsayılan. Bu girişe bağlanan tüm yerel oturumu uygulanacağını belirtir null rmtsrvname. BOŞ değil ise, locallogin-ebilmek var olmak a SQL Serveroturumu açma veya Windows oturumu açma. Windows oturum açma erişim izni gerekir SQL Serverya da doğrudan ya da bir Windows Grup üyeliği aracılığıyla erişim izni.[ @rmtuser = ] 'rmtuser'
Olduğunu bağlanmak için kullanılan uzaktan oturum açma rmtsrvnamezaman @useselfyanlış. Uzak sunucu örneği olduğunda SQL ServerWindows kimlik doğrulamasını kullanmaz rmtuserolan bir SQL Servergiriş. rmtuserise sysname, null varsayılan.[ @rmtpassword = ] 'rmtpassword'
Parola ile ilişkili olduğu rmtuser. rmtpasswordise sysname, null varsayılan.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Açıklamalar
Ne zaman kullanıcı yerel sunucuya oturum açan ve bağlantılı sunucu bir tabloya erişen bir dağıtılmış sorgu yürütür, yerel sunucu bu tablo erişmek için kullanıcı adına bağlantılı sunucu oturum açmalısınız. Kullanım sp_addlinkedsrvloginYerel sunucu bağlantılı sunucuya oturum açmak için kullandığı oturum açma kimlik bilgilerini belirtmek için.
[!NOT]
Bir bağlantılı sunucu üzerinde tablo kullanırken en iyi sorgu planları oluşturmak için sorgu işlemci veri dağıtım istatistikleri bağlantılı sunucu olması gerekir. Tablo sütunları izinleri sınırlı kullanıcılar tüm yararlı istatistikler elde daha az verimli bir sorgu planı almak ve zayıf performans için yeterli izinleri olmayabilir. Bağlantılı sunucu örneği ise SQL Server, tüm kullanılabilir İstatistikler elde etmek için kullanıcı tablonun sahibi gerekir veya üyesi olmak sysadminsabit sunucu rolü, db_ownersabit veritabanı rolü, ya da db_ddladminbağlantılı sunucu sabit veritabanı rolü.
Tüm yerel sunucu üzerinde oturumları ve bağlantılı sunucu üzerinde uzaktan oturum açma arasında varsayılan eşleme yürüterek otomatik olarak oluşturulan sp_addlinkedserver. Varsayılan eşleme devletlerin SQL ServerYerel oturum açma kullanıcı kimlik bilgilerini oturum açma adına bağlantılı sunucu bağlanırken kullanır. Bunun için yürütme sp_addlinkedsrvloginile @useselfiçin trueiçin bir yerel kullanıcı adı belirtmeden bağlantılı sunucu. Kullanım sp_addlinkedsrvloginsadece varsayılan eşlemeyi değiştirmek için ya da yeni eşleştirmeleri için belirli yerel oturumu eklemek için. Varsayılan eşleme veya diğer bir eşlemeyi silmek için sp_droplinkedsrvlogin.
Kullanmak zorunda kalmadan sp_addlinkedsrvloginönceden belirlenmiş oturum açma eşleme oluşturmak için SQL Serverotomatik olarak aşağıdaki koşullar bulunduğunda bağlantılı sunucuya bağlanmak için Windows güvenlik bilgileri (Windows oturum açma adı ve parola) veren sorguyu kullanıcının kullanabilirsiniz:
Bir kullanıcının bağlı olduğu SQL Serverkullanarak Windows kimlik doğrulaması modu.
Güvenlik hesabı heyet gönderen sunucu ve istemci mevcuttur.
Sağlayıcı, Windows kimlik doğrulaması modu destekler; Örneğin, SQL ServerWindows çalışan.
[!NOT]
Temsilci seçme tek atlama senaryoları için etkinleştirilmesi gerekmez, ancak birden çok atlama senaryoları için gereklidir.
Kimlik doğrulaması yürüterek tanımlanan eşlemeleri kullanarak bağlantılı sunucu tarafından gerçekleştirildikten sonra sp_addlinkedsrvloginYerel örneği üzerinde SQL Server, uzak veritabanında tek tek nesnelerdeki izinleri bağlantılı sunucu tarafından değil yerel sunucu belirlenir.
sp_addlinkedsrvlogingönderen kullanıcı tanımlı bir işlem içinde yürütülemiyor.
İzinler
Sunucu üzerinde HIÇBIR LOGIN alter izni gerektirir.
Örnekler
A.Tüm yerel oturumu kendi kullanıcı kimlik bilgilerini kullanarak bağlantılı sunucuya bağlanma
Aşağıdaki örnek, yerel sunucu için tüm oturumları ile bağlantılı sunucuya bağlanmasını emin olmak için bir eşleme oluşturur Accountskendi kullanıcı kimlik bilgilerini kullanarak.
EXEC sp_addlinkedsrvlogin 'Accounts'
EXEC sp_addlinkedsrvlogin 'Accounts'
Or
EXEC sp_addlinkedsrvlogin 'Accounts', 'true'
EXEC sp_addlinkedsrvlogin 'Accounts', 'true'
[!NOT]
Tek tek oturum açma için oluşturulan açık eşlemeleri varsa, onlar bulunabilecek herhangi bir genel eşlemeleri bağlantılı sunucu için önceliklidir.
B.Farklı kullanıcı kimlik bilgileri kullanarak belirli bir oturum açma bağlantılı sunucuya bağlanma
Aşağıdaki örnek, emin olmak için bir eşleme oluşturur Windows kullanıcı Domain\Maryile bağlantılı sunucuya bağlanan Accountsoturum açma kullanarak MaryPve parola d89q3w4u.
EXEC sp_addlinkedsrvlogin 'Accounts', 'false', 'Domain\Mary', 'MaryP', 'd89q3w4u'
EXEC sp_addlinkedsrvlogin 'Accounts', 'false', 'Domain\Mary', 'MaryP', 'd89q3w4u'
Güvenlik Notu |
---|
Bu örnek, Windows kimlik doğrulaması kullanmaz. Parolaları şifresiz aktarılan. Parolaları veri kaynağı tanımları ve kaydedilen komut dosyalarını görünür diske yedekleme ve günlük dosyaları. Bu tür bağlantı yönetici parolası kullanmak asla. Güvenlik Kılavuzu ortamınıza için ağ yöneticinize başvurun. |
Ayrıca bkz.
Başvuru
Bağlantılı sunucular Kataloğu görünümleri (Transact-sql)
sp_addlinkedserver (Transact-sql)