Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как поменять настройки  [new]
AndrF
Member

Откуда:
Сообщений: 2194


К сообщению приложен файл. Размер - 30Kb
4 май 18, 15:12    [21387698]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
AndrF
Member

Откуда:
Сообщений: 2194
В догонку к предыдущему сообщению - как можно изменить данные настройки из своей программы? Перебрал кучу вариантов - полностью пригодного так и не удалось добиться...
4 май 18, 15:15    [21387717]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7746
AndrF,

Вы хотите странного.
4 май 18, 17:42    [21388257]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
AndrF
В догонку к предыдущему сообщению - как можно изменить данные настройки из своей программы? Перебрал кучу вариантов - полностью пригодного так и не удалось добиться...

Молодой человек, послушайте меня - Вы хотите не просто странного, Вы хотите чудовищного.
В момент рестарт SQL службы она захватывает TCP порт, на котором слушает и принимает соединения от клиентов. Если Ваша программа вовне будет менять номер TCP порта - Вам нужно добиться того, чтобы проверить - а не занимает ли другой инстанс искомый порт. Более того, попробуйте посадить на TCP порт 80 или 443, к примеру, свой именованный инстанс.

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

Менять порты TCP должен или сисадмин по письму DBA, или сам DBA после проверки и письменной отмашки начальника IT отдела. Ну как минимум - входящие соединения на TCP 1234 открыты, на TCP 2345 закрыты, Вы даете команду инстансу MSSQLSERVER1 "пересесть" с 1234 на 2345 и рестартануть. Сделать то он это сделает, но зачем, если до него соединения не дойдут после такого.

И порты могут быть закрыты не только на самом файерволле сервера, но и на ВСЕХ роутерах в цепочке между всеми программами, которые должны работать с БД на данном инстансе.
4 май 18, 17:57    [21388304]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
AndrF
Member

Откуда:
Сообщений: 2194
Andy_OLAP
Молодой человек, послушайте меня - Вы хотите не просто странного, Вы хотите чудовищного.


Во первых, юноша, я не молодой. Хотя был бы не прочь. ;)

Во вторых - порты ничем не заняты. SQL-сервер - чисто установленный. Как, собственно, и Windows. Просто необходимо задать определенные установки для сервера. Это можно сделать вручную, через диспетчер конфигурации сервера, еще я могу это сделать через реестр, используя regedit, могу даже сделать это используя VBS-скрипт. Но корректно поменять эти установки именно из программы - не удается, даже запуская ее с правами админа.

Точнее я могу это сделать, выполнив, к примеру, следующее:

EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp\IPAll', N'TcpPort', REG_SZ, '1433'
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp\IPAll', N'TcpDynamicPorts', REG_SZ, ''


Так, казалось бы, устанавливаются нужные значения. Но при попытке рестарта сервера - облом - он не стартует. Однако достаточно в редакторе реестра открыть значение TcpDynamicPorts и, ничего не меняя, нажать кнопку ОК - все прекрасно начинает работать...

[quot Andy_OLAP]
Но это не главное. Главное - чтобы настройки вступили в силу, нужно сделать рестарт. А в этот момент SQL инстанс делает что-либо жизненно важное. А Ваша программа извне его отправляет на рестарт жестко и цинично. Не нужно так.[/q]

А как иначе, интересно? В рестарте нет абсолютно ничего страшного, если он делается вовремя, а не во врем расчета ежеквартального баланса организации.

Andy_OLAP
И порты могут быть закрыты не только на самом файерволле сервера, но и на ВСЕХ роутерах в цепочке между всеми программами, которые должны работать с БД на данном инстансе.


Ну и при чем тут все это?

Давайте все же не отвлекаться на то зачем это нужно, если вам кажется что это не нужно.
4 май 18, 23:13    [21388838]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
AndrF,

Для обсуждения, как некие программы работают с реестром и как менять реестр в обход них, чтобы работали некоторые другие программы, есть раздел Windows.

автор
Но при попытке рестарта сервера - облом - он не стартует.
Так и пишет посреди экрана -- "не стартую"?

З.Ы. И да, вы хотите странного.

Сообщение было отредактировано: 4 май 18, 23:30
4 май 18, 23:28    [21388865]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
AndrF
Member

Откуда:
Сообщений: 2194
Гавриленко Сергей Алексеевич
AndrF,
Для обсуждения, как некие программы работают с реестром и как менять реестр в обход них, чтобы работали некоторые другие программы, есть раздел Windows.


Работать с реестром я и сам умею. Как чрез regedit, так и через программу. Но данная ветка реестра довольно специфична, по поведению больше похожа на виртуальную и принадлежит сервису SQL-сервера, потому и решился спросить здесь - больше вероятность что с подобную задачу кто-то из здешних уже решал.

Гавриленко Сергей Алексеевич
Так и пишет посреди экрана -- "не стартую"?


Из лога:

TDSSNIClient initialization failed with error 0xd, status code 0x10. Reason: Unable to retrieve registry settings from TCP/IP protocol's 'IPAll' configuration key. The data is invalid.


Впечатление такое что не воспринимается значение TcpDynamicPorts. Хотя через regedit - все нормально...

