Как предотвратить автоматическое выключение SQL Server LocalDB?
Я использую SQL Server 2012 Express LocalDB. Кажется, что экземпляры автоматически останавливаются через 10 минут, если на них нет активности. Есть ли способ сохранить экземпляр, выполняющийся навсегда?
Ответы
Ответ 1
Тайм-аут настраивается через T-SQL с опцией 'user instance timeout'
:
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'user instance timeout', 5;
GO
Тайм-аут выражается в минутах и имеет максимальное значение 65535
. Я уверен, что вам нужно перезапустить экземпляр после его установки. И не пытайтесь установить его на 0
, он просто закроет экземпляр сразу после запуска, что затруднит вернуть значение к чему-то полезному: -).
Источник: эта статья BOL, содержащая другую полезную информацию о пользовательских экземплярах, которые также применимы к экземплярам LocalDB.
Заключительное замечание
Если вам нужно что-то, что всегда работает и запускается всякий раз, когда запускается компьютер, вы можете просто рассмотреть возможность использования обычного экземпляра SQL Server Express на основе службы.
Ответ 2
Вот как сделать ответ Krzysztof Kozielczyk из командной строки.
Запустите экземпляр localdb
.
C:\> sqllocaldb start v11.0
LocalDB instance "v11.0" started.
Получить путь к серверу, который является именем канала экземпляра.
C:\> sqllocaldb info v11.0
Name: v11.0
Version: 11.0.3000.0
Shared name: IIS_DB
Owner: DESKTOP-AAAT5QS\bigfo
Auto-create: Yes
State: Running
Last start time: 2/17/2016 12:06:43 PM
Instance pipe name: np:\\.\pipe\LOCALDB#SH9D87FB\tsql\query
Запустите команду SQL на этом сервере.
C:\> sqlcmd -S np:\\.\pipe\LOCALDB#SH9D87FB\tsql\query
1> sp_configure 'show advanced options', 1;
2> GO
Configuration option 'show advanced options' changed from 1 to 1.
Run the RECONFIGURE statement to install.
1> RECONFIGURE;
2> GO
1> sp_configure 'user instance timeout', 5;
2> GO
Configuration option 'user instance timeout' changed from 5 to 5.
Run the RECONFIGURE statement to install.
1> RECONFIGURE;
2> GO
> exit