Автоматическое исправление ошибки tempdb, связанной с 'ASPStateTempSessions'

Согласно этому руководству , я успешно настроил IIS на моем компьютере разработчика XP-SP3 для SQL Server 2008 Express для сохранения информации о состоянии сеанса ASP.NET. Я просто использую SQL Server, потому что в противном случае при каждой перекомпиляции я терял состояние сеанса, которое было неприятным (приходилось повторно входить в систему). Но я сталкиваюсь с неприятной проблемой, заключающейся в том, что каждый раз, когда я перезапускаю SQL, появляется эта ошибка, а иногда и один или два других очень похожих друга:

The SELECT permission was denied on the object 'ASPStateTempSessions',
database 'tempdb', schema 'dbo'.

Чтобы исправить ошибку, я просто открываю Management Studio и редактирую сопоставление пользователей для login / dbo, который я использую в базе данных ASPState, и повторно добавляю tempdb этому пользователю со всеми разрешениями, кроме запрета. По-видимому, как только появятся нужные разрешения, ASP.NET сможет автоматически создавать таблицы, которые он использует. Это просто может ' Есть ли способ не повторять это при каждом перезапуске SQL Server?

Мне не очень важно сейчас сохранять временные данные при перезапусках, но я бы не хотел, чтобы это происходило шаг вручную, чтобы мое веб-приложение работало на localhost, который повсюду использует переменные состояния сеанса. Я полагаю, что можно было бы прибегнуть к какой-то хранимой процедуре в SQL Server, чтобы выполнить задачу для этого компьютера при запуске службы, чтобы не приходилось делать это вручную. Я бы принял такой ответ как быстрое решение. Но я также предполагаю, что есть лучшая рекомендуемая конфигурация или что-то в этом роде. Не вижу ответа на этот вопрос в практическом руководстве или где-либо еще здесь, на StackOverflow.

6
задан zanlok 1 December 2010 в 02:13
поделиться