Гавриленко Сергей Алексеевич
З.Ы. И да, вы хотите странного.


Да ничего странного. Я же не из прикладной программы все это менять собираюсь, а из своей утилиты. Установил сервер, запустил утилиту и через пару секунд все сконфигурировано как надо - никуда не надо лазить править ручками. Чем это плохо?
5 май 18, 00:15    [21388958]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
AndrF
The data is invalid.
Ну пишет же вам, что вы фигню в ключ записали.
AndrF
больше вероятность что с подобную задачу кто-то из здешних уже решал.
Вы хотите странного.
5 май 18, 00:30    [21388976]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
AndrF
Member

Откуда:
Сообщений: 2194
Гавриленко Сергей Алексеевич
AndrF
The data is invalid.
Ну пишет же вам, что вы фигню в ключ записали.


Но при этом реестр выглядит как надо. Отличий я найти не могу.

В общем, ясно - решения тут никто не знает.
5 май 18, 00:52    [21388992]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
AndrF
Гавриленко Сергей Алексеевич
пропущено...
Ну пишет же вам, что вы фигню в ключ записали.


Но при этом реестр выглядит как надо. Отличий я найти не могу.

В общем, ясно - решения тут никто не знает.
Я вам уже сказал, где могут обитать специалисты по реестру.
5 май 18, 00:53    [21388993]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
Tactical Nuclear Penguin
Member

Откуда: холодно тут
Сообщений: 2730
AndrF
Гавриленко Сергей Алексеевич
пропущено...
Ну пишет же вам, что вы фигню в ключ записали.


Но при этом реестр выглядит как надо. Отличий я найти не могу.

В общем, ясно - решения тут никто не знает.


REG_DWORD
5 май 18, 03:37    [21389052]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
invm
Member

Откуда: Москва
Сообщений: 9343
AndrF
Да ничего странного. Я же не из прикладной программы все это менять собираюсь, а из своей утилиты. Установил сервер, запустил утилиту и через пару секунд все сконфигурировано как надо - никуда не надо лазить править ручками. Чем это плохо?
Времени не жалко на написание бесполезных утилит?
Давно уже придуманы средства для достижения желаемого. Пример тут.
5 май 18, 11:00    [21389249]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
Tactical Nuclear Penguin
AndrF
Но при этом реестр выглядит как надо. Отличий я найти не могу.

В общем, ясно - решения тут никто не знает.

REG_DWORD
+1
Почему REG_SZ?
https://www.sql.ru/forum/217555/kak-programmno-pomenyat-nastroyki-protokolov
5 май 18, 17:47    [21389718]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
AndrF
Member

Откуда:
Сообщений: 2194
alexeyvg
REG_DWORD
+1
Почему REG_SZ?[/quot]

Наверное потому что это значение у MS имеет тип REG_SZ по умолчанию - можете ведь сами хотя бы попробовать посмотреть. Кроме того - попробуйте записать в REG_DWORD пустое значение...
6 май 18, 19:37    [21391233]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 772
AndrF
Да ничего странного. Я же не из прикладной программы все это менять собираюсь, а из своей утилиты. Установил сервер, запустил утилиту и через пару секунд все сконфигурировано как надо - никуда не надо лазить править ручками. Чем это плохо?


Я не очень понял, а чем стандартный процесс конфигурации во время установки сервера не устраивает? Зачем изобретать велосипед? Вы действительно хотите странного.
6 май 18, 21:21    [21391441]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
AndrF
Member

Откуда:
Сообщений: 2194
flexgen
Я не очень понял, а чем стандартный процесс конфигурации во время установки сервера не устраивает? Зачем изобретать велосипед? Вы действительно хотите странного.


Уже сто раз написал - надоело править значения ручками. Вам это, может и не надо. Мне - надо.

Просьба - не знаете ответа - не надо отвечать. Ветка и заглохнет, опустившись.
6 май 18, 22:08    [21391589]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3706
invm
AndrF
Да ничего странного. Я же не из прикладной программы все это менять собираюсь, а из своей утилиты. Установил сервер, запустил утилиту и через пару секунд все сконфигурировано как надо - никуда не надо лазить править ручками. Чем это плохо?
Времени не жалко на написание бесполезных утилит?
Давно уже придуманы средства для достижения желаемого. Пример тут.


Еще раз:
" Я же не из прикладной программы все это менять собираюсь, а из своей утилиты. "

7 май 18, 18:24    [21393924]     Ответить | Цитировать Сообщить модератору
 Re: Как поменять настройки  [new]
vikkiv
Member

Откуда: London
Сообщений: 2702
AndrF
Уже сто раз написал - надоело править значения ручками. Вам это, может и не надо. Мне - надо.
необязательно напрямую править регистр в ручную (или программно) - PowerShell и родные WMI средства в приведённых по ссылкам примерах и есть концептуальный (с адаптацией под более современные методы) путь решения (с соответствующими библиотеками/сборками, namespaces и конфигурациями), вопрос такой реализации через свою программу (в нужных классах добравшись к ним в древе навигации - изменить правильные свойства и вызвать соответствующие методы / .Alter{} ) - уже зависит от личных приоритетов.
7 май 18, 23:31    [21394417]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить