Дисковая память сервера базы данных заполнена - PullRequest
0 голосов
/ 11 сентября 2009

Я использую SQL Server для своего веб-приложения. Как я узнаю, что запрос вставки не выполнен, поскольку диск памяти сервера базы данных уже заполнен

Ответы [ 5 ]

4 голосов
/ 11 сентября 2009

Код ошибки, который вы получите, будет указывать, что диск заполнен: 1105 (основная файловая группа заполнена) или 9902 (файл журнала заполнен)

2 голосов
/ 11 сентября 2009

Вы можете смоделировать это, отключив функцию автоматического увеличения в базе данных (это флажок в свойствах базы данных на вкладке файла) и заполнив базу данных. Ошибка будет такой же.

ALTER DATABASE YourDatabase
MODIFY FILE (name='YourFile' MAXSIZE=50MB);
1 голос
/ 11 сентября 2009

Полагаю, вы можете поверить, что если диск заполнен, сервер SQL вернет код ошибки :).

Вы можете заставить свой тестовый код думать, что он взаимодействует с сервером SQL, но вместо этого он будет общаться с каким-то вашим поддельным объектом, который ответит кодами ошибок, которые вы хотите протестировать.

Существуют рамки, которые могут вам помочь. Одним из них является Rhino Mocks, который вы можете скачать с http://ayende.com

1 голос
/ 11 сентября 2009

Проверьте код ошибки, который вы получаете от SQL Server при попытке вставить в базу данных.

Получив эту ошибку, вы можете решить, что делать. (например, попробуйте вставить снова, Попробуйте освободить часть памяти на сервере.) Также, если вы этого еще не сделали, поместите оператор вставки в транзакцию, чтобы можно было выполнить откат в случае возникновения ошибки.

1 голос
/ 11 сентября 2009

, если вы хотите найти использование памяти

exec sp_spaceused

Это даст вам сколько памяти вы используете для конкретной базы данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...