ROTA (Transact-sql) oluştur

Yönlendirme tablosu geçerli veritabanı için yeni bir yol ekler. Giden iletilerde, Service Brokeryönlendirme tablosunda yerel veritabanı kontrol ederek yönlendirme belirler. Başka bir örneği kaynaklı oturumlar iletilerde için iletilecek, iletileri dahil Service Brokeryolları kontrol msdb.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

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 YETKILENDIRME yan tümcesinde belirtilen anapara ait. Sunucu, veritabanı ve şema adı belirtilemez. route_nameGeçerli olmalıdır sysname.

  • YETKİLENDİRMEowner_name
    Belirtilen veritabanı kullanıcı veya rol için rota sahibi ayarlar. owner_nameGeçerli kullanıcı ya da bir üyesi olduğunda herhangi bir geçerli kullanıcı ya da rol adı olabilir db_owner sabit veritabanı rolü veya sysadmin sunucu rolü. Aksi takdirde, owner_namegeçerli kullanıcı adını, geçerli kullanıcı özelliklerini Al izni olan bir kullanıcı adı veya ait olduğu geçerli kullanıcı rolünün adı olmalı. Bu yan atlandığında, yol geçerli kullanıcıya aittir.

  • İLE
    Oluşturulan rota tanımlayan yan tümceleri tanıtır.

  • HİZMET_ADI = 'service_name'
    Bu yol gösterdiği uzak hizmet adını belirtir. service_nameTam olarak uzak hizmet adı kullanan maç gerekir. Service Brokerbir bayt bayt karşılaştırma eşleştirmek için kullandığı service_name. Diğer bir deyişle, karşılaştırmanın büyük/küçük harf duyarlıdır ve geçerli harmanlama dikkate almaz. HİZMET_ADI atlanırsa, bu yolun herhangi bir hizmet adı ile eşleşir, ancak eşleşen bir HİZMET_ADI belirten bir yol daha düşük önceliğe sahiptir. Bir hizmet adı bir yol ' sql, ServiceBroker, BrokerConfiguration' Broker yapılandırma bildirimi hizmeti için bir yoldur. Bu hizmet için bir yol değil bir broker örneği belirtebilir.

  • BROKER_INSTANCE = 'broker_instance_identifier'
    Hedef hizmeti barındıran veritabanını belirtir. broker_instance_identifierParametresi için seçili veritabanındaki aşağıdaki sorguyu çalıştırarak elde edilebilir uzak veritabanı broker örnek tanımlayıcısı olmalıdır:

    SELECT service_broker_guid
    FROM sys.databases
    WHERE database_id = DB_ID()
    
    SELECT service_broker_guid
    FROM sys.databases
    WHERE database_id = DB_ID()
    

    BROKER_INSTANCE yan tümcesi atlandığında, herhangi bir broker örneği bu yol ile eşleşir. Herhangi bir broker örneği eşleşen bir yol, konuşma bir broker örneği belirtmediğinde, daha yolları açık broker örneği ile eşleştirmek için daha yüksek önceliğe sahiptir. Broker örneği belirtmek konuşmaları için bir rota broker örneği ile herhangi bir broker örneği eşleşen bir yol daha yüksek önceliğe sahiptir.

  • ÖMÜR **=**route_lifetime
    Zaman, saniye cinsinden belirtir, SQL Serveryol yönlendirme tablosunda korur. Ömrü sonunda, rota sona erer, ve SQL Serverartık yol yeni bir konuşma için bir yol seçerken göz önünde bulundurur. Bu yan tümcesi atlanırsa, route_lifetimeNULL ve yolun her zaman geçerli olsun.

  • ADDRESS ='next_hop_address'
    Bu yol için ağ adresini belirtir. next_hop_addressBir TCP/IP adresi aşağıdaki biçimde belirler:

        TCP://{ dns_name | netbios_name | ip_address } : port_number

    Belirtilen port_numberbağlantı noktası numarasını eşleşmelidir Service Brokeruç örneği SQL Server, belirtilen 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';
    
    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ı hizmeti barındırıldığında, yansıtılmış bir veritabanı barındıran diğer örneği için MIRROR_ADDRESS da belirtmeniz gerekir. Aksi takdirde, bu yol için ayna devri değil.

    Ne zaman bir rota belirtir 'Yerel' için next_hop_address, ileti hizmeti içinde geçerli örneğini teslim SQL Server.

    Ne zaman bir rota belirtir 'transport' için next_hop_address, ağ adresi, ağ adresi hizmet adına göre belirlenir. Belirten bir yol 'transport' bir hizmet adı veya broker örneği belirtebilir değil.

  • MIRROR_ADDRESS ='next_hop_mirror_address'
    Bir yansıtılmış veritabanı barındırılan, yansıtılmış bir veritabanı için ağ adresini belirtir next_hop_address. next_hop_mirror_addressBir TCP/IP adresi aşağıdaki biçimde belirler:

    TCP://{ dns_name | netbios_name | ip_address } : port_number

    Belirtilen port_numberbağlantı noktası numarasını eşleşmelidir Service Brokeruç örneği SQL Server, belirtilen 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';
    
    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, rota HİZMET_ADI ve BROKER_INSTANCE yan tümcesi belirtmeniz gerekir. Belirten bir yol 'Yerel' veya 'transport' için next_hop_addressbir ayna adres belirtebilir değil.

Açıklamalar

Üzerinden okunabilir bir meta veri tablosu yönlendirme tablosundaki yolları depolar ise sys.routes Katalog görünümü. Bu Katalog görünümü, yalnızca create route, alter rota ve açılan yol deyimleri ile güncelleştirilebilir.

