Как удалить объекты “Имени сервера” из истории Studio управления SQL Server

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

Вы можете поймать это исключение SEH и вызвать _resetstkoflw, чтобы сбросить стек и продолжить свой веселый путь. Это не идеально, но это еще один механизм, по крайней мере, знать, что что-то пошло не так, когда вещи попадают в фанат. * У nix может быть что-то похожее, чего я не знаю.

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

Кроме того, помимо предотвращения утечек памяти, alloca не вызывает фрагментацию памяти, что довольно важно. Я не думаю, что alloca - плохая практика, если вы используете ее разумно, что в принципе верно для всего. : -)

163
задан 29 June 2009 в 16:02
поделиться

5 ответов

Для SQL 2005 удалите файл:

C: \ Documents and Settings \ \ Application Data \ Microsoft \ Microsoft SQL Server \ 90 \ Tools \ Shell \ mru.dat

Для SQL 2008 расположение, формат и имя файла изменены:

C: \ Documents and Settings \ \ Application Data \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell \ SqlStudio.bin

Как очистить список:

  1. Завершите работу всех экземпляров SSMS
  2. Удалите / переименуйте файл
  3. Откройте SSMS

Этот запрос зарегистрирован в Microsoft Connect

68
ответ дан 23 November 2019 в 21:17
поделиться

В стандарте Windows Server 2008 с SQL Express 2008 файл «SqlStudio.bin» находится здесь:

%UserProfile%\Microsoft\Microsoft SQL Server\100\Tools\Shell\
15
ответ дан 23 November 2019 в 21:17
поделиться

Из командной строки (Пуск \ Все программы \ Стандартные \ Командная строка):

DEL /S SqlStudio.bin
6
ответ дан 23 November 2019 в 21:17
поделиться

For Windows Vista and SQL Server 2005,

Delete this file, or open it with the Notepad and clear the server names that you want Clear from the history

%UserProfile%\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat
3
ответ дан 23 November 2019 в 21:17
поделиться

Файл SqlStudio.bin на самом деле содержит двоичные сериализованные данные типа «Microsoft.SqlServer.Management.UserSettings.SqlStudio».

Используя класс BinaryFormatter, вы можете написать простое приложение .NET для редактирования содержимого файла.

7
ответ дан 23 November 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: