SQL Server требует постоянно перезагрузку

by Alexey Knyazev 14. июня 2010 00:48

Ошибка с которой и мне пришлось столкнуться, при установке SQL Server либо SP, требовалась перезагрузка, но после перезагрузки сообщение появлялось опять:


Rule "Restart computer" failed.
A computer restart is required. You must restart this computer before installing SQL Server.


Решается проблема достаточно просто, правкой реестра: Находим ветку "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations" и удаляем или переименовываем ключ PendingFileRenameOperations


 


Этого должно быть достаточно, но если и это не поможет, то проделайте теже действия с ключами ещё пары веток реестра:



  • "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Control\Session Manager\PendingFileRenameOperations"

  • "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet002\Control\Session Manager\PendingFileRenameOperations"


После этого можно продолжить установку SQL Server.

[Ещё]

Tags: , ,

SQL Server

SQL Server Management Studio зависает

by Alexey Knyazev 12. мая 2010 01:47

Периодически на форумах возникает вопрос, подобный этим:



  • "Почему SQL Server Management Studio так медленно работает?"

  • "SSMS постоянно виснет"

  • "Почему Management Studio так долго открывается/закрывается".


Для решения подобных проблем, предлагаю проделать кое какие действия:



1. Убедитесь, что ваша рабочая станция соответствует всем минимальным требованиям, как в плане "железа", так и софта, для работы SSMS (SQL Server Management Studio)
Например для удовлетворительно работы Microsoft® SQL Server® 2008 Management Studio Express потребуется:



Системные требования



  • Поддерживаемые операционные системы: Windows 7; Windows Server 2003 Service Pack 2; Windows Server 2008; Windows Server 2008 R2; Windows Vista; Windows Vista Service Pack 1; Windows XP Service Pack 2; Windows XP Service Pack 3

  • 32-разрядные системы: компьютер, оборудованный процессором Intel или совместимым процессором с тактовой частотой 1 ГГц или выше (рекомендуется 2 ГГц или выше, поддерживается только один процессор)

  • 64-разрядные системы: процессор с тактовой частотой 1,4 ГГц или выше (рекомендуется 2 ГГц или выше, поддерживается только один процессор)

  • Минимальный объем ОЗУ 512 МБ (рекомендуется 1 ГБ или более)

  • 1 ГБ свободного места на диске



2. Посмотрите версию вашего клиента ( "Help" -> "About" ), возможно стоит обновиться до последнего SP (сервис пака) или существует SQL Server Hotfix, который может решить ваши проблемы. Список доступных версий можно посмотреть по ссылке http://www.t-sql.ru/page/versions.aspx.



3. Возможно какое-то из Ваших приложений «мешает» работе SSMS, например антивирус, убедитесь, что он верно настроен.


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


5. Запретите загрузку помощи из сети: "Tools" -> "Options" -> "Help" -> "Online" укажите "Try local first, not online".



