YOL (Transact-SQL) oluşturma
Yönlendirme tablo geçerli veritabanı için yeni bir yol ekler.Giden iletiler için Service Broker belirler yönlendirme denetleyerek yönlendirme tablo yerel veritabanı.Başka bir örnekkaynaklanan görüşmeleri için iletileri, iletilebilecek iletiler de dahil olmak üzere Service Broker denetler Rotalarda msdb.
Sözdizimi
CREATE ROUTE route_name
[ AUTHORIZATION owner_name ]
WITH
[ SERVICE_NAME = 'service_name', ]
[ BROKER_INSTANCE = 'broker_instance_identifier' , ]
[ LIFETIME = route_lifetime , ]
ADDRESS = 'next_hop_address'
[ , MIRROR_ADDRESS = 'next_hop_mirror_address' ]
[ ; ]
Bağımsız değişkenler
route_name
Oluşturmak için yol adıdır.Yeni bir yol geçerli veritabanında oluşturulmuş ve YETKİLENDİRME yan tümcetümcesinde belirtilen asıl sahibi.Sunucu, veritabanı ve şema adı belirtilemez.route_name Geçerli olmalıdır sysname.YETKİLENDİRMEowner_name
Belirtilen veritabanı kullanıcı ya da rol sahibi yol ayarlar.owner_name Geçerli kullanıcının üye ya da olduğunda herhangi bir geçerli kullanıcı veya rol adı olabilir db_owner sabit veritabanı rolü veya sysadminsabit sunucu rolü. Aksi takdirde, owner_name Geçerli kullanıcı adını, özelliklerini Al izni için geçerli kullanıcının kullanıcı adını veya ait olduğu geçerli kullanıcı rolünün adı olmalı.Bu yan tümce atlandığında, yol geçerli kullanıcıya aittir.İLE
Oluşturulan yol tanımlamak yan tümceleri tanıtır.Hizmet_Adı = 'service_name'
Bu yol gösteriyor uzaktan hizmet adını belirtir.service_name Tam olarak aynı olmalıdır adı uzaktan hizmet kullanır.Service Brokerbayt düzeyinde karşılaştırma eşleştirmek için kullandığı service_name.Başka bir deyişle, karşılaştırmanın durum duyarlı ve geçerli harmanlamadikkate almaz.HİZMET_ADI atlanırsa, bu yol herhangi bir hizmet adı ile eşleşir, ancak eşleşen bir hizmet_adı belirten bir yol daha düşük önceliğe sahip.Bir hizmet adı ile yol SQL/servicebroker/brokerconfiguration' bir yol Broker yapılandırma bildirimi hizmet.Bu hizmet bir yol broker örnekbelirtebilir değil.BROKER_INSTANCE = 'broker_instance_identifier'
hedefhizmetbarındıran veritabanını belirtir. broker_instance_identifier Parametresi, seçili veritabanındaki aşağıdaki sorguyu çalıştırarak elde edilebilir uzak veritabanı için broker örnek tanımlayıcısı olmalıdır:SELECT service_broker_guid FROM sys.databases WHERE database_id = DB_ID()
BROKER_INSTANCE yan tümce atlandığında, herhangi bir broker örnekbu yol ile eşleşir.Herhangi bir broker örnek eşleşen bir yol konuşma broker örnekbelirtmediğinde yolları açık broker örnek eşleştirme için daha yüksek önceliğe sahiptir.Broker örnekbelirtmek için görüşmeleri, yol broker örnek ile herhangi bir broker örnekeşleşen bir yol daha yüksek önceliğe sahiptir.
YAŞAM **=**route_lifetime
saatsaniye cinsinden belirtir, SQL Server Yönlendirme tablo yol korur.Yaşam süresi sonunda yol süresi, ve SQL Server artık yol yol için seçerken dikkate alıryeni bir görüşme.Bu yan tümce atlanırsa, route_lifetime null ve yol her zaman geçerli olsun.ADDRESS ='next_hop_address'
Bu yoliçin ağ adresini belirtir.next_hop_address Bir TCP/IP adresi aşağıdaki biçimde belirler:tcp: / /{ dns_name | netbios_name | ip_address } **:**bağlantı_noktası_numarası
Belirtilen bağlantı_noktası_numarası bağlantı noktası numarasını eşleşmelidir Service Broker örnek son nokta SQL Server belirtilen bir bilgisayar.Bu seçili veritabanındaki aşağıdaki sorguyu çalıştırarak elde edilebilir:
SELECT tcpe.port FROM sys.tcp_endpoints AS tcpe INNER JOIN sys.service_broker_endpoints AS ssbe ON ssbe.endpoint_id = tcpe.endpoint_id WHERE ssbe.name = N'MyServiceBrokerEndpoint';
Yansıtılmış bir veritabanı hizmet barındırıldığında, yansıtılmış veritabanını barındıran diğer örnek MIRROR_ADDRESS belirtmeniz gerekir.Aksi takdirde, bu yol üzerinden yansıtma başarısız olmaz.
Ne zaman bir yol belirleyen 'Yerel' için next_hop_address, bir ' % s'hizmetine hizmet geçerli örnek içinde ileti teslim SQL Server.
Ne zaman bir yol belirleyen 'transport' için next_hop_address, hizmetadını ağ adresine bağlı ağ adresini belirledi.Belirten bir yol 'transport' bir hizmet adı veya broker örnekbelirtebilir değil.
MIRROR_ADDRESS ='next_hop_mirror_address'
Bir yansıtılmış veritabanı barındırılan at yansıtılmış bir veritabanı için ağ adresini belirtir next_hop_address.next_hop_mirror_address Bir TCP/IP adresi aşağıdaki biçimde belirler:tcp: / /{ dns_name | netbios_name | IP_Adresi } : bağlantı_noktası_numarası
Belirtilen bağlantı_noktası_numarası bağlantı noktası numarasını eşleşmelidir Service Broker örnek son nokta SQL Server belirtilen bir bilgisayar.Bu seçili veritabanındaki aşağıdaki sorguyu çalıştırarak elde edilebilir:
SELECT tcpe.port FROM sys.tcp_endpoints AS tcpe INNER JOIN sys.service_broker_endpoints AS ssbe ON ssbe.endpoint_id = tcpe.endpoint_id WHERE ssbe.name = N'MyServiceBrokerEndpoint';
MIRROR_ADDRESS belirtildiğinde, yol Hizmet_Adı yan tümce ve yan tümceBROKER_INSTANCE belirtmeniz gerekir.Belirten bir yol 'Yerel' veya 'transport' için next_hop_address belirtme bir yansıtma adresi.
Açıklamalar
Yolları depolar yönlendirme tablo aracılığıyla okumak bir meta veriler tablo olan sys.routes Katalog görünümü.Bu katalog görünümü, yalnızca create route alter yol ve açılan yol ifadeleri ile güncelleştirilebilir.
Varsayılan olarak, bir yolyönlendirme tablo her kullanıcı veritabanı içerir.Bu yol adlı AutoCreatedLocal.yol belirtir 'Yerel' için next_hop_address ve eşleşen herhangi bir hizmet adı ve aracı örnek tanımlayıcı.
Ne zaman bir yol belirleyen 'transport' için next_hop_address, ağ adresi hizmetadı temel alınarak belirlenir.SQL ServerAğ adresi için geçerli olan bir biçimde başlayan hizmet adlarını başarıyla işleyebilir bir next_hop_address.
Yönlendirme tablo , aynı hizmet, ağ adresi belirtin ve örnek kimliği aracı yolların herhangi bir sayı içerebilir.Bu durum, Service Broker Yönlendirme tablokonuşmada belirtilen bilgileri ve bilgi arasında en tam eşleşme bulmak için tasarlanmış bir yordam kullanarak bir yol seçer.Hakkında daha fazla bilgi için Service Broker yolseçerse görmek Yönlendirme Hizmet Aracısı.
Service Brokersüresi dolan yollar yönlendirme tablokaldırmaz.Süresi dolmuş bir yol alter yol deyimkullanarak etkin hale getirilebilir.
Geçici bir nesne bir yol olamaz.Yol adları ile başlayan # izin verilir, ancak kalıcı nesneleridir.
İzinler
Üyeleri için varsayılan bir yol oluşturma izni db_ddladmin veya db_owner veritabanı rolleri sabit ve sysadmin sabit sunucu rolü.
Örnekler
A.Bir dns adı kullanarak TCP/IP yol oluşturma
Aşağıdaki örnek, hizmetbir yol oluşturur//Adventure-Works.com/Expenses. Bu hizmet ileti tcp bağlantı noktasına seyahat yol belirtir 1234 dns adıyla tanımlanan ana www.Adventure-Works.com.hedef ve iletileri varış üzerine benzersiz tanımlayıcısı tarafından tanımlanan broker örnek teslim D8D4D268-00A3-4C62-8F91-634B89C1E315.
CREATE ROUTE ExpenseRoute
WITH
SERVICE_NAME = '//Adventure-Works.com/Expenses',
BROKER_INSTANCE = 'D8D4D268-00A3-4C62-8F91-634B89C1E315',
ADDRESS = 'TCP://www.Adventure-Works.com:1234' ;
B.Bir NetBIOS adı kullanarak TCP/IP yol oluşturma
Aşağıdaki örnek, hizmetbir yol oluşturur//Adventure-Works.com/Expenses. Bu hizmet ileti tcp bağlantı noktasına seyahat yol belirtir 1234 NetBIOS adı ile tanımlanan ana SERVER02.Varış, hedefüzerineSQL Server veritabanı örnek benzersiz tanımlayıcısı tarafından tanımlanan ileti teslim D8D4D268-00A3-4C62-8F91-634B89C1E315.
CREATE ROUTE ExpenseRoute
WITH
SERVICE_NAME = '//Adventure-Works.com/Expenses',
BROKER_INSTANCE = 'D8D4D268-00A3-4C62-8F91-634B89C1E315',
ADDRESS = 'TCP://SERVER02:1234' ;
C.Bir IP adresi kullanarak TCP/IP yol oluşturma
Aşağıdaki örnek, hizmetbir yol oluşturur//Adventure-Works.com/Expenses. Bu hizmet ileti tcp bağlantı noktasına seyahat yol belirtir 1234 IP adresindeki ana 192.168.10.2.Varış, hedefüzerineSQL Server broker örnek tanımlayıcısı tarafından tanımlanan ileti teslim D8D4D268-00A3-4C62-8F91-634B89C1E315.
CREATE ROUTE ExpenseRoute
WITH
SERVICE_NAME = '//Adventure-Works.com/Expenses',
BROKER_INSTANCE = 'D8D4D268-00A3-4C62-8F91-634B89C1E315',
ADDRESS = 'TCP://192.168.10.2:1234' ;
D.Bir iletme broker yol oluşturma
Aşağıdaki örnek, sunucu üzerinde iletme broker yol oluşturur dispatch.Adventure-Works.com.hizmet adı ve broker örnek tanımlayıcısı belirtilmemiş olduğundan, SQL Server tanımlanan diğer yol olan hizmetleri bu yol kullanılır.Yönlendirme hakkında daha fazla bilgi için bkz: Yönlendirme Hizmet Aracısı.
CREATE ROUTE ExpenseRoute
WITH
ADDRESS = 'TCP://dispatch.Adventure-Works.com' ;
E.Yerel hizmetbir yol oluşturma
Aşağıdaki örnek, hizmetbir yol oluşturur//Adventure-Works.com/LogRequests yololarak aynı örnek .
CREATE ROUTE LogRequests
WITH
SERVICE_NAME = '//Adventure-Works.com/LogRequests',
ADDRESS = 'LOCAL' ;
F.Belirtilen bir yaşam süresi bir yol oluşturma
Aşağıdaki örnek, hizmetbir yol oluşturur//Adventure-Works.com/Expenses. Yaşam yol olan 259200 saniye, hangi eşit olur 72 saat.
CREATE ROUTE ExpenseRoute
WITH
SERVICE_NAME = '//Adventure-Works.com/Expenses',
LIFETIME = 259200,
ADDRESS = 'TCP://services.Adventure-Works.com:1234' ;
G.Yansıtılmış bir veritabanı için bir yol oluşturma
Aşağıdaki örnek, hizmetbir yol oluşturur//Adventure-Works.com/Expenses. hizmet ayna bir veritabanında yer alır.Yansıtılmış veritabanları biridir adreste bulunan services.Adventure-Works.com:1234, ve diğer veritabanı adresinde bulunan services-mirror.Adventure-Works.com:1234.
CREATE ROUTE ExpenseRoute
WITH
SERVICE_NAME = '//Adventure-Works.com/Expenses',
BROKER_INSTANCE = '69fcc80c-2239-4700-8437-1001ecddf933',
ADDRESS = 'TCP://services.Adventure-Works.com:1234',
MIRROR_ADDRESS = 'TCP://services-mirror.Adventure-Works.com:1234' ;
H.Yönlendirme için hizmet adı kullanan bir yol oluşturma
Aşağıdaki örnek, ileti göndermek için ağ adresini belirlemek için hizmet adı kullanan bir yol oluşturur.yol belirtir dikkat edin 'TRANSPORT' ağ adresine sahip düşük öncelikli eşleşen diğer yollar.
CREATE ROUTE TransportRoute
WITH ADDRESS = 'TRANSPORT' ;