Aracılığıyla paylaş


alter ROTA (Transact-SQL)

Varolan bir yoliçin yol bilgilerini değiştirir.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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.Sunucu, veritabanı ve şema adı belirtilemez.

  • İLE
    Değiştirilmesini 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.Bir hizmet adı ile yol SQL/servicebroker/brokerconfiguration' bir yol Broker yapılandırma bildirimi hizmet.Bu hizmet bir yol broker örnekbelirtebilir değil.

    Hizmet_Adı yan tümce atlanırsa, yol için hizmet adı değişmedi.

  • BROKER_INSTANCE ='broker_instance'
    hedefhizmetbarındıran veritabanını belirtir. broker_instance 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, yol broker örnek değişmeden kalır.

  • 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, yaşam süresi yol değiştirilmez.

  • 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_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';
    

    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 örnekbelirtebilirsiniz.

    Zaman next_hop_address asıl sunucu veritabanı yansıtma için MIRROR_ADDRESS yansıtma sunucusubelirtmeniz de gerekir.Aksi takdirde, bu yol yansıtma sunucusuyük devretme otomatik olarak yapar.

  • MIRROR_ADDRESS ='next_hop_mirror_address'
    Bir yansıtılmış çifti, asıl sunucu olan en yansıtma sunucusu 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 veri tablo olan sys.routes Katalog görünümü.Yönlendirme tablo yalnızca create route alter yol ve açılan yol ifadeleri ile güncelleştirilebilir.

alter route komutunda belirtilen değil yan tümceleri değişmeden kalır.Bu nedenle, yol herhangi bir hizmet adı eşleşen veya yol herhangi bir broker örnekeşleşen yol değil saat , yapacaklarını belirlemek için bir yol VERİLMEMELİDİR.Bu yolniteliklerini değiştirmek için varolan bir yol bırakma ve yeni bilgilerle yeni bir yol oluşturun.

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.hizmet adı ağ adresi yol Hizmetleri geçerli ağ adreslerini içeren adlara sahip olur.

Yönlendirme tablo , aynı hizmet, ağ adresi belirtin ve/veya örnek tanımlayıcısı 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 ve ağ Hizmet Aracısı.

YETKİLENDİRME hizmetdeğiştirmek için alter YETKİLENDİRME deyimkullanın.

İzinler

İçin bir yol değiştirme izni varsayılan yol, üyelerinin sahibi db_ddladmin veya db_owner sabit veritabanı rolleri ve üyeleri sysadmin sabit sunucu rolü.

Örnekler

A.yoliçin hizmet değiştirme

Aşağıdaki örnek değiştirir ExpenseRoute yol işaret edecek biçimde uzak hizmet //Adventure-Works.com/Expenses.

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

B.yoliçin hedef veritabanı değiştirme

Aşağıdaki örnek hedef veritabanı değiştirir ExpenseRoutebenzersiz tanımlayıcısı tarafından tanımlanan veritabanıyol D8D4D268-00A3-4C62-8F91-634B89B1E317.

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

C.yoladresini değiştirme

Aşağıdaki örnek ağ adresini değiştirir ExpenseRoute yol tcp bağlantı noktası 1234 IP adresiyle ana 10.2.19.72.

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

D.Veritabanı ve yoladresini değiştirme

Aşağıdaki örnek ağ adresini değiştirir ExpenseRoute yol tcp bağlantı noktası 1234 ana dns adı ile www.Adventure-Works.com.Onu da hedef veritabanı benzersiz tanımlayıcısı tarafından tanımlanan veritabanı değiştirir D8D4D268-00A3-4C62-8F91-634B89B1E317.

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