Varsayılan olarak, bir rota için yönlendirme tablosunda her kullanıcı veritabanı içerir. Bu yol adlı AutoCreatedLocal. Rota belirtir 'Yerel' için next_hop_addressve herhangi bir hizmet adı ve broker örnek tanımlayıcısı eşleşiyor.

Ne zaman bir rota belirtir 'transport' için next_hop_address, ağ adresi hizmet adı temel alınarak belirlenir. SQL Serverbir ağ 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 tablosu, aynı hizmeti, ağ adresi belirtin ve örnek tanımlayıcısı komisyoncu yollarının herhangi bir sayı içerebilir. Bu durumda, Service Brokeryönlendirme tablosunda en eşleşme bilgileri arasındaki konuşmada belirtilen bilgileri bulmak için tasarlanmış bir yordam kullanarak bir yol seçer.

Service Brokersüresi dolan yollar, yönlendirme tablosundan kaldırılmaz. Süresi dolmuş bir rota rota alter deyimini kullanarak etkin hale getirilebilir.

Bir yol, geçici bir nesne olamaz. Yol adları ile başlayan # izin verilir, ancak kalıcı nesnelerdir.

İzinler

Üyeleri için varsayılan bir rota oluşturma izni db_ddladmin veya db_owner veritabanı rolleri sabit ve sysadmin sunucu rolü.

Örnekler

A.Bir dns adı kullanarak TCP/IP rota oluşturma

Aşağıdaki örnek, hizmet için bir yol oluşturur //Adventure-Works.com/Expenses. Bu hizmet iletileri üzerinden tcp bağlantı noktasına seyahat rotası belirtir 1234dns adı tarafından tanımlanan ana www.Adventure-Works.com. Hedef sunucu benzersiz tanımlayıcısı tarafından tanımlanan broker örneği girişte iletileri 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' ;

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 rota oluşturma

Aşağıdaki örnek, hizmet için bir yol oluşturur //Adventure-Works.com/Expenses. Bu hizmet iletileri üzerinden tcp bağlantı noktasına seyahat rotası belirtir 1234NetBIOS adı tarafından tanımlanan ana SERVER02. Girişte, hedef SQL Serverbenzersiz tanımlayıcısı tarafından tanımlanan veritabanı örneğine iletiyi 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' ;

CREATE ROUTE ExpenseRoute
    WITH 
    SERVICE_NAME = '//Adventure-Works.com/Expenses',
    BROKER_INSTANCE = 'D8D4D268-00A3-4C62-8F91-634B89C1E315',
    ADDRESS = 'TCP://SERVER02:1234' ;

C.A TCP/IP route by using IP adresi oluşturma

Aşağıdaki örnek, hizmet için bir yol oluşturur //Adventure-Works.com/Expenses. Bu hizmet iletileri üzerinden tcp bağlantı noktasına seyahat rotası belirtir 1234IP adresindeki ana 192.168.10.2. Girişte, hedef SQL Serverbenzersiz tanımlayıcısı tarafından tanımlanan broker örneği için iletiyi 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' ;

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 iletim aracı için bir yol oluşturma

Aşağıdaki örnek, sunucu üzerindeki iletim aracı için bir yol oluşturur. dispatch.Adventure-Works.com. Hem hizmet adı hem de broker örnek tanımlayıcısı belirtilmemiş olduğundan, SQL ServerBu yol için tanımlanan diğer bir yolu hizmetlerini kullanır.

CREATE ROUTE ExpenseRoute
    WITH
    ADDRESS = 'TCP://dispatch.Adventure-Works.com' ; 

CREATE ROUTE ExpenseRoute
    WITH
    ADDRESS = 'TCP://dispatch.Adventure-Works.com' ; 

E.Yerel hizmet için bir yol oluşturma

Aşağıdaki örnek, hizmet için bir yol oluşturur //Adventure-Works.com/LogRequestsyol olarak aynı örneği.

CREATE ROUTE LogRequests
    WITH
    SERVICE_NAME = '//Adventure-Works.com/LogRequests',
    ADDRESS = 'LOCAL' ;

CREATE ROUTE LogRequests
    WITH
    SERVICE_NAME = '//Adventure-Works.com/LogRequests',
    ADDRESS = 'LOCAL' ;

F.İle belirtilen bir ömür boyu bir yol oluşturma

Aşağıdaki örnek, hizmet için bir yol oluşturur //Adventure-Works.com/Expenses. Ömrü boyunca yol olduğunu 259200ikinci, 72 saat eşittir.

CREATE ROUTE ExpenseRoute
    WITH
    SERVICE_NAME = '//Adventure-Works.com/Expenses',
    LIFETIME = 259200,
    ADDRESS = 'TCP://services.Adventure-Works.com:1234' ;

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, hizmet için bir yol oluşturur //Adventure-Works.com/Expenses. Hizmet, yansıtılmış bir veritabanı içinde barındırılır. Bir yansıtılmış veritabanlarını adresinde 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' ;

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 hizmeti adı kullanan bir rota oluşturma

Aşağıdaki örnek, iletiyi göndermek için ağ adresini belirlemek için hizmet adı kullanan bir yol oluşturur. Rota belirleyen fark 'TRANSPORT'olarak ağ adresi eşleşen yollar düşük öncelikli vardır.

CREATE ROUTE TransportRoute
    WITH ADDRESS = 'TRANSPORT' ;

CREATE ROUTE TransportRoute
    WITH ADDRESS = 'TRANSPORT' ;

Ayrıca bkz.

Başvuru

alter rota (Transact-sql)

ROTA (Transact-sql) bırak

eventdata (Transact-sql)