# Форум 1С > Установка и администрирование 1С - Предприятие > 1С - Предприятие 7.7 >  1C 7.xx и Win 7

## NextAvto

Скажите, платформы от 7ки отсюдаhttp://forum.ruboard.ru/showthread.p...0%BC%D1%83-!!! встанут на Win7ИИ
 есть портабл версия годишной давности, не работает:( ругается на несоответствие чегото там в системе и программе......

----------


## user1212

зайди в конфигуратор, администрирование, кодовая страница ИБ
Выбери пункт "Текущая системная установка"
На будущее указывай точно на что ругается программа. иначе на вопрос "ругается на несоответствие чегото там" получишь ответ "сделай что нибудь"

----------

Cqazqaz (13.11.2012), Natfim (05.06.2012), Wladoc (13.01.2013), z_nik (06.09.2012), Ксения999 (22.02.2015)

----------


## TigeRuS

Почитай тут может быть поможет: http://gtigerus.blogspot.com/2012/01...windows-7.html

----------

Greendalf (05.06.2012)

----------


## Koktul

Прошу помочь!

         1С 7.7 сетевая (универсальный инсталятор - 027) не открывает базу по сети из 2 компов с Win 7. Никаких ошибок не выдает, а просто тухнет и все. Запускается только на компе с базой.

----------


## TigeRuS

Это проблема не 1С, а настройки сети и брандмауэра. Посмотри настройки для 1С в Пуск--Панель управления -- Система и безопастность -- Разрешения запуская программ через брандмауэр Windows. Если стоит фаервол аутпост или касперский, то смотри еще и там.

----------

Koktul (19.03.2012)

----------


## Koktul

Спасибо!

                 Начал копать глубже и нашел. В доступе к папке не было разрешения на Запись, а только на чтение. Снял также парольную защиту, но главное в записи.

----------


## vadimvad

Подскажите, на одном ПК стоит  Win XP  и 1С 7.7 сетевая платформа 27   с базой. Остальные 3 ПК с Win XP работают с базой по сети. Появился новый ПК с W7х64. Как настроить на нем 1С, чтобы и этот ПК работал по сети с 1С 7.7. , не трогая кодовые страницы и т.д. на ПК с Win XP. Спасибо!

----------


## МАХХ_r

> Подскажите, на одном ПК стоит  Win XP  и 1С 7.7 сетевая платформа 27   с базой. Остальные 3 ПК с Win XP работают с базой по сети. Появился новый ПК с W7х64. Как настроить на нем 1С, чтобы и этот ПК работал по сети с 1С 7.7. , не трогая кодовые страницы и т.д. на ПК с Win XP. Спасибо!


В папке bin на На ПК с W7x64 создай файл OrdNoChk.prm и работай без изменения кодовой страницы

----------

sergius77 (18.08.2020)

----------


## Grooz-in

Здравствуйте, подскажите в чем дело, под WIN7 стоит 1С - Бухгалтерия 7.7. платформа на сколько понял 4.5, не печатает машинопечатные формы, покапал нет, нашел модуль для печати PDF417(версии 3.0.9) утановил WinScript 5.6, как указанно в тех документации,  MSXML 4.0 уже стоял. вроде все соответствует требованиям, но когда отправляешь на печать выдает сообщение о том, что не удается вывести компонент, по адресу \\БЛА-БЛА\...\....\v7plus.dll  Точную формулировку не скажу,    но суть в том что не может прочитать эту библиотеку. Подскажите в чем дело, может сама 1С-ка глючит и модуль тут не причемИ
Заранее благодарю за ответы, и извиняюсь если это офф топ)

----------


## МАХХ_r

> Здравствуйте, подскажите в чем дело, под WIN7 стоит 1С - Бухгалтерия 7.7. платформа на сколько понял 4.5, не печатает машинопечатные формы, покапал нет, нашел модуль для печати PDF417(версии 3.0.9) утановил WinScript 5.6, как указанно в тех документации,  MSXML 4.0 уже стоял. вроде все соответствует требованиям, но когда отправляешь на печать выдает сообщение о том, что не удается вывести компонент, по адресу \\БЛА-БЛА\...\....\v7plus.dll  Точную формулировку не скажу,    но суть в том что не может прочитать эту библиотеку. Подскажите в чем дело, может сама 1С-ка глючит и модуль тут не причемИ
> Заранее благодарю за ответы, и извиняюсь если это офф топ)



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

