asp.netアプリがあり、セッションをSQLServerに保存します。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'でEXECUTE許可が拒否されました。ジョブが存在しない場合は、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'
--[ローカル]ジョブを削除します-ジョブが存在しない場合、エラーが発生することが予想されました。PRINT'ジョブが存在しない場合、msdb.dbo.sp_delete_jobからのエラーが予想されます。'
EXECUTE msdb.dbo.sp_delete_job @job_name = @jobname
SQL例外:System.Data.SqlClient.SqlException(0x80131904):オブジェクト'sp_delete_job'、データベース'msdb'、スキーマ'dbo'でEXECUTE権限が拒否されました。ジョブが存在しない場合は、msdb.dbo.sp_delete_jobからのエラーが予想されます。System.Data.SqlClient.SqlConnection.OnError(SqlException例外、Boolea n breakConnection)at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior、SqlCommand cm dHandler、SqlDataReader dataStream 、BulkCopySimpleResultSet BulkCopyHandler、Tds ParserStateObject stateObj)at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName、Boolean async)at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult res ult、String methodName、
誰かがこれを解決する方法を知っていますか?これによりデータベースが作成されますが、不完全です。