Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 83
  • Last Modified:

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?
0
bfuchs
Asked:
bfuchs
  • 14
  • 10
1 Solution
 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
Define what you mean by "activity monitor". Are you referring to a System Utility, or something like that?
0
 
bfuchsAuthor Commented:
hi,
its in SSMS under management tab.
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
You need to be more specific.
Activity Monitor provides information about CPU, Processes, Resource Waits, Datafile I/O and Expensive Queries.
0
Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

 
bfuchsAuthor Commented:
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
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
Ben, did you use sp_who2 before? If not, try to run it in SSMS and check if returns the information that you need.
0
 
bfuchsAuthor Commented:
@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
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
Ok. sp_who2 it's only a short view from
SELECT * FROM sys.sysprocesses
Now you should see more columns, net_address included.
0
 
bfuchsAuthor Commented:
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
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
Ok, here's a more elaborated query. Hope that has all the information you want.
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 sys.sysprocesses p
	INNER JOIN sys.dm_exec_connections c ON p.spid=c.session_id
	LEFT JOIN sys.dm_exec_requests r ON p.spid=r.session_id
	CROSS APPLY sys.dm_exec_sql_text(c.most_recent_sql_handle) AS t

Open in new window

0
 
bfuchsAuthor Commented:
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
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
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?
0
 
bfuchsAuthor Commented:
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
0
 
bfuchsAuthor Commented:
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.
0
 
bfuchsAuthor Commented:
@Vitor,
I see this only happens in production database, in test database I don't have this issue, what can explain this strange behavior?
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
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.
0
 
bfuchsAuthor Commented:
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
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
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

0
 
bfuchsAuthor Commented:
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'.
0
 
bfuchsAuthor Commented:
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
0
 
bfuchsAuthor Commented:
Great, Thank you!
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
Msg 208, Level 16, State 1, Line 1
 Invalid object name 'syslogins'.
Forgot to tell you that the query should run in master database.
0
 
bfuchsAuthor Commented:
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
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
When hasaccess is 0 means that the user don't have access to the instance.
0
 
bfuchsAuthor Commented:
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?
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
Sorry, I miss understood when I read it at first time. Went to read it again and now it's clear to me.
0

Featured Post

Veeam and MySQL: How to Perform Backup & Recovery

MySQL and the MariaDB variant are among the most used databases in Linux environments, and many critical applications support their data on them. Watch this recorded webinar to find out how Veeam Backup & Replication allows you to get consistent backups of MySQL databases.

  • 14
  • 10
Tackle projects and never again get stuck behind a technical roadblock.
Join Now