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:Azure SQL Veritabanı
Tek bir uzak Azure SQL Veritabanı veya yatay bölümleme düzeninde parça olarak hizmet veren veritabanları kümesinde bir Transact-SQL (T-SQL) deyimi yürütür.
Saklı yordam, elastik sorgu özelliğinin bir parçasıdır. Bkz. Azure SQL Veritabanı elastik sorguya genel bakış (önizleme) ve Ölçeği genişletilmiş bulut veritabanlarında raporlama (önizleme).
Transact-SQL söz dizimi kuralları
Sözdizimi
sp_execute_remote
[ @data_source_name = ] data_source_name
, [ @stmt = ] stmt
[
{ , [ @params = ] N'@parameter_name data_type [ , ...n ]' }
{ , [ @param1 = ] 'value1' [ , ...n ] }
]
[ ; ]
Arguments
[ @data_source_name = ] data_source_name
deyiminin yürütüldüğü dış veri kaynağını tanımlar. Bkz. DıŞ VERI KAYNAĞı OLUŞTURMA. Dış veri kaynağı veya SHARD_MAP_MANAGERtüründe RDBMS olabilir.
[ @stmt = ] stmt
Transact-SQL deyimi veya toplu işlemi içeren bir Unicode dizesi.
@stmt bir Unicode sabiti veya Unicode değişkeni olmalıdır. İki dizeyi + işleciyle birleştirmek gibi daha karmaşık Unicode ifadelerine izin verilmez. Karakter sabitlerine izin verilmez. Bir Unicode sabiti belirtilirse, bu sabite bir Nön ek ek eklenmelidir. Örneğin, Unicode sabiti N'sp_who' geçerlidir, ancak karakter sabiti 'sp_who' geçerli değildir.
Dizenin boyutu yalnızca kullanılabilir veritabanı sunucusu belleğiyle sınırlıdır. 64 bit sunucularda, dizenin boyutu 2 GB ile sınırlıdır; en büyük boyut nvarchar(max).
Uyarı
@stmt , değişken adıyla aynı forma sahip parametreler içerebilir, örneğin: N'SELECT * FROM HumanResources.Employee WHERE EmployeeID = @IDParameter'.
@stmt dahil edilen her parametrenin hem @params parametre tanımı listesinde hem de parametre değerleri listesinde karşılık gelen bir girdisi olmalıdır.
[ @params = ] N'@parameter_namedata_type [ ,... n ]'
@stmt eklenmiş tüm parametrelerin tanımlarını içeren bir dize. Dize bir Unicode sabiti veya Unicode değişkeni olmalıdır. Her parametre tanımı bir parametre adından ve bir veri türünden oluşur.
n, daha fazla parametre tanımını gösteren bir yer tutucudur.
@stmt'de belirtilen her parametre @paramsiçinde tanımlanmalıdır. içindeki @stmt Transact-SQL deyimi veya toplu işlemi parametre içermiyorsa @params gerekli değildir. Bu parametre için varsayılan değerdir NULL.
[ @param1 = ] 'değer1'
Parametre dizesinde tanımlanan ilk parametre için bir değer. Değer bir Unicode sabiti veya Unicode değişkeni olabilir. @stmtdahil edilen her parametre için bir parametre değeri sağlanmalıdır. @stmt'daki Transact-SQL deyiminde veya toplu işte parametre olmadığında değerler gerekli değildir.
n
Ek parametrelerin değerleri için yer tutucu. Değerler yalnızca sabitler veya değişkenler olabilir. Değerler, işlevler gibi daha karmaşık ifadeler veya işleçler kullanılarak oluşturulan ifadeler olamaz.
Dönüş kodu değerleri
0 (başarı) veya sıfır olmayan (başarısızlık).
Sonuç kümesi
İlk T-SQL deyiminden sonuç kümesini döndürür.
Permissions
İzin gerektirir ALTER ANY EXTERNAL DATA SOURCE .
Açıklamalar
sp_execute_remote parametreleri Söz dizimi bölümünde açıklandığı gibi belirli bir sırada girilmelidir. Parametreler sıra dışı girilirse bir hata iletisi oluşur.
sp_execute_remote toplu işlerle ve adların kapsamıyla ilgili EXECUTE ile aynı davranışa sahiptir.
@stmt parametresindeki T-SQL deyimi veya toplu işlemi, deyimi yürütülene sp_execute_remote kadar derlenmemiştir.
sp_execute_remote adlı sonuç kümesine $ShardName , satırı oluşturan uzak veritabanının adını içeren fazladan bir sütun ekler.
sp_execute_remote
sp_executesql benzer bir şekilde kullanılabilir.
Örnekler
A. Temel örnek
Aşağıdaki örnek, uzak veritabanında temel SELECT bir deyim oluşturur ve yürütür.
EXECUTE sp_execute_remote N'MyExtSrc', N'SELECT COUNT(w_id) AS Count_id FROM warehouse';
B. Birden çok parametre içeren örnek
Bu örnek aşağıdaki eylemleri gerçekleştirir:
Bir kullanıcı veritabanında veritabanı için
masteryönetici kimlik bilgilerini belirterek kapsamlı bir kimlik bilgisi oluşturur.Veritabanına işaret eden
masterve veritabanı kapsamlı kimlik bilgilerini belirten bir dış veri kaynağı oluşturur.sp_set_firewall_ruleYordamı veritabanında yürütürmaster. Yordamsp_set_firewall_ruleüç parametre gerektirir ve parametresinin@nameUnicode olmasını gerektirir.
EXECUTE sp_execute_remote
@data_source_name = N'PointToMaster',
@stmt = N'sp_set_firewall_rule @name, @start_ip_address, @end_ip_address',
@params = N'@name nvarchar(128), @start_ip_address varchar(50), @end_ip_address varchar(50)',
@name = N'TempFWRule',
@start_ip_address = '0.0.0.2',
@end_ip_address = '0.0.0.2';