|
AskSQLTeam
Ask SQLTeam Question
USA
0 Posts |
Posted - 01/09/2006 : 08:28:57
|
Dmytro writes "Have a problems with subject. Here is my stor proc.
-------------------------- CREATE PROCEDURE Encrypt.GrantsForEncrypt @GrantRevoke tinyint, @ServerName varchar(50), @DBName varchar(50), @TableName varchar(50), @UserId varchar(50) AS declare @sqlGrant varchar(200)
set @sqlGrant1 = 'GRANT SELECT, UPDATE ON [' + @ServerName + '].' + @DBName + '.dbo.' + @TableName + ' TO [' + @UserId + ']'
if @GrantRevoke = 0 begin exec (@sqlGrant) end ----------------------------
When I'm trying to run this one as Encrypt user (he has db_securityadmin role in all databases), it says "The object name 'reports.db.foo.com.test.dbo.' contains more than the maximum number of prefixes. The maximum is 2." where reports.db.foo.com is name of the Database server. Is there any solutions about this problem??? I need help ASAP.
PS I've tried to use OPENQUERY: SELECT * FROM OPENQUERY(TEST,'SELECT ''x'' as Testme Use pubs GRANT SELECT ON dbo.authors TO Encrypt') but it didn't help me. OpenQuery can see only first statement, so Grant statement doesn't take effect.
Thank you." |
|