----------

Grooz-in (20.03.2013)

----------


## vovchicnn

> ...На будущее указывай точно на что ругается программа. иначе на вопрос "ругается на несоответствие чегото там" получишь ответ "сделай что нибудь"


Yes! Классное выражение! Надо запомнить.

----------


## Enec

Добрый день. 1С Предприятие 77 сетевая установлена на двух ПК, на одном БД и платформа, на втором - платформа, с которой второй бухгалтер обращается по сети к этой же БД. На обоих ПК Windows7 PROF 64-разрядный. Очень медленно все работает. Ранее было все то же самое, но под ХР, проблемы не было. win7 установили в силу обстоятельств - одна из рабочих станций - новый ноутбук, для которого просто нет драйверов под ХР, пришлось и на основной машине установить w7. Какие лучше попробовать варианты - вернуться к ХР на основном ПК, который с базой, а на ноутбуке установить virtualbox и работать с 1С через него, сделать сервер терминалов, поставить там 1С77 и подключить бухгалтеров к нему, или, может есть еще какое-то средство. Если у кого-то есть опыт работы с сетевой 1C 77 на win7, подскажите, пожалуйста, что можно сделать.

----------


## тэсса

"Эта задача разрешилась заменой файла BkEnd.dll из каталога "C:\Program Files\1Cv77\Bin" на пропатченный файл BkEnd.dll." Помогите пжл. решить с этим вопросом мне,бухгалтеру...Сижу сама с собой и ломаю голову Программы для DLL скачала,и все на английском...:blush::confused::(

----------


## Koktul

Еще раз в чем проблема?

---------- Post added at 20:19 ---------- Previous post was at 20:17 ----------

Чем помочь?

---------- Post added at 20:20 ---------- Previous post was at 20:19 ----------

"...на одном БД и платформа" - сделайте из него сервер терминалов и тогда все заработает быстро

----------


## тэсса

> Еще раз в чем проблема?
> 
> ---------- Post added at 20:19 ---------- Previous post was at 20:17 ----------
> 
> Чем помочь?
> 
> ---------- Post added at 20:20 ---------- Previous post was at 20:19 ----------
> 
> "...на одном БД и платформа" - сделайте из него сервер терминалов и тогда все заработает быстро


Вот у меня было ОС ХР теперь 7.Не открываются базы. Редактор для dll поставила, но....не могу стать программистом. Пропатчить не могу....а базы нужна крайне...конец месяца.Как нибудь попроще для обычного бухгалтера,пжл.

----------


## avm3110

> Вот у меня было ОС ХР теперь 7.





> Как нибудь попроще для обычного бухгалтера,пжл.


Самое простое ("для обычного буха" :blush: ) это иметь win 7 макс на которой легко (штатно) поднимается виртуалка с winXP на которой уже без проблем идёт 7-ка

Удачи

----------

тэсса (30.09.2015)

----------


## Koktul

У Вас базы не запускаются..
Открыть конфигуратор-Администрирование-кодовая страница таблиц ИБ-вместо русский, белорусский... - выбрать - текущая системная установка - ОК

----------

тэсса (30.09.2015)

----------


## тэсса

> У Вас базы не запускаются..
> Открыть конфигуратор-Администрирование-кодовая страница таблиц ИБ-вместо русский, белорусский... - выбрать - текущая системная установка - ОК


 Сделала. иБезымянный 2.jpg

----------


## Koktul

Вы запускаете на ПК, где находится база?

----------


## тэсса

> Вы запускаете на ПК, где находится база?


 Да (ПК),на нём и работаю...

----------


## Koktul

Есть другая база любая - проверить то же самоеИ? Проверьте, если есть

----------

тэсса (30.09.2015)

----------


## alexandr_ll

Возможно, файлам информационной базы установлен при копировании атрибут "только чтение", проверьте.

----------

тэсса (30.09.2015)

----------


## тэсса

> Есть другая база любая - проверить то же самоеИ? Проверьте, если есть


 И так всё в разброд.Поставила OrdNoChk.prm и мне пропатчили BkEnd.dll.Одно другое исключает ? .
Вопрос для меня открытым..Далее( sqlsrv32.rll) менять или...Платформа у меня 027 ...

---------- Post added at 22:46 ---------- Previous post was at 22:44 ----------




> Возможно, файлам информационной базы установлен при копировании атрибут "только чтение", проверьте.


 Полный доступ...

----------


## alexandr_ll

> Полный доступ...


Это доступ, а какие атрибуты файлов?
Судя по скринам у вас проблема именно с базой, а не в платформе.

----------


## тэсса

> Это доступ, а какие атрибуты файлов?
> Судя по скринам у вас проблема именно с базой, а не в платформе.


 Возможно.Открываю файл в базе (где то только для чтения-сняла,Но как всем придать эти свойства.Сегодня один человек по удалёнке "зашёл" посмотрел...не смог,предположил что идёт конфликт разрешений...)))Будь" прекрасен " тот день, когда я сел за баранку этого пылесоса! :confused:

