我有一个运行多个数据库实例的数据库服务器.我在访问特定数据库时遇到问题,并希望重新启动它,但不重新启动整个数据库服务器,因为它会影响实例中的其他数据库或同一服务器上的其他实例.
是否有使用命令行或任何其他方法重新启动单个数据库?
是从服务器分离数据库并将其附加回或使其脱机并重新联机以重新启动该数据库?
注意:只需添加一个托管在win2k3上的MSSQL 2005服务器.
解决方法
我不知道是否将单个数据库脱机并将其重新联机等同于重新启动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