我有 asp.net 应用程序,我将把我的会话存储在 SQL Server 中。我正在使用 Amazon RDS(Microsoft SQL Server Express Edition)。我正在使用本地数据库进行测试,它在那里运行良好。
所以我尝试用下一行创建会话数据库
aspnet_regsql.exe -ssadd -sstype p -S mydb.rds.amazonaws.com -U myuser-P mypass
所以我的意思是它适用于本地数据库。但对于 Amazon RDS,我收到了下一个例外:
开始添加会话状态。
.. 执行 SQL 文件“InstallSqlState.sql”时出错。SQL 错误号为 229,SqlException 消息为:对象“sp_delete_job”、数据库“msdb”、模式“dbo”的执行权限被拒绝。如果作业不存在,则预计 msdb.dbo.sp_delete_job 会出错。SQL Server:mydb.rds.amazonaws.com 数据库:aspnetdb 加载的 SQL 文件:InstallSqlState.sql
命令失败:
/* 删除所有表、启动过程、存储过程和类型。*/
/* 删除 DeleteExpiredSessions_Job */
DECLARE @jobname nvarchar(200) SET @jobname = N'ASPState' + '_Job_DeleteExpiredSessions'
-- 删除 [local] 作业 -- 如果作业不存在,我们预计会收到错误消息。' PRINT '如果作业不存在,则 msdb.dbo.sp_delete_job 会出现错误。
执行 msdb.dbo.sp_delete_job @job_name = @jobname
SQL 异常:System.Data.SqlClient.SqlException (0x80131904):对象“sp_delete_job”、数据库“msdb”、架构“dbo”的执行权限被拒绝。如果作业不存在,则预计 msdb.dbo.sp_delete_job 会出错。在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cm dHandler,SqlDataReader dataStream , BulkCopySimpleResultSet bulkCopyHandler, Tds ParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult 结果, String methodName,
有人知道解决这个问题的方法吗?这会创建一个数据库,但它是不完整的。