2012-06-01 39 views
2

我收到以下sp_helpuser和sp_send_dbmail在Azure上不受支持的消息。SQL Server 2008升級到SQL Azure sp_helpuser和sp_send_dbmail

什麼是解決這個問題的建議方法?

這裏就是使用這些SP的:

CREATE PROCEDURE [dbo].[aspnet_Setup_RemoveAllRoleMembers] 
    @name sysname 
    AS 
    BEGIN 
    CREATE TABLE #aspnet_RoleMembers 
(
    Group_name  sysname, 
    Group_id  smallint, 
    Users_in_group sysname, 
    User_id   smallint 
) 

INSERT INTO #aspnet_RoleMembers 
EXEC sp_helpuser @name <--here it is 

DECLARE @user_id smallint 
DECLARE @cmd nvarchar(500) 
DECLARE c1 cursor FORWARD_ONLY FOR 
    SELECT User_id FROM #aspnet_RoleMembers 

OPEN c1 

FETCH c1 INTO @user_id 
WHILE (@@fetch_status = 0) 
BEGIN 
    SET @cmd = 'EXEC sp_droprolemember ' + '''' + @name + ''', ''' + USER_NAME(@user_id) + '''' 
    EXEC (@cmd) 
    FETCH c1 INTO @user_id 
END 

CLOSE c1 
DEALLOCATE c1 
END 
GO 

,另一SP:

CREATE PROCEDURE [dbo].[spSendMail] 
@To VARCHAR(200), 
@Subject VARCHAR(200), 
@Body VARCHAR(MAX) = '', 
@From VARCHAR(50) = '[email protected]', 
@format VARCHAR(20) = 'HTML' --HTML 
AS 

DECLARE 
@profile VARCHAR(50) 

select @profile = P.DBMailProfile from tblPaises P INNER JOIN tblParametros PR On P.Codigo = PR.Pais 


EXEC MSDB..sp_send_dbmail @profile_name = @profile, 
     @recipients = '[email protected];[email protected]', 
     [email protected] = @To, 
     [email protected]_address = @From, 
     @subject = @Subject, 
     @Body = @Body, 
     @body_format = @format 
GO 
+0

可能重複的[從SQL Azure發送電子郵件](http://stackoverflow.com/questions/5132200/sending-email-from-sql-azure) – Pondlife

+2

它不重複,因爲我問sp_helpuser –

+0

你有機會嘗試我的建議? – AvkashChauhan

回答

2

是 「則sp_helpuser」 不是SQL Azure的支持,所以如果你想冒充其他用戶,你可以使用「EXECUTE AS USER」。更多細節是here

SQL Azure中不支持'msdb.dbo.sp_send_dbmail',但這裏是您的blog which has the solution。可能還有其他解決方案,但您肯定可以考慮使用頂級的解決方案。

相關問題