Aracılığıyla paylaş


ALTER yol (Transact-SQL)

Modifies yol bilgilerini varolan bir yol.

Topic link iconTransact-SQL sözdizimi kuralları

ALTER ROUTE route_name
WITH  
  [ SERVICE_NAME = 'service_name' [ , ] ]
  [ BROKER_INSTANCE = 'broker_instance' [ , ] ]
  [ LIFETIME = route_lifetime [ , ] ]
  [ ADDRESS =  'next_hop_address' [ , ] ]
  [ MIRROR_ADDRESS = 'next_hop_mirror_address' ]
[ ; ]

Bağımsız değişkenler

  • route_name
    Değiştirmek için yol adıdır.Şema sunucu ve veritabanı adı belirtilemez.

  • With
    Değiştirilmiş yol tanımlayan yan tanıtır.

  • SERVICE_NAME ='service_name'
    Uzaktan hizmet belirtir bu yol işaret eder.The service_name must exactly match the name the remote service uses.Service Broker uses a byte-by-byte comparison to match the service_name.Diğer bir deyişle, karşılaştırmanın büyük/küçük durum duyarlıdır ve geçerli harmanlama dikkate almaz.Bir hizmet adı olan bir yol**' SQL/ServiceBroker/BrokerConfiguration '** yoldur bir aracı yapılandırma uyarısı.Bir öğe örnek bu hizmete bir yol belirtebilir.

    , Hizmet_adı yan tümce olan atlanırsa yol için hizmet adı değişmez.

  • BROKER_INSTANCE ='broker_instance'
    Hedef hizmet barındıran veritabanını belirtir.The broker_instance parameter must be the broker instance identifier for the remote database, which can be obtained by running the following query in the selected database:

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

    BROKER_INSTANCE yan tümcesi, atlanırsa, broker örneği için yol değişmez.

  • LIFETIME **=**route_lifetime
    Süreyi saniye cinsinden belirtir,SQL ServerTutar yol yönlendirme tablosu.Süresi sonunda, yolun süresi, veSQL Serverartık bulduğu yol, yeni bir konuşma. bir yol seçmeBu yan belirtilmezse, yaşam süresini yol değişmez.

  • ADDRESS **='**next_hop_address'
    Bu yol için ağ adresini belirtir.The next_hop_address specifies a TCP/IP address in the following format:

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

    Belirtilenbaglanti_noktasi_numarasi için bağlantı noktası numarası aynı olmalıdır Service Brokerbitiş noktası bir örnek, SQL ServerBelirtilen bilgisayar.Bu seçili veritabanında 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';
    

    Bir yol belirtir.**'LOCAL'**next_hop_address, geçerli örneğini bir hizmet için ileti teslim için SQL Server.

    Bir yol belirtir.'TAŞIMA'next_hop_addressağ adresi adını ağ adresine göre belirlenir hizmet. Bir yol belirleyen'TAŞIMA' belirtmek bir hizmet adı veya öğe örnek.

    ,next_hop_addressasıl sunucu veritabanı yansıtma için için MIRROR_ADDRESS de belirtmelisiniz yansıtma sunucusu.Aksi halde, bu otomatik olarak yerine çalışma yaptığı yansıtma sunucusu.

  • MIRROR_ADDRESS ='next_hop_mirror_address'
    , Patron sunucu oregon yansıtılmış çiftinin ayna sunucu için ağ adresi belirtirnext_hop_address.The next_hop_mirror_address specifies a TCP/IP address in the following format:

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

    Belirtilenbaglanti_noktasi_numarasi için bağlantı noktası numarası aynı olmalıdır Service Brokerbitiş noktası bir örnek, SQL ServerBelirtilen bilgisayar.Bu seçili veritabanında 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 hizmet_adı yan tümce ve BROKER_INSTANCE yan yol belirtmeniz gerekir.Bir yol belirleyen**'LOCAL'** veya değil belirt bir yansıtma adresi için next_hop_address'TAŞIMA'

Remarks

Üretim tablo depoları yolları olan bir meta veri tablo okunabilirsys.Routes Katalog görünümü.Yönlendirme tablosu yalnızca CREATE yol, ALTER yol ve yol DROP deyimi ile güncelleştirilebilir.

ALTER yol komutunda belirtilen yan değişmeden kalır.Bu nedenle, yol değil çıkış saat, yol, herhangi bir hizmet adı ile eşleşen veya yol herhangi bir öğe örnek ile eşleşen yapacağı işlemleri belirleme için bir yol ALTER olamaz.Yol bu özellikleri değiştirmek için varolan yolu açılır ve yeni bilgilerle yeni bir yol oluşturmanız gerekir.

When a route specifies 'TRANSPORT' for the next_hop_address, the network address is determined based on the name of the service.SQL Server can successfully process service names that begin with a network address in a format that is valid for a next_hop_address.Hizmetleri geçerli ağ adresleri içeren adlara sahip olur yol ağ adresine hizmet adı.

Yönlendirme tablosu, aynı hizmet, ağ adresi belirtin ve/veya örnek tanımlayıcısı broker yolların herhangi bir sayı içerebilir.Bu durumda,Service BrokerÜretim bilgileri konuşmada belirtilen bilgileri arasındaki en kesin eşleşmeyi bulmak için tasarlanmış bir yordam kullanarak bir yol seçer tablo.Hakkında daha fazla bilgi içinService Brokerbir yol seçer Bkz:Yönlendirme ve ağ Hizmet Aracısı.

YETKİLENDİRME hizmet değiştirmek için ALTER yetkilendirme ifadesini kullanın.

İzinler

İçin bir yol değiştirme izni varsayılan rota, üyeleri sahibinedb_ddladmindb_owner ya da veritabanı rolleri sabit ve sabit sunucu rolü. sysadmin üyeleri

Örnekler

C.Hizmet için bir yol değiştirme

Aşağıdaki örnekte değiştirirExpenseRouteyol Uzak hizmete işaret//Adventure-Works.com/Expenses.

ALTER ROUTE ExpenseRoute
   WITH 
     SERVICE_NAME = '//Adventure-Works.com/Expenses'

b.Bir yol için hedef veritabanını değiştirme

Aşağıdaki örnek hedef veritabanı için değişiklikleriExpenseRoutebenzersiz tanımlayıcısı tarafından tanımlanan veritabanı yoluD8D4D268-00A3-4C62-8F91-634B89B1E317.

ALTER ROUTE ExpenseRoute
   WITH 
     BROKER_INSTANCE = 'D8D4D268-00A3-4C62-8F91-634B89B1E317'

c.Bir yol adresini değiştirme

Aşağıdaki örnekte ağ adresi için değişiklikleriExpenseRouteyol TCP bağlantı noktası1234ana IP adresi10.2.19.72.

ALTER ROUTE ExpenseRoute 
   WITH 
     ADDRESS = 'TCP://10.2.19.72:1234'

d.Veritabanı ve yol adresini değiştirme

Aşağıdaki örnekte ağ adresi için değişiklikleriExpenseRouteyol TCP bağlantı noktası1234ana DNS adıwww.Adventure-Works.com.Benzersiz tanımlayıcısı tarafından tanımlanan veritabanı hedef veritabanı da değiştirirseD8D4D268-00A3-4C62-8F91-634B89B1E317.

ALTER ROUTE ExpenseRoute
   WITH 
     BROKER_INSTANCE = 'D8D4D268-00A3-4C62-8F91-634B89B1E317',
     ADDRESS = 'TCP://www.Adventure-Works.com:1234'