爱程序网

通过SQL语句来备份,还原数据库

来源: 阅读:

这里仅仅用到了一种方式而已,把数据库文件备份到磁盘然后在恢复.

/*   2: 通过SQL 语句备份数据库   3: */   4: BACKUP DATABASE mydb   5: TO DISK ='C:DBBACKmydb.BAK'    6: --这里指定需要备份数据库的路径和文件名,注意:路径的文件夹是必须已经创建的.文件名可以使用日期来标示    7:     8: /*   9: 通过SQL语句还原数据库  10: */  11: USE master  12: RESTORE DATABASE mydb  13: FROM DISK='C:DBBACKmydb.BAK'  14: WITH REPLACE

  

注意:很多时候不能直接还原,因为数据不是独占打开.可能用到下面的过程

1: --Kill掉访问某个数据库的连接   2: CREATE PROC KillSpid(@DBName varchar)   3: AS   4: BEGIN   5:     DECLARE @SQL varchar   6:     DECLARE @SPID int   7:     SET @SQL='DECLARE CurrentID CURSOR FOR    8:     SELECT spid FROM sysprocesses WHERE dbid=db_id('''+@DBName+''') '   9:     FETCH NEXT FROM CurrentID INTO @SPID  10:     WHILE @@FETCH_STATUS <>-1  11:     BEGIN  12:         exec('KILL '+@SPID)  13:         FETCH NEXT FROM  CurrentID INTO @SPID  14:     END  15:     CLOSE CurrentID  16:     DEALLOCATE CurrentID  17: END

  

当kill掉用户后最好使用单用户操作数据库

SP_DBOPTION @DBName,'single user','true'

  

相关文章列表:
关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助