create procedure sp_checknames --- 1996/04/08 00:00 @mode varchar(20) = NULL /* mode of operation; e.g. 'silent' */ as declare @msilent int /* set to 1 if 'silent' mode is on */ declare @ret_val int /* set to 1 if we find funny char */ declare @codepoint tinyint /* set to 1 if we find funny char */ declare @dbname sysname /* holds database name */ declare @msg varchar(90) /* used for messages to */ declare @pat varchar(132) /* holds the pattern to search for */ set nocount on if (@mode like '%help%') begin raiserror(15525,-1,-1) raiserror(15526,-1,-1) raiserror(15527,-1,-1) print ' ' raiserror(15528,-1,-1) raiserror(' sysdatabases.name',0,1) raiserror(' sysdevices.name' ,0,1) raiserror(' syslogins.name' ,0,1) raiserror(' syslogins.dbname',0,1) raiserror(' sysremotelogins.remoteusername',0,1) raiserror(' sysservers.srvname',0,1) raiserror(' sysservers.srvnetname',0,1) print ' ' raiserror(15536,-1,-1) raiserror(' syscolumns.name',0,1) raiserror(' sysindexes.name',0,1) raiserror(' sysobjects.name',0,1) raiserror(' syssegments.name',0,1) raiserror(' systypes.name',0,1) raiserror(' sysusers.name',0,1) print ' ' return (0) end /* ** First, initialize return value, and set up mode variables: */ select @ret_val = 0 if (@mode like '%silent%') select @msilent = 1 else select @msilent = 0 /* ** Now, initialize the pattern string we will search for: */ select @pat = '%[', @codepoint = 127 while (@codepoint < 255) begin select @codepoint = @codepoint + 1 select @pat = @pat + char(@codepoint) end select @pat = @pat + ']%' /* ** Get the database name we are in: */ select @dbname = db_name() if (@msilent = 0) begin print ' ' raiserror(15543,-1,-1,@dbname) print ' ' end /* ** Look through these only if in the master database: */ if (@dbname = 'master') begin if exists (select name from master.dbo.sysdatabases where convert(varchar(132), name) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'sysdatabases.name') print ' ' raiserror(15545,-1,-1) raiserror(15546,-1,-1,'sp_renamedb') print ' ' select dbid,name from master.dbo.sysdatabases where convert(varchar(132), name) like @pat end if exists (select name from master.dbo.sysdevices where convert(varchar(132), name) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'sysdevices.name') print ' ' raiserror(15564,-1,-1) raiserror(15546,-1,-1,'UPDATE') print ' ' select name from master.dbo.sysdevices where convert(varchar(132), name) like @pat end if exists (select loginname from master.dbo.syslogins where convert(varchar(132), loginname) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'syslogins.name') print ' ' raiserror(15565,-1,-1) raiserror(15546,-1,-1, 'sp_droplogin'' and ''sp_addlogin') print ' ' select sid, loginname from master.dbo.syslogins where convert(varchar(132), loginname) like @pat end if exists (select dbname from master.dbo.syslogins where convert(varchar(132), dbname) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'syslogins.dbname') print ' ' raiserror(15547,-1,-1) raiserror(15548,-1,-1) raiserror(15549,-1,-1) print ' ' select sid,loginname,dbname from master.dbo.syslogins where convert(varchar(132), dbname) like @pat end if exists (select remoteusername from master.dbo.sysremotelogins where convert(varchar(132), remoteusername) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'sysremotelogins.remoteusername') print ' ' raiserror(15566,-1,-1) raiserror(15546,-1,-1,'sp_dropremotelogin'' and ''sp_addremotelogin') print ' ' select remoteserverid,remoteusername from master.dbo.sysremotelogins where convert(varchar(132), remoteusername) like @pat end if exists (select srvname from master.dbo.sysservers where convert(varchar(132), srvname) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'sysservers.srvname') print ' ' raiserror(15567,-1,-1) raiserror(15546,-1,-1,'sp_dropserver'' and ''sp_addserver') print ' ' select srvid,srvname from master.dbo.sysservers where convert(varchar(132), srvname) like @pat end if exists (select srvnetname from master.dbo.sysservers where convert(varchar(132), srvnetname) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'sysservers.srvnetname') print ' ' raiserror(15550,-1,-1) raiserror(15551,-1,-1) raiserror(15552,-1,-1) print ' ' select srvid,srvname,srvnetname from master.dbo.sysservers where convert(varchar(132), srvnetname) like @pat end end /* ** For *ALL* databases, we want to look through these: */ if exists (select name from dbo.syscolumns where convert(varchar(132), name) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'syscolumns.name') print ' ' raiserror(15568,-1,-1) raiserror(15546,-1,-1,'sp_rename') print ' ' select objname=o.name,colname=c.name from dbo.syscolumns c, dbo.sysobjects o where convert(varchar(132), c.name) like @pat and o.id = c.id end if exists (select name from dbo.sysindexes where convert(varchar(132), name) like @pat and indid > 0) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'sysindexes.name') print ' ' raiserror(15569,-1,-1) raiserror(15546,-1,-1,'UPDATE') print ' ' select id,indid,name from dbo.sysindexes where convert(varchar(132), name) like @pat and indid > 0 end if exists (select name from dbo.sysobjects where convert(varchar(132), name) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'sysobjects.name') print ' ' raiserror(15570,-1,-1) raiserror(15546,-1,-1,'sp_rename') print ' ' select owner = u.name,o.name from dbo.sysobjects o,dbo.sysusers u where convert(varchar(132), o.name) like @pat and o.uid=u.uid end if exists (select name from dbo.syssegments where convert(varchar(132), name) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'syssegments.name') print ' ' raiserror(15571,-1,-1) raiserror(15546,-1,-1,'UPDATE') print ' ' select segment,name from dbo.syssegments where convert(varchar(132), name) like @pat end if exists (select name from dbo.systypes where convert(varchar(132), name) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'systypes.name') print ' ' raiserror(15572,-1,-1) raiserror(15546,-1,-1,'sp_rename') print ' ' select name from dbo.systypes where convert(varchar(132), name) like @pat end if exists (select name from dbo.sysusers where convert(varchar(132), name) like @pat) begin if (@msilent = 1) return (1) select @ret_val = 1 print ' ' print '===============================================================' raiserror(15544,-1,-1,'sysusers.name') print ' ' raiserror(15573,-1,-1) raiserror(15546,-1,-1,'UPDATE') print ' ' select sid,uid,name from dbo.sysusers where convert(varchar(132), name) like @pat end if (@ret_val = 0 and @msilent = 0) begin raiserror(15553,-1,-1, @dbname) raiserror(15554,-1,-1) end return (@ret_val) -- sp_checknames