在笔记本电脑的开发/testing环境中,我无法备份SQL Server数据库文件,因为文件句柄由SQL Server永久保持打开状态(VSS无法正常工作,因为该驱动器是真实encryption的)
我希望有一些设置在SQL服务器,可以使其解锁数据文件一段时间后不活动,并自动再次打开它们,但我找不到任何东西。
我不想每天晚上都把数据库扔出去,因为这只是一个开发环境。 除了在做备份之前停止sql server还有没有其他解决scheme?
另一个选项是自动closures属性"ALTER DATABASE [dbname] SET AUTO_CLOSE ON"
。 根据SQL Server联机丛书( http://msdn.microsoft.com/en-us/library/bb522682(v=sql.120).aspx ):
AUTO_CLOSE选项对桌面数据库非常有用,因为它允许将数据库文件作为常规文件进行pipe理。 他们可以被移动,复制以备份,甚至通过电子邮件发送给其他用户。 AUTO_CLOSE进程是asynchronous的; 反复打开和closures数据库不会降低性能。
什么都不会自动为你做,但你可以从pipe理工作室或命令行分离或脱机数据库,例如,通过在备份脚本中通过sqlcmd
发出ALTER DATABASE <database> SET OFFLINE
。
您可能需要使用BACKUP DATABASE <database> TO FILE='<filename>'
语法来重新考虑日常数据库备份,该语法实际上备份了数据库本身,而不是文件。