我有一个运行多个数据库实例的数据库服务器.我在访问特定数据库时遇到问题,并希望重新启动它,但不重新启动整个数据库服务器,因为它会影响实例中的其他数据库或同一服务器上的其他实例.
解决方法
我不知道是否将单个数据库脱机并将其重新联机等同于重新启动sql服务(从数据库的角度来看,至少 – 它绝对不是服务),但它会将数据库“重置”为它将关闭所有现有连接并回滚任何打开的事务的程度.如果这是您所追求的效果,那么它可能就足够了,并且它不会影响在该sql实例上运行的任何其他数据库.
从SSMS,您可以使用此sql:
-- 'rollback immediate' will disconnect existing users w/out -- waiting for transactions to finish. ALTER DATABASE MyDatabase SET OFFLINE WITH ROLLBACK IMMEDIATE go ALTER DATABASE MyDatabase SET ONLINE go