6. Отключите проверку аннулированных сертификатов в "Internet Explorer" -> "Tools" -> "Internet Options" -> "Advanced" и снять «галки» с Check for server certificate revocation и Check for publisher's certificate revocation
(Подробнее: http://msmvps.com/blogs/gladchenko/archive/2007/01/16/497463.aspx)



7. Отключите отображение экрана-заставки при открытии среды SQL Server Management Studio. Правой кнопкой мыши по ярлыку SSMS и в свойствах добавьте параметр "nosplash" (http://msdn.microsoft.com/ru-ru/library/ms162825(SQL.100).aspx).



8. Отключите автосохранение в реестре (ключ AutoRecover Enabled), ибо SSMS фоново сохраняет информацию ( HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\100\Tools\Shell\General\AutoRecover ).


9. Определите значения переменных %vsspv_visualstudio_dir% и %vsspv_vs_install_directory% , либо в реестре явно укажите пути для параметров DefaultSettingsDirectory и LastResetSettings ( HKCU\Software\Microsoft\Microsoft SQL Server\100\Tools\Shell\Profile ).
Например:
"%USERPROFILE%\My Documents\SQL Server Management Studio\Projects"
и
"%USERPROFILE%\Мои документы\SQL Server Management Studio\Common7\IDE\Profiles\sqlshell.vssettings"
соответственно.



10. Сам не пробовал, но рекомендуют заменить видеокарту, возможно, это поможет, если ни один из пунктов выше не решил ваших проблем.

[Ещё]

Tags: , , ,

SQL Server

Дата прописью

by Alexey Knyazev 14. апреля 2010 21:31

Делал для себя, но возможно ещё кому-то пригодится:

[Ещё]

Tags: ,

SQL Server

Отправка почты SMTP (очередная сборка)

by Alexey Knyazev 7. апреля 2010 13:15

В очередной раз обращаюсь к работе с почтой через CLR-сборки. Я уже описывал, как читать почту по протоколу POP3 и IMAP. Теперь небольшая демонстрация, как отправлять почту через SMTP.


SMTP (англ. Simple Mail Transfer Protocol — простой протокол передачи почты) — это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.


Для отправки почты в SQL Server 2005 и выше используется Компонент Database Mail.


Компонент Database Mail — это решение уровня предприятия для отправки сообщений электронной почты от компонента SQL Server Database Engine. Используя компонент Database Mail, приложения базы данных могут отправлять почтовые сообщения пользователям. Сообщения могут содержать результаты запроса, а также могут включать файлы из любого сетевого ресурса. Компонент Database Mail спроектирован для надежности, масштабируемости, безопасности и простой поддержки.


А я покажу простенький код сборки для отправки почты, не используя Database Mail.

[Ещё]

Tags: ,

SQL Server

Блог переехал на платформу Windows Server 2008, IIS 7.0, ASP.Net

by Alexey Knyazev 24. марта 2010 11:42

Давно возникла такая идея и это произошло!!!


За хостинг большое спасибо .masterhost

[Ещё]

Tags:

PowerShell | SQL Server

Выборка из однотипных тaблиц (разные схемы)

by Alexey Knyazev 15. марта 2010 12:34

Начиная с 2005ой версии в SQL Server появилось такое понятие как схема. Схема формально определяется как набор объектов в базе данных, объединенных общим пространством имен. Проще всего представить себе схему как некий логический контейнер в базе данных, которому могут принадлежать таблицы, представления, хранимые процедуры, пользовательские функции, ограничения целостности, пользовательские типы данных и другие объекты базы данных. Этот контейнер удобно использовать как для именования объектов и их логической группировки, так и для предоставления разрешений. Например, если в базе данных есть набор таблиц с финансовой информацией, удобно поместить их в одну схему и предоставлять пользователям разрешения на эту схему (т. е. на этот набор таблиц).


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

[Ещё]

Tags: ,

SQL Server

Экспорт таблицы пользователей в АD (PоSh)

by Alexey Knyazev 10. марта 2010 12:25

На форуме "TechNet RUS SQL Forum" появился вопрос:


Можно ли сразу из БД при помощи MS SQL перевести значения полей в AD в виде пользователей. (К примеру по фамилии имеющихся в БД людей создать пользователей в AD с логином <фамилия>)? (http://social.technet.microsoft.com/Forums/ru-RU/sqlru/thread/54ca41d0-d70c-4318-8b5c-daa7aecce9f5)


В качестве решения подобной задачи предлагаю небольшой скрипт на PowerShell.

[Ещё]

Tags: , ,

PowerShell | SQL Server

Своё шифрование в SQL Server 2005 и выше

by Alexey Knyazev 9. марта 2010 11:57

Практически в любой отрасли существуют свои критические данные, которые требуют шифрования. Начиная с SQL сервера версии 6.x, для шифрования данных вы можете применять функцию ENCRYPT (в последних версия эта функция уже недоступна), которая использует тот же метод (шифрования), что и опция WITH ENCRYPTION.


Начиная с SQL Server 2000 появилась недокументированная функция PWDENCRYPT, которая возвращает Хэш пароля (PWDENCRYPT — это устаревшая функция, которая может не поддерживаться в будущих версиях SQL Server. Вместо этого используйте программу HASHBYTES. HASHBYTES предоставляет больше алгоритмов хэширования), а так же PWDCOMPARE - Хэширует пароль и сравнивает хэш с хэшем существующего пароля.


Для более сложного шифрования данных до версии SQL Server 2005 приходилось "изобретать велосипед", но начиная с 9ой версии шифрование и дешифровка стали встроенным функционалом. А в SQL Server 2008 появилось прозрачное шифрование.


Но в очередной раз попробуем изобрести велосипед и организовать своё шифрование данных в виде CLR-сборки.

[Ещё]

Tags: , , , , ,

SQL Server

Загрузка/выгрузка файлoв в/из BD (+их компрессия)

by Alexey Knyazev 2. марта 2010 11:37

У любого разработчика БД рано или поздно возникает потребность вставить файл(ы) в базу. Преимуществ хранения файлов внутри БД уйма, как и недостатков, но сегодня не об этом, а вообще о том, как возможно загрузить/выгрузить файлы. Наиболее интересный и правильный вариант, на сегодня, работы с файлами - это FileStream (появился в SQL Server 2008).


Хранилище FILESTREAM в SQL Server 2008 позволяет приложениям на основе SQL Server хранить в файловой системе неструктурированные данные, такие как документы и изображения. Приложения могут эффективно использовать многопоточные API-интерфейсы и производительность файловой системы, одновременно обеспечивая согласованность между неструктурированными и соответствующими им структурированными данными.


Но всё же до сих пор многих интересует вариант хранения файлов внутри обычных таблиц в полях BLOB (image/varbinary). Вставку файлов в БД и последующую работу с ними легко организовать с помощью нескольких строк на любом языке программирования, но мы попробуем обойтись средствами SQL Server`а.

[Ещё]

Tags: , , , ,

SQL Server

Читаем почту (IMAP). CLR-сборка.

by Alexey Knyazev 4. февраля 2010 11:22

В одной из предыдущих статей я писал, как читать почту в SQL Server 2005/2008/2008R2 по протоколу POP3 (http://www.t-sql.ru/post/POP3CLR.aspx), там же пообещал, что в ближайшее время покажу, как осуществлять доступ к почте по протоколу IMAP.


Область применения протокола IMAP ( Internet Message Access Protocol ) аналогична области применения протокола POP3: он тоже предназначен для получения почты и используется на участке между MUA получателя и хранилищем сообщений. IMAP предоставляет более широкие возможности работы с почтовыми ящиками, чем POP3: он позволяет работать с несколькими почтовыми ящиками на одном или нескольких серверах IMAP как с файлами и каталогами на собственной машине пользователя. Обычно почтовые ящики сервера IMAP действительно представляют собой файлы в специальном каталоге сервера и его подкаталогах.


Как и в прошлый раз - это будит CLR-сборка (работает достаточно шустро). Но прежде рекомендую ознакомиться с описанием IMAP-протокола.

[Ещё]

Tags: , , , , ,

SQL Server