Send a Message To Users Who Access a Specified Database

>>Script Language and Platform: MSSQL 2000 & MSSQL 2005
The following procedure helps you to send a message to all users who access a specified database in a server.

Author: Shiva



/* ————————————————-

The Following Procedure Helps You To

Send a Message to all Users

Who Access the Specified Database in a Server

*/

Create Proc Sp_SendMsg

@Msg Varchar(100),
@DbName VarChar(100)
as

if db_id(@DbName) = Null
begin
Print ‘DataBase dose not Exist’
end
else

Begin
Declare @spId Varchar(1000)

DECLARE TmpCursor CURSOR FOR
Select ‘master..xp_CmdShell ”Net Send ‘ + rtrim(convert(Varchar(50),
HostName))+’ “Dear ‘ + upper(max(rtrim(loginame)))+ space(1) + @Msg + ‘””’ as spId
from master..SysProcesses
where db_Name(dbID) = @DbName and
spId <> @@SpId
and rtrim(ltrim(HostName)) <> ”
and HostName <> host_Name()
and dbID <> 0
and spId > 50
group by HostName

OPEN TmpCursor

FETCH NEXT FROM TmpCursor
INTO @spId

WHILE @@FETCH_STATUS = 0

BEGIN

Exec (@spId)

FETCH NEXT FROM TmpCursor
INTO @spId

END

CLOSE TmpCursor
DEALLOCATE TmpCursor

end




Disclaimer:
We hope that the information on these script pages is
valuable to you. Your use of the information contained in these pages,
however, is at your sole risk. All information on these pages is provided
“as -is”, without any warranty, whether express or implied, of its accuracy,
completeness, or fitness for a particular purpose…

Disclaimer Continued

Back to Database Journal Home

Latest Articles