----------


## Koktul

Сталкивался с такой ситуацией: на 64-ой семерке эска при смене кодовой страницы выдавала ошибки. Менял кодовую страницу на 32-разрядной и потом переносил обратно

----------


## тэсса

> Сталкивался с такой ситуацией: на 64-ой семерке эска при смене кодовой страницы выдавала ошибки. Менял кодовую страницу на 32-разрядной и потом переносил обратно


 А теперь в формате для "обычного бухгалтера" Зайти туда,сделать то...:yes:

----------


## Koktul

Нужен компьютер с 32-х разрядной Windows 7 b установленной 1С семеркой. Посмотреть какая стоит винда можно в свойствах компьютера - правой кнопкой...
Дальше копируем базу и переносим на этот ПК с 32-разрядной семеркой. Дальше открываем конфигуратор и меняем кодовую страницу на текущую системную вместо русский, белорусский. Затем возвращаем обратно - можно с помощью архива.

----------

тэсса (01.10.2015)

----------


## тэсса

> Самое простое ("для обычного буха" :blush: ) это иметь win 7 макс на которой легко (штатно) поднимается виртуалка с winXP на которой уже без проблем идёт 7-ка
> 
> Удачи


 И так про удачу.Поставила Максимальную....Завтра начну разбираться...

----------


## avm3110

> .Завтра начну разбираться...


Ну может "обычному буху" в этой части поможет инфа из этих ссылок
http://windows.microsoft.com/ru-ru/w...e-in-windows-7
http://www.youtube.com/watch?v=ARZra297Mwg

----------

тэсса (04.10.2015)

----------


## тэсса

[quote]Ну может "обычному буху" в этой части поможет инфа из этих ссылок
http://windows.microsoft.com/ru-ru/w...e-in-windows-7
http://www.youtube.com/watch?v=ARZra297Mwg[  ))) Вот поставила 3 штуки,а хотела штук десять. Обычный бух. и виртуалка. Вообщем (((....

----------


## avm3110

> Обычный бух. и виртуалка


Ой, да ладно... "Эх времена, эх нравы" ()с не мой
Скажи ещё лет так надцать, что "обычный бух" будет через инет узнавать что и как ему делать, что общение в соц сетях будет превышать обычные посиделки - ну кто бы когда поверил бы :blush:

----------


## тэсса

> Ой, да ладно... "Эх времена, эх нравы" ()с не мой
> Скажи ещё лет так надцать, что "обычный бух" будет через инет узнавать что и как ему делать, что общение в соц сетях будет превышать обычные посиделки - ну кто бы когда поверил бы :blush:


 Ха ха. И так...установила платформу(27) 2. Сделала доступ к базе OK(отдельно к МД) ...Доступ к файлу/..../.../1сv7.MD закрыт.Что  это может быть ? 


Так кое что пропустила....доступ есть. Конфигуратор , администрирование... и т.п.  Безымянный 10.jpg обычный бух. ждёт помощи...

----------


## avm3110

> 1сv7.MD закрыт.Что это может быть ?


А можно ли на установленной платформе (епе я понимаю 7.7) установить какую-нибудь демку? Ну например ЗиК и бухию?

----------


## hugo_

Добрый день! Не могу скачать установочник платформы 1с 7.7, все ссылки битые.
http://forum.ruboard.ru/showthread.p...0%D0%BC%D1%83-!!!

----------


## ankr

> Добрый день! Не могу скачать установочник платформы 1с 7.7, все ссылки битые.
> http://forum.ruboard.ru/showthread.p...0%D0%BC%D1%83-!!!


https://yadi.sk/d/i2Ni96CB4ucci

