在恢复过程中,指定的数据库必须不处于使用状态。
conn打开时不要指定数据库
set conn=nothing
conn.ConnectionString = "provider=SQLOLEDB;server=(local);uid=sa;pwd="
conn.CursorLocation = adUseClient
conn.Open
conn.Execute "restore database CulpritInfoSystem from disk='c:\a.dat'"
conn打开时不要指定数据库
set conn=nothing
conn.ConnectionString = "provider=SQLOLEDB;server=(local);uid=sa;pwd="
conn.CursorLocation = adUseClient
conn.Open
conn.Execute "restore database CulpritInfoSystem from disk='c:\a.dat'"
( @DBName nvarchar(50)
)
AS
DECLARE @ProcessID smallint
DECLARE @SQL nvarchar(50) DECLARE DBProcessesCursor INSENSITIVE CURSOR FOR
SELECT sysprocesses.spid
FROM sysprocesses INNER JOIN
sysdatabases ON sysprocesses.dbid = sysdatabases.dbid
WHERE (sysdatabases.name = @DBName) OPEN DBProcessesCursor FETCH NEXT FROM DBProcessesCursor INTO @ProcessID WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL = 'KILL ' + CAST(@ProcessID AS nvarchar(4))
EXEC sp_executesql @SQL
FETCH NEXT FROM DBProcessesCursor INTO @ProcessID
END CLOSE DBProcessesCursor
DEALLOCATE DBProcessesCursor