Deixando de lado por que alguém iria querer fazer tal coisa:
No MS SQL Server 2008, é possível que um SP de relatório conceda permissões a uma coluna usada nesse relatório para uma tabela em um banco de dados diferente daquele em que está sendo executado?
Estou olhando para algo como o seguinte:
USE mydb
CREATE PROCEDURE dbo.report
AS
BEGIN
GRANT SELECT ON otherdb.dbo.table (column) TO [myuser]
SELECT * from otherdb.dbo.table
END
Execute não pode ser usado em objetos em um banco de dados diferente do atual e as instruções USE não podem ser incluídas em um procedimento armazenado. Existe outra maneira?