----------

igortar (08.12.2016)

----------


## muhtar

Добрый день!
Для того чтобы 1С77 (сетевая) работала под Win8/10 (64бит) нужно заменить файлы sqlsrv32.rll, sqlsrv32.dll, odbcbcp.dll,sqlunirl.dll в папках SysWOW64 и System32 из комплекта WinXP. Предварительно им надо сменить владельца и переименовать их. Это много раз надо тыкать мышкой и т.д. запутаться можно. А может кто-нибудь написать скрипт (батник), который бы все это сделал? ((думаю это все не обязательно проделывать под админом, а например под учеткой system. Или не?)

----------


## alexandr_ll

> Добрый день!
> Для того чтобы 1С77 (сетевая) работала под Win8/10 (64бит) нужно заменить файлы sqlsrv32.rll, sqlsrv32.dll, odbcbcp.dll,sqlunirl.dll в папках SysWOW64 и System32 из комплекта WinXP. Предварительно им надо сменить владельца и переименовать их. Это много раз надо тыкать мышкой и т.д. запутаться можно. А может кто-нибудь написать скрипт (батник), который бы все это сделал? ((думаю это все не обязательно проделывать под админом, а например под учеткой system. Или не?)


1С 7.7 прекрасно работает под Win8/10 (64бит) без всяких переименований

----------


## muhtar

SQL-ная?

----------


## alexandr_ll

> SQL-ная?


Вы писали про сетевую.

----------


## muhtar

Да, я неверно выразился. Про sql-версию речь. Простите.

----------


## Touch_of_soul

> Да, я неверно выразился. Про sql-версию речь. Простите.


Если ещё нужен SQL движок 7.7 пишите вышлю уже работает на SQL на ура

----------


## muhtar

> Если ещё нужен SQL движок 7.7 пишите вышлю уже работает на SQL на ура


Спасибо. Все работает и так. Это была просто идея насчет упрощения установки 7.7. под Вин8.

----------


## Iwan777

Необходимо запустить 1С 7.7 на Windows Server 2016 Standard. При запуске появляется ошибка: Программа "1C:V7 starter program (multi-user) не работает" (на скриншоте). Запускается только в режимах Отладчик и Монитор. Конфигуратор и предприятие не запускаются.
База данных используется файловая.
Погуглил, выполнил следующие рекомендации:
1. Скопирована папка с программой в папку C:\Program Files (x86)\ на сервер с ОС Windows Server 2016 Standard
2. 1C:V7 добавлена в исключения DEP, сервер перезагружен
3. На папку с программой даны права на полный доступ
4. На папку с базой даны права на полный доступ.
не помогает

Что ещё можно сделать, чтобы 1С 7.7 запустилась на Windows Server 2016 Standard?

----------


## Iwan777

И в журнале Windows появляются такие ошибки:

Имя сбойного приложения: 1cv7.exe, версия: 7.70.0.27, метка времени: 0x4573fcb7
Имя сбойного модуля: MFC42.DLL, версия: 6.6.8063.0, метка времени: 0x57898e13
Код исключения: 0xc0000409
Смещение ошибки: 0x0003b2f7
Идентификатор сбойного процесса: 0x428
Время запуска сбойного приложения: 0x01d2a7071b6422c8
Путь сбойного приложения: C:\Program Files (x86)\1Cv77\BIN\1cv7.exe
Путь сбойного модуля: C:\Windows\SYSTEM32\MFC42.DLL
Идентификатор отчета: 0255082f-1630-4e2a-83ed-0d76b4433591
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом:

Вторая:
Контейнер ошибки , тип 0
Имя события: APPCRASH
Отклик: Нет данных
Идентификатор CAB: 0

Сигнатура проблемы:
P1: mscorsvw.exe
P2: 4.6.1586.0
P3: 575a1279
P4: mscorwks.dll
P5: 2.0.50727.8745
P6: 573d3066
P7: c0000005
P8: 00003f94
P9:
P10:

Вложенные файлы:

Эти файлы можно найти здесь:
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\A  ppCrash_mscorsvw.exe_c35cb7fde15668ed01f918d280dd1  c93beac87_00000000_2081a7e4

----------


## avm3110

> Что ещё можно сделать, чтобы 1С 7.7 запустилась на Windows Server 2016 Standard?


Запускаешь в виртуалку с Винэкспи и в ней 7.7 нормально работает.

тебе шашечки или ехать?

----------


## Iwan777

Скопировал из WindowsXP MFC42.DLL и ещё пару библиотек с похожим названием в папку с программой и 1С 7.7 заработала на Windows Server 2016 Standard.

----------

aj24 (05.08.2020), ram256 (18.10.2018)

----------


## Touch_of_soul

> Запускаешь в виртуалку с Винэкспи и в ней 7.7 нормально работает.
> 
> тебе шашечки или ехать?


а не проще по нормальному сделать, чем страдать ерундой? У меня 7.7 на SQL крутится 2014 Экспресс и винда 2012 Р2 там чуть чуть крякаешь движок 1с и на SQL запросик и всё.. Кому интересно как пишите в личку..

----------


## Touch_of_soul

> Скопировал из WindowsXP MFC42.DLL и ещё пару библиотек с похожим названием в папку с программой и 1С 7.7 заработала на Windows Server 2016 Standard.


у меня даже получилось на SQL запустить))) чтоб снимать авто архивы бесплатной прогой 

