четверг, 31 октября 2013 г.

Установка 1С:Предприятие 7.7 на Microsoft SQL Server 2008

Жизнь не стоит на месте :)
Несколько ссылок, которые могут служить пошаговым руководством:
http://forum.ru-board.com/topic.cgi?forum=8&topic=34526
http://tavalik.ru/index.php/ustanovka-1spredpriyatie-7-7-na-microsoft-sql-server-2008-r2/
http://www.maxblogs.ru/articles/zastavlyaem-rabotat-1s-versii-77-na-windows-server-2008-r2-64bit
http://forum.ru-board.com/topic.cgi?forum=8&topic=34526&start=20#18
http://tavalik.ru/index.php/hex-editor/

Некоторые моменты:
  • установку не делаем, берем папку с установленной 1С с другой машины;
  • добавляем файл 1cv7s.exe в исключение “Предотвращения выполнения данных (DEP)"; 
  • патчим bkend.dll (или берем готовый) для исправления ошибки "Для доступа к базе данных требуется ODBC-драйвер для MS SQL Server версии 3.50.0303 или старше.", "«Неправильный синтаксис около ключевого слова «TRANSACTION»" и "База данных не может быть открыта в однопользовательском режиме";
  • создаем пустой файл ordnochk.prm для устранения ошибки "Порядок сортировки, установленный для базы данных, отличается от системного!";
  • в 1С параметрыбазы данных SQL задаем в виде <Сетевое имя компьютера>\<Имя экземпляра SQL Server>;

Ошибка установки MS SQL Server на ПК с нечётным количеством ядер процессора.

Проблема:
Машина на AMD Athlon II X3 435, свежеустановленная Windows 2003 Server
Ставится MS SQL Server 2000 Standart, установка проходит нормально, все работает.
Однако, после попытки установить SP4, MS SQL перестает запускаться.
Точнее сказать, в процессе установки наглухо зависает, а после принудительного прерывания - более не стартует.

В журнале установки отображается следующее:
13:44:06 Upgrading databases
13:44:06 Upgrading databases on instance 'MSSQLSERVER'
13:44:06 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\SqlSetup\Bin\scm.exe  -Silent 1 -Action 6 -Service MSSQLSERVER 
13:44:06 Process Exit Code: (0)
13:44:06 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\SqlSetup\Bin\scm.exe  -Silent 1 -Action 6 -Service MSSQLSERVER 
13:44:06 Process Exit Code: (0)
13:44:06 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\SqlSetup\Bin\scm.exe  -Silent 1 -Action 1 -Service MSSQLSERVER   -StartupOptions \-T4022 \-T4010 \-m
13:59:13 Process Exit Code: (1460) Возврат из операции произошел из-за превышения времени ожидания.

14:01:36 A service control operation failed for the MSSQLSERVER service: 1460
Возврат из операции произошел из-за превышения времени ожидания.

14:02:33 An error occurred starting the service to build system catalogs.
14:02:33 Action CleanUpInstall:
14:02:33 Installation Failed.



Попытки использования других версий ПО (Developer, Enterprise) и прочие игры с ПО (обычные советы насчет отключения антивируса и т.п.) результата не дали.

Решение:
Нашел несколько ссылок, с примерно похожими симптомами:
1.http://www.sql.ru/forum/684454-3/oshibka-pri-ustanovke-obnovleniy-sp4-na-ms-sql-2000 - некто xishnik  хотел поднять 2000 SQL и накатить SP4 поверх, результат как у меня. Если убрать разухабистые комментарии тамошних форумных дебилов, в сухом остатке останется буквально 3 сообщения в самом конце темы - да, на нечетном количестве ядер установка SP4 не стартует, а если поменять процессор после установки сервис-пака - MS SQL не работает.
2. http://support.microsoft.com/kb/954835/en-us - "On a computer that has a multicore processor, you may be unable to install SQL Server 2005" - не совсем 2000 SQL, конечно, но все-таки похоже: 
Consider the following scenario. You try to install Microsoft SQL Server 2005 on a computer that has a multicore processor, and one of the following conditions is true:
 - The ratio between logical processors and physical sockets is not a power of 2. For example, the computer has a single socket together with a triple-core processor.
 - The number of physical cores is not a power of 2.
 - The total number of CPUs is an odd number. For example, there are seven or nine CPUs.
