2

I have implemented Service Broker on one of my databases, and have successfully processed messages with my own c# application by following this tutorial. http://devkimchi.com/811/service-broker-external-activator-for-sql-server-step-by-step-1/

I was able to successfully install the SSBEA on my development Sql Server, it runs as advertised. However, from reading the documentation it appears I can run SSBEA on a different server other than by database server.

How can I accomplish this? I have a 2nd Windows 2012 machine, and I installed SSBEA along with my application service, everything is the same in the config file

note the EAService.config file below, So on my SqlDev Windows 2012 server, everything works fine, on my CloudDev Windows 2012 server, the SSBEA service fails to start, both are running with the same "admin" account. I chose Admin to ensure things would work. and they do on SqlDev, but they do not on CloudDev.

Any advise is helpful to me, do I need to install sql server client tools on CloudDev?

  <NotificationServiceList>
   <!-- Event Notification Name from Sql Server -->
    <NotificationService name="myNotificationService" id="100" enabled="true">

      <Description>My Notification Service</Description>
      <ConnectionString>
        <!-- All connection string parameters except User Id and Password should be specificed here -->
        <Unencrypted>server=sqldev;database=CloudDev;Application Name=AppServiceBroker;Integrated Security=true;</Unencrypted>
      </ConnectionString>
    </NotificationService>
  </NotificationServiceList>
  <ApplicationServiceList>
    <ApplicationService name="AppServiceBroker" enabled="true">
      <OnNotification>
        <ServerName>sqldev</ServerName>
        <DatabaseName>CloudDev</DatabaseName>
        <SchemaName>dbo</SchemaName>
        <QueueName>myRequestQueue</QueueName>
      </OnNotification>
      <LaunchInfo>
        <ImagePath>C:\appSB\AppServiceBroker.exe</ImagePath>
        <CmdLineArgs></CmdLineArgs>
        <WorkDir>C:\appSB</WorkDir>
      </LaunchInfo>
      <Concurrency min="1" max="1" />
    </ApplicationService>
  </ApplicationServiceList>

*EDIT: as requested, the only Error Message shows up in the System Log for the SSBEA not starting:

Log Name:      System
Source:        Service Control Manager
Date:          3/24/2016 2:29:33 PM
Event ID:      7000
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      CLOUDDEV.mynet.local
Description:
The Service Broker External Activator service failed to start due to the following error: 
The service did not respond to the start or control request in a timely fashion.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Service Control Manager" Guid="{555908d1-a6d7-4695-8e1e-26931d2012f4}" EventSourceName="Service Control Manager" />
    <EventID Qualifiers="49152">7000</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8080000000000000</Keywords>
    <TimeCreated SystemTime="2016-03-24T21:29:33.445869600Z" />
    <EventRecordID>23653</EventRecordID>
    <Correlation />
    <Execution ProcessID="556" ThreadID="5736" />
    <Channel>System</Channel>
    <Computer>CLOUDDEV.mynet.local</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="param1">Service Broker External Activator</Data>
    <Data Name="param2">%%1053</Data>
    <Binary>530053004200450078007400650072006E0061006C0041006300740069007600610074006F0072000000</Binary>
  </EventData>
</Event>

I also took the liberty of installing the Sql Server Client Tools but there has been no change, the service still fails to start.

  • You mented the SBEA service account is an admin. Is it also a SQL Server sysadmin role member? – Dan Guzman Mar 25 '16 at 1:12
  • @DanGuzman Yes, the account is an admin on the dev SqlServer and on the machine where SBEA is installed. One note, I just noticed one glaring difference, .net 3.5 is not installed on the SBEA only machine. My admin is installing it this morning and I will report back. – SeeCoolGuy Mar 28 '16 at 13:54
2

MS Get Started With Using External Activator SBEA answers how to install and configure SBEA, but it fails to mention that on your server you should have .Net 3.5 installed, on Windows 2012, you add this as a Server Feature/Role This Stack Over Flow answer also details how to get this installed on 2012, as it requires the help of the original iso.

| improve this answer | |
  • 1
    .NET 3.5 (feature) install also worked with Microsoft "SSBEA for SQL Server 2016" on Win Server 2012 R2. – user103857 Aug 18 '16 at 21:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.