вот решение:

1 выполнить скрипт для эмуляции сторой хранимой процедуры
2 создать sa1 дать ему все права
3 зайти в консоль под sa1 и создать базу
4 BkEnd.dll из 1c должен быть ломаным
4 bkend.dll заменить dbid= на kpid= 2 раза


USE [master]
GO


/****** Object: StoredProcedure [dbo].[sp_dboption] Script Date: 21.03.2012 7:33:37 ******/


SET ANSI_NULLS ON
GO


SET QUOTED_IDENTIFIER ON
GO


CREATE procedure [dbo].[sp_dboption] -- 1999/08/09 18:25
@dbname sysname = NULL, -- database name to change
@optname varchar(35) = NULL, -- option name to turn on/off
@optvalue varchar(10) = NULL -- true or false
as


set nocount on
declare @dbid int -- dbid of the database
declare @catvalue int -- number of category option
declare @optcount int -- number of options like @optname
declare @allstatopts int -- bit map off all options stored in sysdatqabases.status
-- that can be set by sp_dboption.
declare @alloptopts int -- bit map off all options stored in sysdatqabases.status
-- that can be set by sp_dboption.
declare @allcatopts int -- bit map off all options stored in sysdatqabases.category
-- that can be set by sp_dboption.
declare @exec_stmt nvarchar(max)
declare @fulloptname varchar(35)
declare @alt_optname varchar(50)
declare @alt_optvalue varchar(30)
declare @optnameIn varchar(35)


