• SQL Server и динамическая регистрация SPN (Service Principal Name)

    В процессе загрузки свежее установленного экземпляра SQL Server в его логе можно обнаружить ошибку регистрации SPN, в случае если службы SQL Server запускаются от имени пользовательской доменной учетной записи.

    image

    Необходимо зарегистрировать имя участника-службы (SPN — Service Principal Name) для учетной записи службы SQL Server, чтобы в работе службы могла использоваться проверка подлинности с помощью протокола Kerberos.

    Читать далее...

  • Slipstream установка SQL Server 2008 R2

    Информацию о последних SP и кумулятивных обновлений для всех версий SQL Server можно найти в блоге Microsoft SQL Server Versions List

    После того как мы выяснили какой именно CU является последним, переходим по указанной в блоге ссылке на скачивание. В соответствующей статье KB знакомимся с порядком установки данного обновления и переходим по ссылке View and request hotfix downloads

    image

    В открывшемся списке обновлений отмечаем необходимые для скачивания обновления

    image

    Список может быть большим, и чтобы в нём было легче сориентироваться, можно использовать статью KB822499 - Схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server. В конце этой статьи приведён небольшой FAQ , позволяющий понять то, в каких случаях требуется установка тех или иных обновлений из представленного списка. Например, оттуда можно подчерпнуть информацию о том, что скачивание и установка обновления SNAC требуется только на системах, где отдельно устанавливался SQL Native Client. Если мы собираемся лишь включить обновление в процесс установки сервера, то в большинстве случаев нам будет достаточно выбрать обновление SQLServer2008R2_RTM_CU*

    После указания email мы получим письмо на этот адрес с указанием прямых ссылок на скачивание, а так же пароль необходимый для распаковки полученного архива.

    Распаковываем скачанный архив с использованием соответствующего пароля и получаем установочный файл кумулятивного обновления (в нашем случае это файл SQLServer2008R2-KB2489376-x64.exe), который в свою очередь распаковываем в отдельный каталог, например, так:

    SQLServer2008R2-KB2489376-x64.exe /x:”C:DistrCU6”

    Основной дистрибутив SQL Server 2008 R2 распаковываем из ISO в отдельный каталог, например C:DistrRTM

    После этого выполняем запуск программы установки из командной строки запущенной с правами Администратора командой:

    C:DistrRTMSetup.exe /CUSource="C:DistrCU6"

    Перед непосредственным этапом установки на шаге «Ready to Install» мастера установки можно будет убедиться в том, что используется тип установки с применением обновлений – Slipstream

    image

    Информацию о том, как интегрировать CU непосредственно в дистрибутив можно найти по ссылке How to slipstream SQL Server 2008 R2

    По завершении процесса установки при желании можно изучить все логи установки, как это описано в статье MSDN Library - Как просмотреть и читать файлы журналов установки SQL Server

    Чтобы убедиться в корректности применения CU в процессе установки мы также можем сформировать удобный сводный отчет о версиях установленных компонент SQL Server с помощью программы установки из меню Start (All Programs > Microsoft SQL Server 2008 R2 > Configuration Tools > SQL Server Installation Center)

    image

    В открывшейся диалоговой форме Центра установки SQL Server перейдём в Tools и выберем Installed SQL Server features discovery report

    image

    После чего будет сформирован и показан соответствующий отчет, в котором в колонке Version мы сможем увидеть версии всех установленных компонент SQL Server 2008 R2:

          <p><a href="https://blog.it-kb.ru/wp-content/uploads/2011/04/image6.png"><img style="display:block;float:none;margin:0 auto;" title="image" alt="image" src="https://blog.it-kb.ru/wp-content/uploads/2011/04/image_thumb6.png" width="623" height="422" /></a>
    
  • SQL Server 2008 - Перенос файлов БД tempdb на отдельный диск

    imageПри планировании развертывания приложений активно использующих системную временную базу данных SQL Server tempdb, необходимо учитывать тот факт, что по умолчанию файлы этой БД расположены на системном диске. Соответственно для того чтобы избежать в будущем возможных проблем, связанных с переполнением системного диска из-за увеличения размера файлов tempdb, нам по возможности нужно выделить для файлов этой БД отдельное логическое дисковое пространство.

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

    Следует учитывать, что для достижения максимальной производительности в работе tempdb может потребоваться разнесение файла данных и лога транзакций БД tempdb. Также следует отметить то, что для поднятия производительности хорошо нагруженных систем в  документе MSDN Library - Optimizing tempdb Performance присутствует рекомендация создавать отдельные группы файлов tempdb на разных дисках для каждого ядра серверного процессора.

    По умолчанию БД tempdb настроена на авто-расширение (Autogrow) и при каждой перезагрузке SQL Server пересоздаёт файлы этой БД с минимальным размером инициализации (Initial Size). Опираясь на рекомендации вышеуказанного документа, мы увеличим размер инициализации файлов tempdb таким образом, чтобы свести к минимуму затраты системных ресурсов на операции авто-расширения.

    Для того чтобы определить где в текущий момент физически располагаются файлы БД tempdb, откроем  SQL Server Management Studio и выполним SQL запрос:

    SELECT name, physical_name AS CurrentLocation

    FROM sys.master_files

    WHERE database_id = DB_ID(N'tempdb');

    GO

    Получим примерно такой результат:

    image

     

     

    Затем, определившись с тем, на каких логических дисках будут расположены файлы БД, и какой они будут иметь размер, выполним SQL запрос:

    USE master;

    GO

    ALTER DATABASE tempdb

    MODIFY FILE (NAME = tempdev, FILENAME = 'H:TempDB_Datatempdb.mdf' , SIZE = 10240);

    GO

    ALTER DATABASE tempdb

    MODIFY FILE (NAME = templog, FILENAME = 'I:TempDB_Logtemplog.ldf' , SIZE = 3072);

    GO

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

    После успешного выполнения запроса - перезапустим службу SQL Server и убедимся что наши файлы расположены там где мы хотим, выполнив SQL запрос:

    SELECT name, physical_name AS CurrentLocation, size, state_desc

    FROM sys.master_files

    WHERE database_id = DB_ID(N'tempdb');

     

    Если всё нормально, результат должен быть примерно таким:

    image

     

     

     

    После этого необходимо удалить файлы tempdb.mdf и templog.ldf с их старого месторасположения.

    Дополнительные источники информации:

    MSDN Library- Moving System Databases

    MSDN Library - How to: Move a Database Using Detach and Attach (Transact-SQL)

    KB224071 - How to move SQL Server databases to a new location by using Detach and Attach functions in SQL Server

  • Разрешение проблем возникающих при установке и настройке Microsoft SQL Server 2005 на Windows Server 2008

    Перечень проблем, возникающих при установке и первоначальной настройке MS SQL Server 2005 на Windows Server 2008, которые встречались на моей практике чаще всего:

    • При установке SQL Server 2005 нет возможности установить Report Services (в мастере установки недоступна опция) либо не устанавливаются клиентские компоненты и прочие дополнительные модули
    • Остановка процесса установки MS SQL Server 2005 на стадии Setting File Security
    • Нет возможности установить Report Services т.к. в программе установки включение этой опции недоступно.
    • После установки SQL Server 2005 отказывается стартовать служба полнотекстового поиска - SQL Server FullText Search
    • После установки SP3 для SQL Server 2005 служба SQL Server Reporting Services не стартует с описанием ошибки об истечении таймаута запуска 
    • После установки SP3 на SQL Server может потеряться доступность вэбузла SQL 2005 Reporting Service

    При установке SQL Server 2005 нет возможности установить Report Services (в мастере установки недоступна опция) либо не устанавливаются клиентские компоненты и прочие дополнительные модули

    Сценарий с которыми приходилось сталкиваться:

    В мастере установки SQL Server 2005 отмечаются для установки клиентские модули и утилиты управления и настройки, в том числе SQL Server Management Studio, но после окончания установки эти модули в системе отсутствуют.

    Причина и решение проблем:

    Вероятнее всего установка производится с архивного носителя (не с оригинального инсталляционного CD).
    К примеру в архивной поставке RTM версия SQL Server 2005 x64 English Standard Edition мы имеем два архива:

    SW_CD_SQL_Svr_Standard_Edtn_2005_64Bit_X64_English_1_x64_MLF_X11-57664.EXE
    SW_CD_SQL_Svr_Standard_Edtn_2005_64Bit_X64_English_2_x64_MLF_X11-57665.EXE

    В первом архиве находятся файлы необходимые для установки самого движка SQL Server, а во втором всевозможные к нему добавы типа Report Services, SQL Server Management Studio и т.п...
    Так вот архитектура инсталлятора SQL Server подразумевает то, что эти два архива перед установкой будут распакованы в соответствующие каталоги с конкретными именами: Servers и Tools
    И при этом ещё эти каталоги должны находиться вместе в одном каталоге. Только в таком случае можно будет гарантировать успешный и правильный исход программы установки.
    Кажется полным бредом...но тем не менее это факт проверенный на практике.

    Остановка процесса установки MS SQL Server 2005 на стадии Setting File Security

    При попытке установить MS SQL Server 2005 x64 на Windows Server 2008 Standard x64 столкнулся с проблемой - программа установки "замерзает" на шаге "Setting File Security"

    image

    В этот момент статусном логе установки можно наблюдать последние записи что-то типа:
     
    <EndFunc Name='SetCAContext' Return='T' GetLastError='203'>
    Doing Action: Write_sqlRegSDDL
    PerfTime Start: Write_sqlRegSDDL : Tue Feb 24 15:00:07 2009

    Как оказалось эта проблема связана с тем что для текущего домена в котором выполняется установка существуют
    доверительные отношения с другими доменами и в некоторых случаях процесс установки из-за этого может затягиваться более чем на сутки
    на стадии "Setting File Security". В общем-то проблема описана в статье
    MS KB 910070
    Таже приводится весьма  замороченный способ исправления проблемы с манипуляциями по пропатчиванию msi пакетов программ инсталляции SQL Server 2005.
    Бойцами невидимого фронта опытным путём было выяснено что в момент “замерзания” программы установки достаточно выключить сетевой интерфейс чтобы имитировать пропадание сетевого подключения, после чего (у меня получилось примерно 10 минут) программа установки как ни в чём не бывало продолжит свою работу.
     
    Бойцы невидимого фронта:

    Нет возможности установить Report Services т.к. в программе установки включение этой опции недоступно

    Как известно компонент Microsoft SQL Server 2005 - Report Services требует наличие прeдустановленных служб IIS.
    При включении роли Вэб-сервер (IIS) на Windows Server 2008 в дефолтной конфигурации компонент Report Services не будет доступен для установки.
    Лечится это так - в настройке ролей сервера в разделе IIS добавить компоненты - IIS 6 Management Compatibility - Совместимость управления IIS 6.
    Об этом описано в статье
    MS KB 938245 - How to install and how to configure SQL Server 2005 Reporting Services on a computer that is running Windows Server 2008

    Также дополнительную информацию по этому вопросу можно найти в стаптье из SQL Server 2005 Books Online (November 2008) - How to: Install and Configure Reporting Services on Windows Server 2008

    После обновления роли IIS перезагружаем сервер. После ребута установка Report Services станет доступной.

    После установки SQL Server 2005 отказывается стартовать служба полнотекстового поиска - SQL Server FullText Search

    После установки SQL Server 2005 отказывается стартовать служба полнотекстового поиска - SQL Server FullText Search и в журнале System при старте этой службы регистрируется ошибка с кодом Event ID 7003 (источник - Service Control Manager Eventlog Provider)
    и содержанием:

    The SQL Server FullText Search (MSSQLSERVER) service depends the following service: NTLMSSP. This service might not be installed.

    Проблема имеет два решения:

    1) В системном реестре отключить зависимость от службы NTLMSSP: Найти в системном реестре ключ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesmsftesqlDependOnService
    Удалить из значения ключа параметр "NTLMSSP" и перезагрузить сервер.

    2) Более простое и правильное - после установки SQL Server 2005 установить c WSUS пакет исправлений SP2 (или более новый).

    После установки SP3 для SQL server 2005 cлужба SQL Server Reporting Services не стартует с описанием ошибки об истечении таймаута запуска

    Замечено что после установки SP3 на SQL Server 2005 может перестать автоматически стартовать служба SQL Server Reporting Services, а при попытке стартовать службу вручную мы получим ошибку с описанием типа "Error 1053: The Service did not respond to start or control request in a timely fashion".

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

    В системном реестре находим ветку  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
    Создаем в ней параметр DWORD с именем ServicesPipeTimeout и значением 60000 (Десятичное значение)
    Перезагружаем компьютер и убеждаемся в то что проблемная служба успешно стартовала.

    Обращаю ваше внимание на то что значение параметра указывается в миллисекундах и влияет на запуск всех служб в ОС.
    Источник: Microsoft KB824344 How to debug Windows services

    После установки SP3 на SQL Server может потеряться доступность вэбузла SQL 2005 Reporting Service

    Данная проблема связана с тем что при установке SP3 на SQL Server 2005 в свойствах вэб узла SQL 2005 Reporting Service слетают настройки безопасности.
    Для решения проблемы в консоли Internet Information Services (IIS) Manager раскроем Default Web Site и в нем найдем ReportServer. Выберем Handler Mappings.

    image

    Выбираем справа Edit Feature permissions и включаем права на Script и Execute.

    image