1
2 /* Can be Executed in any database */
3
4 /*
5 ** WARNING: this system procedure is an un-documented system procedure
6 ** reserved for the exclusive use of Replication Server. Do *NOT* use this
7 ** system procedure to hide text. Use the system procedure
8 ** 'sp_hidetext' instead.
9 **
10 ** Parameters:
11 ** objname - Compiled object name
12 ** tabname - table name
13 ** username - user name
14 **
15 ** Returns:
16 ** 1 - if error.
17 ** 0 - if no error.
18 */
19 create procedure sp_hidetext_rep
20 @objname varchar(255) = NULL,
21 @tabname varchar(255) = NULL,
22 @username varchar(255) = NULL,
23 @passwdvalue varbinary(256) = NULL,
24 @version int = 0,
25 @ownername varchar(255) = NULL,
26 @status int = 0
27 as
28 declare @ret int
29 declare @dbname varchar(255)
30 declare @sqlstr varchar(512)
31
32 if (@passwdvalue is not NULL)
33 begin
34 select @sqlstr =
35 "SET ENCRYPTION PASSWD 0x" + bintostr(@passwdvalue)
36 + " FOR KEY master VERS " + convert(varchar, @version)
37 + " USER '" + @ownername + "'"
38 + " STATUS " + convert(varchar, @status)
39 exec (@sqlstr)
40 end
41
42 execute @ret = sp_aux_text @objname, @tabname, @username, 2
43
44 if @ret = 0
45 begin
46 /*
47 ** The built-in 'logexec()' logs for replication the execution
48 ** of this system procedure.
49 ** If the current database is not marked for replication or it is
50 ** 'master' then the built-in is a no-op.
51 */
52 if (logexec() != 1)
53 begin
54 select @dbname = db_name()
55 raiserror 17756, "sp_hidetext_rep", @dbname
56 select @ret = 1
57 end
58 end
59
60 return @ret
61
exec sp_procxmode 'sp_hidetext_rep', 'AnyMode'
go
Grant Execute on sp_hidetext_rep to public
go