Event Notifications Are Not In The SQL Management Studio UI?
Sep 30, 2005
hi. can't seem to find the event notifications in the service broker folder of Management Studio.. I can get the information from sys.event_notifications, but it seems odd that event notifications are not in the UI. Hopefully I'm looking in the wrong place?
I'm developing an app that uses Service Broker queues to allow a customer to create "events" that fire using a timer or a query notification. When these events fire, a message is sent to a Service Broker queue for processing. Because there is much managed code involved in processing these messages, I decided to use the External Activator application and an Event Notification to process these messages. My question is "what is the difference between using the External Activator application to launch another application (which simply RECEIVEs a message from the target queue and processes it) and creating a windows service that simply monitors the target queue (with a WAITFOR = -1 clause) and processes it?"
I guess I'm not sure how using the QUEUE_ACTIVATION Event Notification is really helping me.
I'm looking for a sanity check. Service broker and Event Notifications are new to me, so it is possible I'm either abusing or incorrectly using the technology. I'm experimenting with using Event Notifications and Server Broker to log error messages. The process works pretty well as long as I don't do something stupid such as stressing the process by calling raiserror in a loop of a 100000 - twice. It processed for a while, but eventual either SQL Server terminates (sev 25) or I had to force the SQL service to stop by killing it's process via task manager. I could not connect to SQL Server or stop the service normally.
I have several general questions. I think they are good questions. Any thoughts or suggestions would be appreciated.
1) I'm looking into generating deadlock and blocking email alerts. It appears that Event Notification is the way to go since there are very few events and I can respond to the event with an email. Is there a better method to automate blocking and deadlock email alerts that include event details?
2) If I wanted to retain some history of errors for the developers, should Event Notifications be avoided if a high number of errors can be generated by a badly formed T-SQL? Avoid TRC_ERRORS_AND_WARNINGS and USER_ERROR_MESSAGE? (I could tell the developers not to be stupid, but why would that stop them if it does not stop me?)
3) Is there a way to efficiently filter a Event Notification from entering the queue before the Receive statement is called? I get some events that I throw away after receiving them. For example, perhaps I want all events from all non-system databases without having to add a notification for each single non-system database. Or I want all errors with severity 11-17 only?
4) Is there a trick to filter out events from the procedure activated by the event. I tried using raiserror to debug a procedure without thinking. The result was that the queue never was empty because the processing produced more events to process. As a result, I don't use raiserror and use a try-catch to avoid raising errors in the procedure activated.
5) I can receive one message at a time using local variables or receive a batch of messages using a local table. Is a small batch the best way even if there is memory pressure?
6) In the activated procedure I continue processing in a loop until there are no more messages. This seems to be the most efficient. Is this always the case? Should I exit the procedure after a set number (large) of messages have been received? The procedure would activate again to continue processing?
7) Is there any point to using the MAX_QUEUE_READERS setting when processing event notifications? Should it be 1?
8) I currently get the next conversation group id and process its messages within a transaction. Is this a bad idea with event notifications? Should I just call Receive and get the next batch? I don't really care if I lose some messages if things are going badly. Should I avoid wrapping the receive in a transaction?
9) I could run a trace that starts with SQL Server; however, I think my only choice is to log to a file. Is there a way to trace to a table using SQLTrace without running profiler? I would like to automate the process and have the data in a table so that it can be easily queried and parsed for each database/team.
10) Is there a way to fix my process and handle 100000 messages a minute? Is there a way to skip messages when it gets to busy? Can the query generating the messages get throttled - perhaps along with the query designer - before the server gets into trouble? Query the memory used by a queue and drop/create the queue with a delay if there is an issue?
I'm using a single CPU test machine with only 1 GB and 2 GB pagefile and a single disk. OS: Windows 2003 R2 SP2. SQL: 9.0.3054 and on 9.0.3228 (update package 6 just came out today). I could add memory, but I think that would just permit me to queue more message before running into trouble. I'll add code shortly - length limit.
We have (running SQL 2012 Std) and have enabled trace flag 1204 and 1222 for capturing deadlock through extended events. I have enabled deadlock notification through email .But it only send deadlock event occurred notification from the sql server error log . I was wondering if its possible to email the deadlock details they get generated in extended events via DB mail.
Just set up my first Service Broker test. Wanted to send an Event Notification from one instance to another. Finally, the message arrives but profiler shows that the message is still being continously resent (and rejected as being duplicate). What am I doing wrong?
With best regards,
Artus
--
/* Local Event Source.sql */
USE master GO
CREATE DATABASE NotificationDB GO
ALTER DATABASE NotificationDB SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE; GO
CREATE ENDPOINT BrokerEndpoint STATE = STARTED AS TCP ( LISTENER_PORT = 5554 ) FOR SERVICE_BROKER ( AUTHENTICATION = WINDOWS, ENCRYPTION = DISABLED ) GO
USE NotificationDB GO
CREATE EVENT NOTIFICATION TestEN ON DATABASE FOR CREATE_TABLE TO SERVICE 'ExpressService', 'AFEDD339-AD3D-4865-AF3C-299B0A0784C6' GO
CREATE ROUTE ExpressRoute WITH SERVICE_NAME = 'ExpressService' , BROKER_INSTANCE = 'AFEDD339-AD3D-4865-AF3C-299B0A0784C6', ADDRESS = 'TCP://localhost:5555' GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Pa$$w0rd'; GO
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY; GO
USE master GO
SELECT service_broker_guid FROM sys.databases WHERE database_id = DB_ID() GO
/* Remote Service.sql */
USE master GO
CREATE DATABASE Test GO
ALTER DATABASE Test SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE; GO
CREATE ENDPOINT BrokerEndpoint STATE = STARTED AS TCP ( LISTENER_PORT = 5555 ) FOR SERVICE_BROKER ( AUTHENTICATION = WINDOWS, ENCRYPTION = DISABLED ) GO
USE Test GO
CREATE QUEUE ExpressQueue WITH STATUS = ON GO
CREATE SERVICE ExpressService ON QUEUE ExpressQueue ( [http://schemas.microsoft.com/SQL/Notifications/PostEventNotification] ); GO
GRANT SEND ON SERVICE::ExpressService TO [public] GO
CREATE ROUTE ExpressServiceRoute WITH SERVICE_NAME = 'ExpressService', BROKER_INSTANCE = 'AFEDD339-AD3D-4865-AF3C-299B0A0784C6', ADDRESS = 'LOCAL' GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Pa$$w0rd'; GO
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY; GO
SELECT service_broker_guid FROM sys.databases WHERE database_id = DB_ID() GO
I have an activated SP that is issuing PRINT statements.
These are raised as ErrorLog and EventLog events when using SQLProfiler
However if you attach an event notification for ERRORLOG and EVENTLOG, nothing appears in the queue. Any other ERRORLOG or EVENTLOG event caught by profiler is caught by the event notification as expected.
I have recently installed the SQL Server Management Studio Express but I do not find Management Tools in order to create scheduled backups and shrinking of the databases. I was under the impression that this should be included in the Management Studio. I use the SQL 2005 Express for smaller customers who run the SQL on a desktop unit. I need a way to backup the data to a server machine for backup purposes. I have uninstalled and reinstalled to no avail.
I have a database in my "App_Data" folder of my visual studio project. I can view it fine in Visual Studio's built-in tools for managing a database attached to a solution. However i recently started playing around with the SQL Server Management Studio Express program. When i attach my database to Management Studio, and try to run my program it crashes. I think it might be a permissions error?!? When i detatch it and reattach it in visual studio it runs fine again. Any suggestions? ThanksJason
I am new to visual studio and I am still not sure of all its components and features.
I installed visual studio 2005 standard edition but cannot find SQL Server Management Studio?
I guess this must be because it is not included with Visual studio 2005 standard. Is it included with VS 2005 professional?
I want to add pictures of products to my shopping site using an SQL database and I’ve been told that SQL Server Management studio is required as it is a graphical tool.
How would I go about obtaining the SQL server management studio. There seems to be different versions of SQL server that it is confusing to know which one to purchase.
Will the SQL server 2005 version that comes with Visual studio standard be sufficient for me now right? I want to create a shopping site with hundreds, perhaps even thousands of products. I want to use an SQL server 2005 database. The database will include ‘dynamically generated’ product images if that is the correct terminology.
My goodness, it seems I still have so much to learn.
I have created a database under management studio and i want it to be connected in visual studio but it failed the error msgs said that the database can't be connected coz the database with same name exits but that is not true
How do i get the database that i am using in visual studio into my SQL server management studio? i need to create some scripts to create stored procedures on a live server.
In Microsoft.COM website do we have a comparision between Management Studio and Management Studio express in term of functions and features of the tool ? (Not SQL Server and SQL Server Express !)
dont know y, but i have prob. installing MS Management studio....After a hard drive failure I was forced to reinstall everything... :( The problem is that after installing vs2005 proffesional edition I installed the sql server 2005 trial edition and everything was fine during the installation.When I looked for the Management studio it wasnt there for me :( I uninstalled and reinstalled trying the full installation but results was the same, no Management studio!!!After uninstalling the SQL server trial edition I installed the Management studio express and it works. except that from some reason I cannot browse my XP user folder which has no password protection.. :( Any idea for installing the SQL trial edition including the Management studio ???Why can't I browse my XP folder with Management studio express ???Where can I download Management studio (non express version)?? regards
I am running management studio from my desktop but I think I need sp2 is there a sp2 download for management studio that isnt management studio express?
I just installed the Developer Edition of SQL Server 2005 on my machine and updated it to all available patches through Microsoft Update. I cannot find the SQL Server Management Studio on my machine? How can I get this? Help mentioned where its exe is located but I cannot find it there either.
i have a problem regarding sql management studio....
1. I can't create new server, i'd follow the tutorial in video. but it doesnt work. or may be i must install the IIS?
2. i create a new database named sample (sql management studio) and add some tables and sort of data. how can i deploy this database so that i can bind/connect to my program.
We are use Vista X64 and SQL-Server 2005 X64 Developer Edition. We are able to connect to a sql2005 server x32 server using SQL 2005 management studio, 32-bit version. From the x64 box (vista x64 with sql x64), we are able to connect to the SQL 2005 32-bit server version using sqlcmd and telnet. But, we are having issues connecting to the 32-bit version of SQL 2005 using the x64 sql management studio GUI. I look all over the internet and the SQL BOL and I was not able to find any compatibility issues with the SQL Management Studio x64 been documented. I am thinking that the reason for the issue is because the SQL management studio is trying to connect using native x64 client drivers. If that is the case, is there another method of connecting to a x32 SQL server. I see that the only way to approach this issue is to install the 32-bit version of the SQL client tools on the x64 system. Thanks
P.S. all servers are using SQL SP2 ( no Cumulative Update 4)
How can I get sql Management Studio (2005) to use Sql Compact 3.5? It's been working fine with 3.1, but now when I upgrade my own code to use 3.5 and create a new DB then management studio says it can't open it as it's the newer version (3.5xxx and it wants 3.0xxxx)
Exact text is:
You are trying to access an older version of a SQL Server Compact Edition database. If this is a SQL Server CE 1.0 or 2.0 database, run upgrade.exe. If this is a SQL Server Compact Edition 3.0 or later database, run Compact / Repair. [ Db version = 3505053,Requested version = 3004180,File name = C:foo.sdf ] (SQL Server Compact Edition ADO.NET Data Provider)
Installed SQL 2005 standard but the management tools did not install. The admin downloaded the SSMSE (Express version) which does not allow us to manage Analysis Services. We've tried un-installing the SSMSE and then tried to install from the Client Components on the installation disc, the Management console and it doesn't install. Any ideas on how to get the full version installed? Re-installing SQL Server 2005 is not an option as it's been configured and data is now residing in databases.
I have been working this for 2 days on my XP SP2 machine, AHHHHH !!
I tried running the SQL Server 2005 Tools install, and kept getting SQL configuration checker error with WMI. What finally got me around that was installing VS 2005. {without SQL Express} Ran the tools install, but not Management Studio, only the Configuration Tools on my menu. What the heck, tried running the full install, got the database engine, but still no Management Studio.
Tried uninstalling everything, everything is gone except the database engine.
Tried re-installing, still no luck.
Tried the command line to fix the shortcut to management studio as detailed in the setup help file:
NO LUCK. This is absolutely crazy, what year is this. It's as if something the setup program see's on my machine is blocking the install of management studio.
I just installed VS2005 Pro and I also installed SQL 2005 dev edition from CD 1. I installed everything that I could, but after it finished, SQL Management Studio doesn't show up. Why isn't it in the list of available sql server 2005 programs and how do I get it there? Thanks.
I know my question looks very stupid but cant help. I got SQL Server 2005 Evaluation Copy along with Visual Studio 2005. I want to do some evaluation of Reporting Services. I am able to create reports from VS 2005 i.e. rdlc extension. and chaning the extension I can publish them to reporting server but I want to create reports with parameters which will be passed from UI form.
On looking some resources i can to know that I will need SQL Server Management Studio to generate RDL reports. Where can i get Management Studio? Do i need to download it or need to purchase it?
is there a way to deploy only the workstation tools? Can I create an msi or sms package to install only the tools I need for users to have? Can I lock down the interface so all options are greyed out other than workstation tools?
I have SQL server 2005 developer edition installed on my machine. I was expecting something like Enterprise manager to manage databases but nothing is installed by default. Ive found SQL server management studio express and installed it, but Ive also seen references to SQL Server Management Studio. Are there any differences between the two , or are they the same and are just described differently ?? Im a bit confused, Microsoft should make this clear.
Hey everyone, Would someone please tell me why the new SQL Server Managment Studio comes with hardly not frills? What happened to the SQL Enterprise Manager in SQL Server 2000? It had DTS, SQL Agent Job and step viewing, Cool Wizards.. All that great stuff. but with this new Sql Server Management Studio with 2005 all I can do is pretty much look at the data and write queries and create and modify tables. Am I missing something? I did download an external tool which was called an import/export wizard but it sucks compaired to the DTS in SQL 2000. I did notice when I open my Sql Server Management Studio "Express" that it is the Express version... Is there a difference? Thanks for any help.
i have SQL Server 2005 dev edition and i wanted to use SQL Server Management Studio so is it installed or i need to install the SQL Server Management Studio express edition ??? thx