機能のアクティブ化でカスタム SharePoint タイマー ジョブを作成しようとしたときに、ログ ファイルから次のエラーが発生しました。
System.Data.SqlClient.SqlException (0x80131904):オブジェクト 'proc_putObjectTVP'、データベース 'MSSQL'、スキーマ 'dbo' に対する EXECUTE 権限が拒否されました。 System.Data.SqlClient.SqlConnection.OnError (SqlException 例外、ブール値 breakConnection、Action`1 wrapCloseInAction) で System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj、ブール値 callerHasConnectionLock、ブール値 asyncClose) で System.Data.SqlClient.TdsParser .TryRun(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj、Boolean& dataReady) System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds、RunBehavior run、String resetOptionsString) at System.Data.SqlClient.Sql. .. 5c6d109c-dbc6-e02e-7ae4-010d7f559e0b
それを機能させるために、ストアド プロシージャ proc_putObjectTVP を見つけ、サイトの apppool ユーザー ID に実行権限を付与しました。希望どおりに機能しました。
私の質問は:
これは SharePoint 2013 のバグですか? これは適切な方法ですか?(実稼働環境では、サーバー管理者がそのような操作を実行することを許可していない場合があります)