In these scenarios, you cannot install SQL Server 2005.
Лечить проблему, не меняя сам процессор, предлагается через редактирование файла BOOT.INI путем установки параметра  /NUMPROC= 1. (подробней см. по ссылке выше)

Попробовал, но увы, ни на 2005, ни на 2000 версиях SQL рецепт не сработал.
Помогло только волевое решение перейти на версию SQL Server 2008 SP1 CU3. Она работает на любом количестве ядер.
Конечно, возникла новая проблема: подружить 1С 7.7 с 2008 SQL Server, но это другая история.

Контроллер домена работает неправильно

Утянуто отсюда: http://troublehooting.narod.ru/win/dc2k.html

  Список продуктов, к которым относится данная статья:

Microsoft Windows Server 2003 Standard Edition
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 Datacenter Edition
Microsoft Windows 2000 Datacenter Server
Microsoft Windows 2000 Advanced Server
операционная система Microsoft Windows 2000 Server


Внимание! Решение проблемы связано с внесением изменений в системный реестр. Перед внесением изменений рекомендуется создать архивную копию системного реестра и изучить процедуру его восстановления. Дополнительные сведения об архивировании, восстановлении и изменении реестра см. в следующей статье базы знаний Майкрософт:
256986(http://support.microsoft.com/kb/256986/) Описание реестра Microsoft Windows

Проблема

После запуска средства Dcdiag на контроллере домена под управлением Windows 2000 или Windows Server 2003 появляется следующее сообщение об ошибке.

DC Diagnosis
Performing initial setup:
[DC1] LDAP bind failed with error 31


Если запустить команду REPADMIN /SHOWREPS на контроллере домена в локальном режиме, появляется следующее сообщение об ошибке:

[D:\nt\private\ds\src\util\repadmin\repinfo.c, 389] Ошибка LDAP 82 (Локальная ошибка).

При попытке получить с контроллера домена доступ к сетевому ресурсу (включая ресурсы с именами в формате UNC и подключенные сетевые диски) появляется следующее сообщение об ошибке:

Отсутствуют серверы, которые могли бы обработать запрос на вход в сеть (c000005e = "STATUS_NO_LOGON_SERVERS")
После запуска с консоли контроллера домена одного из средств администрирования Active Directory, включая оснастки «Active Directory — сайты и службы» и «Active Directory — пользователи и компьютеры», появляется одно из следующих сообщений об ошибках.

Не удалось найти сведения об именах по следующей причине: Невозможно обратиться за проверкой подлинности в орган сертификации. Обратитесь к администратору и проверьте правильность настройки домена и что домен работает.

Не удалось найти сведения об именах по следующей причине: Конечная учетная запись указана неверно. Обратитесь к администратору и проверьте правильность настройки домена и что домен работает.

Клиенты Microsoft Outlook, подключающиеся к серверу Exchange, который использует данный контроллер домена для проверки подлинности, получают запрос на указание учетных данных, даже если проверка подлинности при входе на других контроллерах домена прошла успешно.

Средство Netdiag отображает следующие сообщения об ошибках.

DC list test . . . . . . . . . . . : Failed
[WARNING] Cannot call DsBind to . (). [ERROR_DOMAIN_CONTROLLER_NOT_FOUND]
Kerberos test. . . . . . . . . . . : Failed
[FATAL] Kerberos does not have a ticket for krbtgt/.
[FATAL] Kerberos does not have a ticket for .
LDAP test. . . . . . . . . . . . . : Passed
[WARNING] Failed to query SPN registration on DC \


В журнале системных событий на контроллере домена регистрируется следующая запись.
Тип: Ошибка
Источник: Диспетчер служб
Код (ID): 7023
Описание: Служба «Центр распространения ключей Kerberos» завершена из-за ошибки: Диспетчер защиты (SAM) или локальный сервер (LSA) не смог выполнить требуемую операцию. 

Решение

После подключения к серверу терминалов на Windows 2003 - пользователь видит черный экран

Проблема :
После подключения к терминальному серверу на Windows 2003 пользователь видит черный экран.

Решение: немного поправить реестр, найдено на http://theregime.wordpress.com/2010/02/15/rdp-black-screenconsole-black-screen-or-parts-black-windows-2003/

Ну и традиционно утяну к себе, на всякий случай:

S.M.A.R.T. атрибуты

Собрал понемногу из статей на http://forum.oszone.net 
 
Программы для чтения SMART
SpeedFan
SMARTUDM - HDD S.M.A.R.T. Viewer
MHDD
Виктория 


Расшифровка параметров:
Attribute - имя атрибута;
ID - номер атрибута;
Value - значение атрибута (выше лучше);
Threshold - пороговое значения атрибута (если значение меньше чем Threshold, готовьтесь к неприятностям);
Worst - самое низкое значение атрибута за все время тестирования;
Raw - текущее значение атрибута в 16-ричном значении (меньше лучше);
Type - тип атрибута (PR - Performance-related, ER - Error rate, EC - Events count, SP - Self-preserve).


 Параметры:

MS SQL. Состояние базы данных SUSPECT

База данных может войти в состояние SUSPECT по многим причинам: неисправность оборудования, "битый" LOG или MDF файл, заполнено дисковое пространство, ограничения по линии файловой системы FAT32 и т.д.

Если обратиться в BOL, то там можно узнать, что состояние SUSPECT означает повреждение файла (находится в подозрительном состоянии) и он может быть восстановлен или удален. Также отмечается, что базу данных можно восстановить из резервной копии.

Со словом "удален" все понятно. Попробуем восстановить базу данных. Для простоты будем рассматривать случай, когда повреждена пользовательская база данных.
1. Останавливаем MS SQL SERVER;
2. Копируем файлы mdf и ldf аварийной базы данных в безопасное место;
3. Стартуем сервер и удаляем аварийную базу данных. В этом пункте в некоторых случаях, когда невозможно удалить базу данных, придется подкорректировать системную таблицу sysdatabases;
4. Создаем новую базу данных с таким же именем и местоположением как и аварийная база данных;
5. Останавливаем сервер и подменяем mdf файл;
6. Стартуем сервер. В данный момент состояние аварийной базы данных для нас не актуально.
7. Из QA выполняем скрипт, который позволит нам редактировать системные таблицы
Use master
go
sp_configure 'allow updates', 1
reconfigure with override
go
8. Там же выполняем скрипт, который выводит номер статуса аварийной базы данных, например, 536870912 - полнотекстовые функции включены и т.д.
select status from sysdatabases where name = ''
и запоминаем/записываем значение на случай неудачи перестройки лога
9. Там же выполняем скрипт, который переводит базу данных в аварийный режим
update sysdatabases set status= 32768 where name = ''
10. Перезапускаем MS SQL SERVER;
11. База данных должна находиться в emergency mode, но уже не в состоянии SUSPECT
12. Из QA выполняем скрипт, который создает новый лог к аварийной базе данных
DBCC REBUILD_LOG('', '<имя нового лога с указанием полного пути>')
SQL Server скажет - Warning: The log for database '' has been rebuilt.
13. Выполняем следующий скрипт - переводи базу данных в однопользовательский режим:
Use master
go
sp_dboption '', 'single user', 'true'
go
USE
GO
DBCC CHECKDB('', REPAIR_ALLOW_DATA_LOSS)
go

1. Если Вам не удалось перевести базу в single user mode, то для проверки целостности данных можно попробовать dbo only mode
sp_dboption '', 'dbo use only', 'true'
2. Если все прошло успешно, то
sp_dboption '', 'single user', 'false'
go
Use master
go
sp_configure 'allow updates', 0
go

ПРИМЕЧАНИЕ.
1. Если в состояние SUSPECT вошла, например, база данных TEMPDB, то необходимо воспользоваться рекомендациями {http://support.microsoft.com/kb/q288809/}
2. Можно интересную информацию получить по ссылке {http://support.microsoft.com/default.aspx/kb/328354}
3. Резервное копирование и восстановление баз данных {http://www.sql.ru/articles/Publications.shtml#fix}


Оригинал статьи утянут отсюда: http://alexs07.livejournal.com

вторник, 29 октября 2013 г.

1С и Excel

Нашел вот здаесь http://exp-1c.narod.ru/articles/articl01.htm - отличную статью про связку
Excel и 1С. Утяну к себе кусочек, на всякий случай.

Сложность поддержки большого проекта

Маркетолог спрашивает программиста: в чём сложность поддержки большого проекта?
Программист: ну представь, что ты писатель и поддерживаешь проект "Война и мир". У тебя ТЗ — написать главу как Наташа Ростова гуляла под дождём по парку. Ты пишешь "шёл дождь", сохраняешь, вылетает сообщение об ошибке "Наташа Ростова умерла, продолжение невозможно". Почему умерла? Начинаешь разбираться. Выясняется, что у Пьера Безухова скользкие туфли, он упал, его пистолет ударился о землю и выстрелил в столб, а пуля от столба срикошетила в Наташу. Что делать? Зарядить пистолет холостыми? Поменять туфли? Решили убрать столб. Получаем сообщение "Поручик ржевский умер." Выясняется, что он в следующей главе облокачивается о столб, которого уже нет ...

Ошибка "Удаленный компьютер отключил сеанс, из-за ошибки в протоколе лицензирования"

При попытке подключения к удаленному рабочему столу соединение прерывается с ошибкой "Удаленный компьютер отключил сеанс, из-за ошибки в протоколе лицензирования".

Причина возникновения этой ошибки кроется в отсутствии прав у пользователя на создание подразделов HardwareID и Store в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing.

Для устранения ошибки, выполните следующие действия: Запустите «Подключение к удаленному рабочему столу» (или введите команду mstsc.exe из командной строки) с правами администратора («Запуск от имени администратора») или войдите в систему под учетной записью с правами администратора домена, если компьютер входит в домен.

Подключитесь к терминальному серверу. В этот момент будут автоматически созданы разделы реестра HardwareID и Store.

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

пятница, 25 октября 2013 г.

Проблема с контроллером USB


Описание проблемы
Перестала видеться флешка, при вставке просто ничего не происходит. Ни звука вставки устройства, ни появления съемного диска, ни нового устройства нет. Хотя светодиод на флешке загорается, т.е. питание подается.
Такая же ситуация со всеми остальными USB устройствами, они не видятся системой. Флешка рабочая и на другом компьютере определяется и работает корректно.
Смотрим в диспетчере устройств , все устройства в ветке «Контроллеры универсальной последовательной шины USB» помечены желтым восклицательным знаком usb error.
А в свойствах этих устройств висит ошибка:
«Windows не удалось запустить это устройство, поскольку информация о его конфигурации в реестре неполна или повреждена. (Код 19)»
 
Решение найдено на  http://itblog.pro/2010/10/problema-s-kontrollerom-usb/
Еще есть полезная инфа тут: http://forum.oszone.net/post-1275726.html#post1275726

Причина, скорее всего такая же - присутствовала установка различного софта для восстановления убитых USB-флешек, в т.ч. и JetFlash

Решение:

Запуск 1С версии 7.7 релиз 27 (1Cv77 rel 27) на MS SQL Server 2008

Вот здесь найдено очередное описание. Сам ничего патчить не стал - взял проверенное коллегами решение. Но для понимания механизмов - полезно ознакомиться.
 

Инструкция по установка SQL Server 2005 (MSSQL)

Собственно, сабж.

http://www.aspnet.com.ua/install_SQL_Server.html

Для тех кому надоело показывать, как установить, а самому инструкцию писать лень :)