• SQL技能天天练(3)数据备份与还原(补充)


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

    eg:

       1: /*
       2: 通过SQL 语句备份数据库
       3: */
       4: BACKUP DATABASE mydb
       5: TO DISK ='C:\DBBACK\mydb.BAK' 
       6: --这里指定需要备份数据库的路径和文件名,注意:路径的文件夹是必须已经创建的.文件名可以使用日期来标示 
       7:  
       8: /*
       9: 通过SQL语句还原数据库
      10: */
      11: USE master
      12: RESTORE DATABASE mydb
      13: FROM DISK='C:\DBBACK\mydb.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'
  • 相关阅读:
    ssm框架中的struts我的配置问题
    ssm框架web.xml中filter配置问题
    partition-list
    entity.Student@150f3932, entity.Student@1a740c6b 没有实体中的数据
    UVA 11361 Investigating Div-Sum Property
    UVA 10883 Supermean
    Gym 101081K Pope's work
    UVA 1103 How Many O's?
    HOJ 1108
    HDU 5936 朋友
  • 原文地址:https://www.cnblogs.com/lvfeilong/p/nnh.html
Copyright © 2020-2023  润新知