Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Managed Instance
Módosítja az útvonal adatait egy meglévő útvonalhoz az SQL Server-ben.
Transact-SQL szintaxis konvenciók
Syntax
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' ]
[ ; ]
Arguments
route_name
Az útvonal neve, amit meg kell változtatni. Szerver-, adatbázis- és sémánnevek nem határozhatók meg.
WITH
Bemutatja azokat a záradékokat, amelyek meghatározzák a módosítandó útvonalat.
SERVICE_NAME ='service_name'
Megadja a távoli szolgáltatás nevét, amelyre ez az útvonal mutat. A service_name pontosan meg kell egyeznie a távoli szolgáltatás által használt névvel. A Service Broker bájtról bájtora összehasonlítást alkalmaz a service_name egyeztetésére. Más szóval, az összehasonlítás kis- és nem veszi figyelembe a jelenlegi összeállítást. Az ' SQL/ServiceBroker/BrokerConfiguration ' szolgáltatásnévű útvonal egy Broker Konfigurációs Értesítés szolgáltatáshoz vezető útvonal. Egy szolgáltatáshoz vezető útvonal nem feltétlenül jelöl brókerpéldányt.
Ha a SERVICE_NAME záradékot kihagyják, az útvonal szolgáltatási neve változatlan.
BROKER_INSTANCE ='broker_instance'
Megadja azt az adatbázist, amely a célszolgáltatást üzemelteti.
A broker_instance paraméternek a távoli adatbázis bróker példányazonosítójának kell lennie, amelyet a kiválasztott adatbázisban a következő lekérdezéssel lehet megszerezni:
SELECT service_broker_guid
FROM sys.databases
WHERE database_id = DB_ID();
Ha a BROKER_INSTANCE záradékot kihagyják, az útvonal brókerpéldánya változatlan marad.
Note
Ez a beállítás nem érhető el egy tartalmazott adatbázisban.
ÉLET =route_lifetime
Megadja az időt, másodpercekben, hogy az SQL Server megtartja az útvonalat az útvonali táblában. Az élettartam végén az útvonal lejár, és az SQL Server már nem veszi figyelembe az útvonalat, amikor új beszélgetéshez választ útvonalat. Ha ezt a záradékot kihagyják, az útvonal élettartama változatlan.
CÍM ='next_hop_address'
Azure SQL Managed Instance esetén ADDRESS helyi kell legyen.
Megadja ennek az útvonalnak a hálózati címét. A next_hop_address a következő formátumban határoz meg egy TCP/IP címet:
TCP:// { dns_name | netbios_name |ip_address } :port_number
A megadott port_number meg kell egyeznie a Service Broker végpontjának portszámával egy adott SQL Server példány portszámával a megadott számítógépen. Ezt a kiválasztott adatbázisban a következő lekérdezéssel lehet elérni:
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';
Ha egy útvonal a next_hop_address számára 'LOCAL'-t jelöl, az üzenetet egy szolgáltatáshoz juttatják a jelenlegi SQL Server példányon.
Amikor egy útvonal a next_hop_address számára 'TRANSPORT'-ot jelöl, a hálózati címet a szolgáltatás nevében szereplő hálózati cím alapján határozzák meg. Egy útvonal, amely megadja a 'TRANSPORT' -t, megadhat szolgáltatásnevet vagy bróker példányt.
Ha a next_hop_address a fő szerver egy adatbázis tükör számára, akkor meg kell határoznod a tükör szerver MIRROR_ADDRESS is meg. Ellenkező esetben ez az útvonal nem vezet automatikusan a tükörszerverhez.
Note
Ez a beállítás nem érhető el egy tartalmazott adatbázisban.
MIRROR_ADDRESS ='next_hop_mirror_address'
Megadja a tükörszerver hálózati címét egy tükrözött pár számára, amelynek fő szervere a next_hop_address-nél található.
A next_hop_mirror_address a következő formátumban határoz meg egy TCP/IP címet:
TCP://{ dns_name | netbios_name | ip_address } :port_number
A megadott port_number meg kell egyeznie a Service Broker végpontjának portszámával egy adott SQL Server példány portszámával a megadott számítógépen. Ezt a kiválasztott adatbázisban a következő lekérdezéssel lehet elérni:
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';
Amikor a MIRROR_ADDRESS meg van jelölve, az útvonalnak meg kell határoznia az SERVICE_NAME és a BROKER_INSTANCE klauzulatot. Egy olyan útvonal, amely a next_hop_address számára 'LOCAL' vagy 'TRANSPORT' jelölést jelöl, nem feltétlenül jelöl tükörcímet.
Note
Ez a beállítás nem érhető el egy tartalmazott adatbázisban.
Remarks
Az útvonalakat tároló úttábla egy metaadattábla, amely a sys.routes katalógusnézeten keresztül olvasható. Az útvonali tábla csak a CREATE ROUTE, ALTER ROUTE, és DROP ROUTE utasítások segítségével frissíthető.
A parancsban nem meghatározott ALTER ROUTE klauzulák változatlanok maradnak. Ezért nem lehet útvonalat úgy módosítani, hogy megadja, az útvonal nem időlejár, hogy az útvonal egyezik bármely szolgáltatásnévvel, vagy hogy az útvonal egyezik bármelyik bróker példánysal. Ahhoz, hogy módosítsd ezeket az útvonal jellemzőit, el kell hagynod a meglévő útvonalat, és új útvonalat kell létrehoznod az új információkkal.
Ha egy útvonal a next_hop_address számára 'TRANSPORT'-ot jelöl, a hálózati címet a szolgáltatás neve alapján határozzák meg. SQL Server sikeresen feldolgozhatják a hálózati címmel kezdődő szolgáltatásneveket egy next_hop_address számára érvényes formátumban. Azok a szolgáltatások, amelyek nevei érvényes hálózati címeket tartalmaznak, a szolgáltatás nevében szereplő hálózati címre vezetnek.
Az útvonali tábla bármilyen útvonalat tartalmazhat, amelyek ugyanazt a szolgáltatást, hálózati címet és/vagy bróker példányazonosítót adnak meg. Ebben az esetben a Service Broker egy olyan eljárással választ egy útvonalat, amely a beszélgetésben megadott információk és az útvonali táblázatban szereplő információk közötti legpontosabb egyezést találja.
A szolgáltatás módosításához AUTHORIZATION használd az ALTER AUTHORIZATION utasítást.
Permissions
Az útvonal módosítására vonatkozó engedély az útvonal tulajdonosának, a db_ddladmin vagy db_owner fix adatbázis szerepének tagjainak, valamint a rendszervezető fix szerver szerepének tagjainak szól.
Examples
A. A szolgáltatás módosítása egy útvonalra
A következő példa módosítja az ExpenseRoute útvonalat, hogy a távoli szolgáltatásra //Adventure-Works.com/Expensesmutasson.
ALTER ROUTE ExpenseRoute
WITH
SERVICE_NAME = '//Adventure-Works.com/Expenses';
B. A cél adatbázis megváltoztatása egy útvonalhoz
A következő példa megváltoztatja a céladatbázist az ExpenseRoute egyedi azonosítóval azonosított útvonalhoz vezető adatbázishoz D8D4D268-00A3-4C62-8F91-634B89B1E317.
ALTER ROUTE ExpenseRoute
WITH
BROKER_INSTANCE = 'D8D4D268-00A3-4C62-8F91-634B89B1E317';
C. Útvonal címének megváltoztatása
A következő példa megváltoztatja az útvonal hálózati címét ExpenseRoute a HIT IP címmel rendelkező TCP portra 1234 az IP-címmel 10.2.19.72.
ALTER ROUTE ExpenseRoute
WITH
ADDRESS = 'TCP://10.2.19.72:1234';
D. Az útvonal adatbázisának és címének megváltoztatása
A következő példa megváltoztatja az útvonal hálózati címét ExpenseRoute a DNS név szerinti HISTAN 1234TCP portjárawww.Adventure-Works.com. Emellett megváltoztatja a cél adatbázist az egyedi azonosítóval D8D4D268-00A3-4C62-8F91-634B89B1E317azonosított adatbázisra.
ALTER ROUTE ExpenseRoute
WITH
BROKER_INSTANCE = 'D8D4D268-00A3-4C62-8F91-634B89B1E317',
ADDRESS = 'TCP://www.Adventure-Works.com:1234';