Avatar of bfuchs
bfuchs
Flag for United States of America asked on

How to get info in view from activity monitor?

Hi Experts,
I am currently looking to create a view that can join the output of activity monitor with another table (by net address), any idea how I can get this?
Microsoft SQL ServerMicrosoft Access

Avatar of undefined
Last Comment
Vitor Montalvão

8/22/2022 - Mon
Scott McDaniel (EE MVE )

Define what you mean by "activity monitor". Are you referring to a System Utility, or something like that?
bfuchs

ASKER
hi,
its in SSMS under management tab.
Vitor Montalvão

You need to be more specific.
Activity Monitor provides information about CPU, Processes, Resource Waits, Datafile I/O and Expensive Queries.
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy
bfuchs

ASKER
Hi experts,

The story is as follows:

I am using an MS Access FE app to SQL BE, and would like to get a list of users who are logged in, and also who are doing certain tasks, for example holding a lock on the database etc..

In activity monitor there is a column HOST that used to give me accurate info, however in office 2003, the info is not more accurate as it gives me the name of pc that I designed the app with..

Therefore the only way left was to use the NetAddress field in activity monitor, were looks to give more reliable info about the pc's connected to.

Now in order to have users name displayed, I ran a process on each pc, that retrieves the net address, and stores that in a table, therefore the next step is to have the info avail in a view where I can join it with users table and retrieve full name.

Thanks,
Ben
Vitor Montalvão

Ben, did you use sp_who2 before? If not, try to run it in SSMS and check if returns the information that you need.
bfuchs

ASKER
@Vitor,
sp_who2 gives me only the host name, however as mentioned this is not working for users using Access 2003, as all come up with same host name.
Thanks,
Ben
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Vitor Montalvão

Ok. sp_who2 it's only a short view from
SELECT * FROM sys.sysprocesses
Now you should see more columns, net_address included.
bfuchs

ASKER
Hi Vitor,
this latest seems to be in good direction, just wonder if I can also get the following 3 columns, Blocking, Blocked By and the Sql command?
Also is this safe to be running from another app linked to SQL (in my case Access ADP) ?
Thanks,
Ben
ASKER CERTIFIED SOLUTION
Vitor Montalvão

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
bfuchs

ASKER
Hi,

By executing the above I get the following from SSMS (2008).
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near '.'.

please let me know how to correct

Thanks,
Ben
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
Vitor Montalvão

Ben, I ran the same code in my SQL Server 2008R2 and didn't have any error.
Can you try to copy the code and run it again?
bfuchs

ASKER
Hi Vitor,

I see the problem only occurs when I am running it in my database, but when I run in Master database its fine, how can I modify that to run in my DB?

Thanks,
Ben
bfuchs

ASKER
FYI,
I also tried changing the code by adding  master before each table like the following:
SELECT p.spid, p.blocked, r.blocking_session_id, DB_NAME(p.dbid) dbname, p.loginame, p.login_time, p.last_batch, p.status, p.hostname, p.program_name, p.hostprocess, c.client_net_address, t.text
FROM master.sys.sysprocesses p
	INNER JOIN master.sys.dm_exec_connections c ON p.spid=c.session_id
	LEFT JOIN master.sys.dm_exec_requests r ON p.spid=r.session_id
	CROSS APPLY master.sys.dm_exec_sql_text(c.most_recent_sql_handle) AS t

Open in new window

however the same error msg appears..
and the reason I need this to run in my DB is that when opening Access ADP, I only have access to objects of 1 database.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
bfuchs

ASKER
@Vitor,
I see this only happens in production database, in test database I don't have this issue, what can explain this strange behavior?
Vitor Montalvão

Check the user permissions. For sure in test database the user is system administrator and in production only has read and write permissions in the user database.

Those tables should be usually accessed by DBA's.
bfuchs

ASKER
Hi Vitor,

It looks like you're right, however I cant find what property to look for, as I always log in as 'SA' in both DB,
what is strange to me is the fact that between the users is the SA not listed at all..
maybe you guide me..

Thanks,
Ben
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
Vitor Montalvão

Can you run the following queries in the instance that you are having the issue and post here the results:
SELECT SERVERPROPERTY('IsIntegratedSecurityOnly')

SELECT loginname, sysadmin, securityadmin, serveradmin, setupadmin, processadmin, diskadmin,bulkadmin, dbcreator, denylogin, hasaccess
FROM syslogins

Open in new window

bfuchs

ASKER
Hi,
for the first one I get 0 in both, the test and production DB.
for the second I get the following in both.
Msg 208, Level 16, State 1, Line 1
Invalid object name 'syslogins'.
bfuchs

ASKER
Hi Vitor,

I think that at this point you've answered my original question, however this would be another issue, therefore I would accept your solution and will post this situation as a new thread, (So that I can assign double points-:)

Thanks,
Ben
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
bfuchs

ASKER
Great, Thank you!
Vitor Montalvão

Msg 208, Level 16, State 1, Line 1
 Invalid object name 'syslogins'.
Forgot to tell you that the query should run in master database.
bfuchs

ASKER
Hi,

Ok in master I got 0 for the first and for the second I get 1 for sysadmin and for has access  and 0 for the rest, for the user I am talking about.
sa      1      0      0      0      0      0      0      0      0      1

Thanks,
Ben
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
Vitor Montalvão

When hasaccess is 0 means that the user don't have access to the instance.
bfuchs

ASKER
Hi,
but user has 1 for hasaccess (as shown above, all fields return 0 except for sysadmin and hasaccess), and besides i still cant see a reason why should test be different then production?
Vitor Montalvão

Sorry, I miss understood when I read it at first time. Went to read it again and now it's clear to me.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.