Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
I den här lektionen lär du dig att skapa måldatabasen och alla Service Broker-målobjekt som inte har beroenden i initierardatabasen. Kör de här stegen från en kopia av Management Studio som körs på samma dator som målinstansen databasmotorn.
Procedures
Skapa en Service Broker-slutpunkt
Kopiera och klistra in följande kod i ett frågeredigerarefönster och kör den sedan för att skapa en Service Broker-slutpunkt för den här instansen av databasmotorn. En Service Broker-slutpunkt upprättar nätverksadressen till vilken Service Broker-meddelanden skickas. Den här slutpunkten använder Service Broker-standardvärdet för TCP-port 4022 och fastställer att fjärrinstanserna i databasmotorn använder Windows-autentiseringsanslutningar för att skicka meddelanden.
Windows-autentisering fungerar när båda datorerna finns i samma domän eller betrodda domäner. Om datorerna inte finns i betrodda domäner använder du certifikatsäkerhet för slutpunkterna. Mer information finns i Så här skapar du certifikat för Service Broker-transportsäkerhet.
USE master; GO IF EXISTS (SELECT * FROM master.sys.endpoints WHERE name = N'InstTargetEndpoint') DROP ENDPOINT InstTargetEndpoint; GO CREATE ENDPOINT InstTargetEndpoint STATE = STARTED AS TCP (LISTENER_PORT = 4022) FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS); GO
Skapa måldatabasen, huvudnyckeln och användaren
Kopiera och klistra in följande kod i ett frågeredigerarefönster. Ändra lösenordet för -instruktionen
CREATE MASTER KEY. Kör sedan koden för att skapa måldatabasen som används för den här självstudien. Som standard harENABLE_BROKERnya databaser alternativet inställt på på. Koden skapar också huvudnyckeln och användaren som ska användas för kryptering och fjärranslutningar.USE master; GO IF EXISTS (SELECT * FROM sys.databases WHERE name = N'InstTargetDB') DROP DATABASE InstTargetDB; GO CREATE DATABASE InstTargetDB; GO USE InstTargetDB; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = N'<EnterStrongPassword1Here>'; GO CREATE USER TargetUser WITHOUT LOGIN; GO
Skapa målcertifikatet
Kopiera och klistra in följande kod i ett frågeredigerarefönster. Ändra filnamnet som anges i -instruktionen
BACKUP CERTIFICATEså att det refererar till en mapp i systemet. Kör sedan koden för att skapa målcertifikatet som används för att kryptera meddelanden. Mappen som du anger ska ha behörigheter som förhindrar åtkomst från andra konton än ditt Windows-konto och Windows-kontot som instansen av databasmotorn körs under. För lektion 2 måste du kopiera InstTargetCertificate.cer filen manuellt till en mapp som kan nås från initierarinstansen.CREATE CERTIFICATE InstTargetCertificate AUTHORIZATION TargetUser WITH SUBJECT = 'Target Certificate', EXPIRY_DATE = N'12/31/2010'; BACKUP CERTIFICATE InstTargetCertificate TO FILE = N'C:\storedcerts\$ampleSSBCerts\InstTargetCertificate.cer'; GO
Skapa meddelandetyperna
Kopiera och klistra in följande kod i ett frågeredigerarefönster och kör den sedan för att skapa meddelandetyperna för konversationen. Namnen och egenskaperna för meddelandetypen som anges här måste vara identiska med de som du skapar i
InstInitiatorDBnästa lektion.CREATE MESSAGE TYPE [//BothDB/2InstSample/RequestMessage] VALIDATION = WELL_FORMED_XML; CREATE MESSAGE TYPE [//BothDB/2InstSample/ReplyMessage] VALIDATION = WELL_FORMED_XML; GO
Skapa kontraktet
Kopiera och klistra in följande kod i ett frågeredigerarefönster och kör den sedan för att skapa kontraktet för konversationen. Kontraktnamnet och egenskaperna som anges här måste vara identiska med det kontrakt som du skapar i
InstInitiatorDBnästa lektion.CREATE CONTRACT [//BothDB/2InstSample/SimpleContract] ([//BothDB/2InstSample/RequestMessage] SENT BY INITIATOR, [//BothDB/2InstSample/ReplyMessage] SENT BY TARGET); GO
Skapa målkön och tjänsten
Kopiera och klistra in följande kod i ett frågeredigerarefönster och kör den sedan för att skapa kön och tjänsten som används för målet. -
CREATE SERVICEinstruktionen associerar tjänsten med InstTargetQueue, så att alla meddelanden som skickas till tjänsten tas emot i InstTargetQueue. AngerCREATE SERVICEockså att endast konversationer som använder BothDB/2InstSample/SimpleContract som skapades tidigare kan använda tjänsten som måltjänst.CREATE QUEUE InstTargetQueue; CREATE SERVICE [//TgtDB/2InstSample/TargetService] AUTHORIZATION TargetUser ON QUEUE InstTargetQueue ([//BothDB/2InstSample/SimpleContract]); GO
Relaterade uppgifter
- SÄKERHETSKOPIERINGSCERTIFIKAT (Transact-SQL)
- SKAPA CERTIFIKAT (Transact-SQL)
- SKAPA KONTRAKT (Transact-SQL)
- SKAPA DATABAS
- SKAPA SLUTPUNKT (Transact-SQL)
- SKAPA HUVUDNYCKEL (Transact-SQL)
- SKAPA MEDDELANDETYP (Transact-SQL)
- SKAPA KÖ (Transact-SQL)
- SKAPA TJÄNST (Transact-SQL)
- SKAPA ANVÄNDARE (Transact-SQL)
- Dialogsäkerhet för Service Broker
- Konversationsarkitektur
- Tjänstarkitektur
Nästa steg
Du har skapat databaserna för självstudien. Sedan skapar InstInitiatorDB du och konfigurerar den med de objekt som krävs för att stödja initierarens slut på en Service Broker-konversation.