Я использую SQL Server 2012 Express LocalDB. Кажется, что экземпляры автоматически останавливаются через 10 минут, если на них нет активности. Есть ли способ сохранить экземпляр, выполняющийся навсегда?
Как предотвратить автоматическое выключение SQL Server LocalDB?
Ответ 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