select @optnameIn = @optname
,@optname = LOWER (@optname collate Latin1_General_CI_AS)
-- If no @dbname given, just list the possible dboptions.
-- Only certain status bits may be set or cleared by sp_dboption.
-- Get bitmap of all options that can be set by sp_dboption.
select @allstatopts=number from master.dbo.spt_values where type = 'D'
and name = 'ALL SETTABLE OPTIONS'
select @allcatopts=number from master.dbo.spt_values where type = 'DC'
and name = 'ALL SETTABLE OPTIONS'
select @alloptopts=number from master.dbo.spt_values where type = 'D2'
and name = 'ALL SETTABLE OPTIONS'
if @dbname is null
begin
select 'Settable database options:' = name
from master.dbo.spt_values
where (type = 'D'
and number & @allstatopts <> 0
and number not in (0,@allstatopts)) -- Eliminate non-option entries
or (type = 'DC'
and number & @allcatopts <> 0
and number not in (0,@allcatopts))
or (type = 'D2'
and number & @alloptopts <> 0
and number not in (0,@alloptopts))
order by name
return (0)
end
-- Verify the database name and get info
select @dbid = dbid
from master.dbo.sysdatabases
where name = @dbname
-- If @dbname not found, say so and list the databases.
if @dbid is null
begin
raiserror(15010,-1,-1,@dbname)
print ' '
select 'Available databases:' = name
from master.dbo.sysdatabases
return (1)
end
-- If no option was supplied, display current settings.
if @optname is null
begin
select 'The following options are set:' = v.name
from master.dbo.spt_values v, master.dbo.sysdatabases d
where d.name=@dbname
and ((number & @allstatopts <> 0
and number not in (-1,@allstatopts)
and v.type = 'D'
and (v.number & d.status)=v.number)
or (number & @allcatopts <> 0
and number not in (-1,@allcatopts)
and v.type = 'DC'
and d.category & v.number <> 0)
or (number & @alloptopts <> 0
and number not in (-1,@alloptopts)
and v.type = 'D2'
and d.status2 & v.number <> 0))
return(0)
end
if @optvalue is not null and lower(@optvalue) not in ('true', 'false', 'on', 'off')
begin
raiserror(15241,-1,-1)
return (1)
end
-- Use @optname and try to find the right option.
-- If there isn't just one, print appropriate diagnostics and return.
select @optcount = count(*) ,@fulloptname = min(name)
from master.dbo.spt_values
where lower(name collate Latin1_General_CI_AS) like '%' + @optname + '%'
and ((type = 'D'
and number & @allstatopts <> 0
and number not in (-1,@allstatopts))
or (type = 'DC'
and number & @allcatopts <> 0
and number not in (-1,@allcatopts))
or (type = 'D2'
and number & @alloptopts <> 0
and number not in (-1,@alloptopts)))
-- If no option, show the user what the options are.
if @optcount = 0
begin
raiserror(15011,-1,-1,@optnameIn)
print ' '
select 'Settable database options:' = name
from master.dbo.spt_values
where (type = 'D'
and number & @allstatopts <> 0
and number not in (-1,@allstatopts)) -- Eliminate non-option entries
or (type = 'DC'
and number & @allcatopts <> 0
and number not in (-1,@allcatopts))
or (type = 'D2'
and number & @alloptopts <> 0
and number not in (-1,@alloptopts))
order by name
return (1)
end
-- If more than one option like @optname, show the duplicates and return.
if @optcount > 1
begin
raiserror(15242,-1,-1,@optnameIn)
print ' '
select duplicate_options = name
from master.dbo.spt_values
where lower(name collate Latin1_General_CI_AS) like '%' + @optname + '%'
and ((type = 'D'
and number & @allstatopts <> 0
and number not in (-1,@allstatopts))
or (type = 'DC'
and number & @allcatopts <> 0
and number not in (-1,@allcatopts))
or (type = 'D2'
and number & @alloptopts <> 0
and number not in (-1,@alloptopts))
)
return (1)
end
-- Just want to see current setting of specified option.
if @optvalue is null
begin
select OptionName = v.name,
CurrentSetting = (case
when ( ((v.number & d.status) = v.number
and v.type = 'D')
or (d.category & v.number <> 0
and v.type = 'DC')
or (d.status2 & v.number <> 0
and v.type = 'D2')
)
then 'ON'
when not
( ((v.number & d.status) = v.number
and v.type = 'D')
or (d.category & v.number <> 0
and v.type = 'DC')
or (d.status2 & v.number <> 0
and v.type = 'D2')
)
then 'OFF'
end)
from master.dbo.spt_values v, master.dbo.sysdatabases d
where d.name=@dbname
and ((v.number & @allstatopts <> 0
and v.number not in (-1,@allstatopts) -- Eliminate non-option entries
and v.type = 'D')
or (v.number & @allcatopts <> 0
and v.number not in (-1,@allcatopts) -- Eliminate non-option entries
and v.type = 'DC')
or (v.number & @alloptopts <> 0
and v.number not in (-1,@alloptopts) -- Eliminate non-option entries
and v.type = 'D2')
)
and lower(v.name) = lower(@fulloptname)
return (0)
end
select @catvalue = 0
select @catvalue = number
from master.dbo.spt_values
where lower(name) = lower(@fulloptname)
and type = 'DC'
-- if setting replication option, call sp_replicationdboption directly
if (@catvalue <> 0)
begin
select @alt_optvalue = (case lower(@optvalue)
when 'true' then 'true'
when 'on' then 'true'
else 'false'
end)
select @alt_optname = (case @catvalue
when 1 then 'publish'
when 2 then 'subscribe'
when 4 then 'merge publish'
else quotename(@fulloptname, '''')
end)
select @exec_stmt = quotename(@dbname, '[') + '.dbo.sp_replicationdboption'
EXEC @exec_stmt @dbname, @alt_optname, @alt_optvalue
return (0)
end
?

-- call Alter Database to set options
-- set option value in alter database
select @alt_optvalue = (case lower(@optvalue)
when 'true' then 'ON'
when 'on' then 'ON'
else 'OFF'
end)
-- set option name in alter database
select @fulloptname = lower(@fulloptname)
select @alt_optname = (case @fulloptname
when 'auto create statistics' then 'AUTO_CREATE_STATISTICS'
when 'auto update statistics' then 'AUTO_UPDATE_STATISTICS'
when 'autoclose' then 'AUTO_CLOSE'
when 'autoshrink' then 'AUTO_SHRINK'
when 'ansi padding' then 'ANSI_PADDING'
when 'arithabort' then 'ARITHABORT'
when 'numeric roundabort' then 'NUMERIC_ROUNDABORT'
when 'ansi null default' then 'ANSI_NULL_DEFAULT'
when 'ansi nulls' then 'ANSI_NULLS'
when 'ansi warnings' then 'ANSI_WARNINGS'
when 'concat null yields null' then 'CONCAT_NULL_YIELDS_NULL'
when 'cursor close on commit' then 'CURSOR_CLOSE_ON_COMMIT'
when 'torn page detection' then 'TORN_PAGE_DETECTION'
when 'quoted identifier' then 'QUOTED_IDENTIFIER'
when 'recursive triggers' then 'RECURSIVE_TRIGGERS'
when 'default to local cursor' then 'CURSOR_DEFAULT'
when 'offline' then (case @alt_optvalue when 'ON' then 'OFFLINE' else 'ONLINE' end)
when 'read only' then (case @alt_optvalue when 'ON' then 'READ_ONLY' else 'READ_WRITE' end)
when 'dbo use only' then (case @alt_optvalue when 'ON' then 'RESTRICTED_USER' else 'MULTI_USER' end)
when 'single user' then (case @alt_optvalue when 'ON' then 'SINGLE_USER' else 'MULTI_USER' end)
when 'select into/bulkcopy' then 'RECOVERY'
when 'trunc. log on chkpt.' then 'RECOVERY'
when 'db chaining' then 'DB_CHAINING'
else @alt_optname
end)
if @fulloptname = 'dbo use only'
begin
if @alt_optvalue = 'ON'
begin
if databaseproperty(@dbname, 'IsSingleUser') = 1
begin
raiserror(5066,-1,-1);
return (1)
end
end
else
begin
if databaseproperty(@dbname, 'IsDBOOnly') = 0
return (0)
end
end
if @fulloptname = 'single user'
begin
if @alt_optvalue = 'ON'
begin
if databaseproperty(@dbname, 'ISDBOOnly') = 1
begin
raiserror(5066,-1,-1);
return (1)
end
end
else
begin
if databaseproperty(@dbname, 'IsSingleUser') = 0
return (0)
end
end
select @alt_optvalue = (case @fulloptname
when 'default to local cursor' then (case @alt_optvalue when 'ON' then 'LOCAL' else 'GLOBAL' end)
when 'offline' then ''
when 'read only' then ''
when 'dbo use only' then ''
when 'single user' then ''
else @alt_optvalue
end)
if lower(@fulloptname) = 'select into/bulkcopy'
begin
if @alt_optvalue = 'ON'
begin
if databaseproperty(@dbname, 'IsTrunclog') = 1
select @alt_optvalue = 'RECMODEL_70BACKCOMP'
else
select @alt_optvalue = 'BULK_LOGGED'
end
else
begin
if databaseproperty(@dbname, 'IsTrunclog') = 1
select @alt_optvalue = 'SIMPLE'
else
select @alt_optvalue = 'FULL'
end
end
if lower(@fulloptname) = 'trunc. log on chkpt.'
begin
if @alt_optvalue = 'ON'
begin
if databaseproperty(@dbname, 'IsBulkCopy') = 1
select @alt_optvalue = 'RECMODEL_70BACKCOMP'
else
select @alt_optvalue = 'SIMPLE'
end
else
begin
if databaseproperty(@dbname, 'IsBulkCopy') = 1
select @alt_optvalue = 'BULK_LOGGED'
else
select @alt_optvalue = 'FULL'
end
end
-- construct the ALTER DATABASE command string
select @exec_stmt = 'ALTER DATABASE ' + quotename(@dbname) + ' SET ' + @alt_optname + ' ' + @alt_optvalue + ' WITH NO_WAIT'
EXEC (@exec_stmt)
if @@error <> 0
begin
raiserror(15627,-1,-1)
return (1)
end
return (0) -- sp_dboption
GO

----------

