CREATE SERVICE (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL Managed Instance

Új szolgáltatást hoznak létre. A Szolgáltatásközvetítő szolgáltatás egy adott feladat vagy feladathalmaz neve. A Service Broker a szolgáltatás nevét használja az üzenetek továbbítására, az üzenetek továbbítására az adatbázis megfelelő sorába, és a szerződés érvényesítésére a beszélgetés során.

Transact-SQL szintaxis konvenciók

Syntax

CREATE SERVICE service_name  
   [ AUTHORIZATION owner_name ]  
   ON QUEUE [ schema_name. ]queue_name  
   [ ( contract_name | [DEFAULT][ ,...n ] ) ]  
[ ; ]  

Arguments

service_name
Ez a szolgáltatás neve, amit létre kell hozni. Új szolgáltatást hoznak létre a jelenlegi adatbázisban, amelyet a záradékban meghatározott AUTHORIZATION vezető birtokol. Szerver-, adatbázis- és sémánnevek nem határozhatók meg. A service_name érvényes rendszernévnek kell lennie.

Note

Ne hozz létre olyan szolgáltatást, amely az ANY kulcsszót használja a service_name számára. Ha ANY megadsz egy szolgáltatásnevet , CREATE BROKER PRIORITYakkor az prioritást minden szolgáltatás esetében figyelembe veszik. Nem korlátozódik olyan szolgáltatásra, amelynek neve ANY.

AUTHORIZATION owner_name
A szolgáltatás tulajdonosát a megadott adatbázis-felhasználóhoz vagy szerephez állítja be. Ha a jelenlegi felhasználó dbo vagy sa, owner_name lehet bármely érvényes felhasználó vagy szerep neve. Ellenkező esetben owner_name a jelenlegi felhasználó neve, annak a felhasználónak a nevét, amelyhez a jelenlegi felhasználó IMPERSONATE jogosultsággal rendelkezik, vagy annak a szerepnek a neve, amelyhez a jelenlegi felhasználó tartozik.

ON QUEUE [ schema_name.] queue_name
Megadja azt a sort, amely fogadja az üzeneteket a szolgáltatás számára. A sornak ugyanabban az adatbázisban kell léteznie, mint a szolgáltatás. Ha nincs schema_name , akkor a séma az alapértelmezett séma a felhasználó számára, aki végrehajtja az utasítást.

contract_name
Meghatározza egy szerződést, amelyhez ez a szolgáltatás célpont lehet. A szolgáltatási programok a megadott szerződések alapján kezdeményezik a szolgáltatás beszélgetéseit. Ha nincs szerződés, a szolgáltatás csak beszélgetést kezdeményezhet.

[DEFAULT]
Előírja, hogy a szolgáltatás a szerződést követő DEFAULT beszélgetések célpontja lehet. E záradék kontextusában nem DEFAULT kulcsszó, és azonosítóként kell definálni. A DEFAULT szerződés lehetővé teszi, hogy mindkét fél üzenetet küldjön az üzenet típusú DEFAULT. Az üzenet típusa DEFAULT NEM használ validációt.

Remarks

Egy szolgáltatás elérhetővé teszi azokat a funkciókat, amelyeket a hozzá kapcsolódó szerződések nyújtanak, hogy más szolgáltatások is felhasználhassák őket. A CREATE SERVICE nyilatkozat meghatározza azokat a szerződéseket, amelyekre ez a szolgáltatás célpont van. Egy szolgáltatás csak olyan beszélgetések célpontja lehet, amelyek a szolgáltatás által meghatározott szerződéseket használják. Egy olyan szolgáltatás, amely nem ír elő szerződéseket, nem tesz semmilyen funkcionalitást más szolgáltatások számára.

A szolgáltatás által indított beszélgetések bármely szerződést felhasználhatnak. Szolgáltatást anélkül hozol létre, hogy szerződéseket határoznál meg, miközben a szolgáltatás csak beszélgetéseket indít.

Amikor a Service Broker elfogad egy új beszélgetést egy távoli szolgáltatástól, a célszolgáltatás neve határozza meg, hogy a bróker milyen sorban helyezi el az üzeneteket a beszélgetésben.

Permissions

A szolgáltatás létrehozásához szükséges engedély alapértelmezés szerint a db_ddladmin fix db_owner vagy fix adatbázis szerepek tagjai, vagy a sysadmin fix szerver szerep tagjai közé tartozik. A CREATE SERVICE kijelentést végrehajtó felhasználónak engedélyt kell szereznie REFERENCES a sorban és az összes szerződésben.

REFERENCES A szolgáltatás jogosultsága alapértelmezett a szolgáltatás tulajdonosa, az db_ddladmin vagy db_owner a fix adatbázis szerepek tagjai, vagy a sysadmin fix szerver szerepének tagjai ja. SEND A szolgáltatás jogosultságai alapértelmezetten a szolgáltatás tulajdonosának, a db_owner fix adatbázis szerepének tagjainak vagy a sysadmin fix szerver szerepének tagjainak szólnak.

Egy szolgáltatás nem lehet ideiglenes tárgy. A szolgálat nevek a kezdő betűkkel # megengedettek, de ezek állandó objektumok.

Examples

A. Egy szolgáltatás létrehozása egyetlen szerződéssel

A következő példa hozza létre a szolgáltatást //Adventure-Works.com/Expenses a sémában a ExpenseQueue sorban dbo . A szolgáltatást célzó párbeszédeknek a szerződést //Adventure-Works.com/Expenses/ExpenseSubmissionkell követniük.

CREATE SERVICE [//Adventure-Works.com/Expenses]  
    ON QUEUE [dbo].[ExpenseQueue]  
    ([//Adventure-Works.com/Expenses/ExpenseSubmission]) ;  

B. Szolgáltatás létrehozása több szerződéssel

A következő példa hozza létre a szolgáltatást //Adventure-Works.com/Expenses a ExpenseQueue sorban. A szolgáltatást célzó párbeszédeknek vagy a szerződést //Adventure-Works.com/Expenses/ExpenseSubmission , vagy a szerződést //Adventure-Works.com/Expenses/ExpenseProcessingkell követniük.

CREATE SERVICE [//Adventure-Works.com/Expenses] ON QUEUE ExpenseQueue  
    ([//Adventure-Works.com/Expenses/ExpenseSubmission],  
     [//Adventure-Works.com/Expenses/ExpenseProcessing]) ;  

C. Szolgáltatás létrehozása szerződés nélkül

A következő példa hozza létre a szolgáltatássort //Adventure-Works.com/Expenses on the ExpenseQueue . Ennek a szolgáltatásnak nincs szerződéses információja. Ezért a szolgáltatás csak a párbeszéd kezdeményezője lehet.

CREATE SERVICE [//Adventure-Works.com/Expenses] ON QUEUE ExpenseQueue ;  

Lásd még

ALTER SERVICE (Transact-SQL)
DROP SERVICE (Transact-SQL)
ESEMÉNYADATOK (Transact-SQL)