|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
Доброе время суток. Имеется SQL Server 2017 Express. В БД model "Автоматически закрывать" установлено в False, но при создании новой БД этот параметр везде установлен в True. Приходится руками везде переделывать. Просьба подсказать почему SQL так себя ведет, и можно ли настроить чтобы этот параметр по умолчанию был в False. БД создаются не из SQL'я, а в оснастке Администрирования серверов 1С, т.е. выставлять этот параметр при создании базы не подойдет, т.к. этим управляет 1С. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 08:35 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
guestfreeman, базы создаются из базы model - проверьте в ней настройку. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 10:13 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
Minamoto guestfreeman, базы создаются из базы model - проверьте в ней настройку. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 11:22 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
На экспресс всегда эта опция включается даже если в мастере отключить. Сделано из-за политических причин - экономить память если баз насоздают много. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 11:38 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
В model опция как раз и поставлена в False. Т.е. в Express никак не сделать чтобы автоматом False было ? Причина не в 1С, т.к. ради эксперимента ставил SQL 2017 Std, из одной и той же оснастки 1С создавал БД. В STD опция - False, в Express - True. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 13:43 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
guestfreeman Т.е. в Express никак не сделать чтобы автоматом False было ? Пишут, что никак: https://blogs.msdn.microsoft.com/sqlexpress/2008/02/22/understanding-sql-express-behavior-idle-time-resource-usage-auto_close-and-user-instances/ The behavior of CREATE DATABASE in SQL Express is not configurable, it will always set AUTO_CLOSE to True, ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 15:07 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
Minamoto guestfreeman Т.е. в Express никак не сделать чтобы автоматом False было ? Пишут, что никак: https://blogs.msdn.microsoft.com/sqlexpress/2008/02/22/understanding-sql-express-behavior-idle-time-resource-usage-auto_close-and-user-instances/ The behavior of CREATE DATABASE in SQL Express is not configurable, it will always set AUTO_CLOSE to True, Вот тут: https://dba.stackexchange.com/questions/57270/autoclose-property-resets-to-true-after-attaching-db-even-if-model-is-set-to-fal рекомендуют, как один из вариантов, настроить джоб, который будет искать базы c включенной опцией, и отключать её. Да, поскольку джобов в Express тоже нет, то придется его настраивать через Windows Sheduler, или в той же 1С, кажется, есть периодические задания, ЕМНИП. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2019, 15:10 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
Да, прочел, спасибо. Может у кого "завалялся" код для sqlcmd, который будет проверять свойство "Autoclose" и ставить его в True ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 06:23 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
Minamoto рекомендуют, как один из вариантов, настроить джоб, который будет искать базы c включенной опцией, и отключать её. Да, поскольку джобов в Express тоже нет, то придется его настраивать через Windows Sheduler, или в той же 1С, кажется, есть периодические задания, ЕМНИП. Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 07:57 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
guestfreeman, Ловите - 1) Скрипт ниже Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
2) Сохраняете его, к примеру по следующему пути: c:\temp\ExecScript.sql 3) Делаете и сохраняете батник со следующим содержимым: sqlcmd -S localhost -E -i c:\temp\ExecScript.sql 4) Делаете периодический виндовый джоб, в нем запуск батника, созданного на шаге 3) 5) Profit P.S. - sqlcmd будет имперсонировать контекст безопасности учетной записи, вызывающей скрипт. Можно сделать специальный системный аккаунт для запуска джоба в Windows, создать его на сиквеле, и назначить права - грубо - sysadmin, но можно еще покопать, возможно и уровнем чуть пониже можно обойтись ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 09:03 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
alexeyvg Хм, а не лучше отключать триггером? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 09:56 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
invm alexeyvg Хм, а не лучше отключать триггером? Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
:-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 18:13 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
alexeyvg, А commit пробовали выполнять в триггере? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 18:36 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
invm alexeyvg, А commit пробовали выполнять в триггере? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 18:47 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
alexeyvg invm alexeyvg, А commit пробовали выполнять в триггере? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 18:47 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
alexeyvg, Да, сперва не увидел трюк с begin tran; Из-за этого begin tran и работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 19:02 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
invm alexeyvg, Да, сперва не увидел трюк с begin tran; Из-за этого begin tran и работает. написать вне exec: Код: sql 1. 2. 3.
Будет ошибка Msg 226, Level 16, State 6, Line 17 ALTER DATABASE statement not allowed within multi-statement transaction. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 19:53 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
alexeyvg, Это ошибка компиляции ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 20:00 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
alexeyvg, invm Здорово, современный способ - не знал, - спасибо коллеги! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 20:02 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
alexeyvg, invm А можно вопрос - трюк, конечно, шикарный, но зачем ALTER DATABASE в явной транзакции делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 20:04 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
PsyMisha, Наоборот - не делать в транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 20:42 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
invm, Тогда просьба прокомментировать, пожалуйста эту строчку. Немного исказилось понимание того, чего хотите добиться в итоге Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 21:27 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
invm alexeyvg, Это ошибка компиляции В общем, бага парсера. PsyMisha alexeyvg, invm А можно вопрос - трюк, конечно, шикарный, но зачем ALTER DATABASE в явной транзакции делать? И вот, нужно сделать, что бы её не было. Кривой парсер не позволяет это сделать явным образом, то есть закрыть, сделать ALTER, и открыть заново, но вот в EXEC можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 21:31 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
PsyMisha invm, Тогда просьба прокомментировать, пожалуйста эту строчку. Немного исказилось понимание того, чего хотите добиться в итоге Код: sql 1.
Если это знать, то, думаю, всё становится понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 21:32 |
|
SQL Server 2017 Express - у новых баз выставляется "Автоматически закрывать" - True а не F
|
|||
---|---|---|---|
#18+
alexeyvg Мало тогго, это не сработает, если commit...begin написать вне exec: Код: sql 1. 2. 3.
Будет ошибка Msg 226, Level 16, State 6, Line 17 ALTER DATABASE statement not allowed within multi-statement transaction. invm alexeyvg, Это ошибка компиляции Я же не поставил begin ... end Вот так работает: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Вот если написать без EXEC (понятно, чисто гипотетически, ведь имя базы неизвестно), тьогда будет ошибка Msg 287, Level 16, State 2, Procedure change_autoclose_option, Line 11 [Batch Start Line 4] The ALTER DATABASE statement is not allowed within a trigger. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2019, 21:39 |
|
|
start [/forum/topic.php?fid=46&msg=39907423&tid=1686710]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 326ms |
total: | 454ms |
0 / 0 |