1. --返回由备份集内包含的数据库和日志文件列表组成的结果集。
  2. --主要获得逻辑文件名
  3. USE master
  4. RESTORE FILELISTONLY
  5. FROM DISK = 'g:\back.Bak'
  6. Go
  7. ************************************************
  8. /**//*
  9. 利用bak恢复数据库,强制还原(REPLACE)
  10. STATS = 10 每完成10%显示一条记录
  11. DBTest和DBTest_log是上面g:\back.Bak里的逻辑文件
  12. */
  13. USE master
  14. RESTORE DATABASE DB
  15. FROM DISK = 'g:\back.Bak'
  16. WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB.mdf',
  17. MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB_log.ldf',
  18. STATS = 10, REPLACE
  19. GO
  20. ++++++++++++++++++++++++++++++++
  21.  
  22. /**//*
  23. 备份数据DB 到.bak文件。然后利用此bak文件恢复一个新的数据库DBTest。
  24. */
  25. USE master
  26. BACKUP DATABASE DB
  27. TO DISK = 'g:\DBBack0930.bak'
  28. RESTORE FILELISTONLY
  29. FROM DISK = 'g:\DBBack0930.bak'
  30. RESTORE DATABASE DBTest
  31. FROM DISK = 'g:\DBBack0930.bak'
  32. WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest.mdf',
  33. MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest_log.ldf'
  34. GO
  35. ---******************************
  36. 存储过程
  37. SET ANSI_NULLS ON
  38. SET QUOTED_IDENTIFIER ON
  39. go
  40. /*可以强制还原数据库,也可以利用备份文件重新创建一个数据库*/
  41. ALTER PROCEDURE [dbo].[restoreDB]
  42. (
  43. --@path NVARCHAR(32) ,
  44. @name NVARCHAR(64) ,--数据库备份的名称
  45. @mdfName NVARCHAR(64) ,--物理文件mdf的名称
  46. @ldfName NVARCHAR(64)--物理文件ldf的名称
  47. )
  48. AS
  49. BEGIN
  50. DECLARE @path NVARCHAR(64)--数据库备份的地址
  51. DECLARE @mdfPath NVARCHAR(64)--mdf文件的存放地址
  52. DECLARE @ldfPath NVARCHAR(64)--ldf文件的存放地址
  53. SET @path = 'E:\DB\' + @name + '.bak'
  54. SET @mdfPath = 'E:\DB\' + @mdfName + '.mdf'
  55. SET @ldfPath = 'E:\DB\' + @ldfName + '.ldf'
  56. --RESTORE FILELISTONLY FROM DISK = @path --获取逻辑文件的名称
  57. RESTORE DATABASE @mdfName FROM DISK=@path WITH STATS = 10,REPLACE,--replace表示强制替换,STATS = 10表示每进行10%提示一下,@mdfName 就是DB的name
  58. MOVE 'Relaship' TO @mdfPath,
  59. MOVE 'Relaship_log' TO @ldfPath
  60. END

使用SQL语句还原数据库 2012.3.20的更多相关文章

  1. SQL语句还原数据库并移动文件到指定路径

    用SQL语句还原数据库时如果不指定数据库文件的存储路径,则默认把数据文件和日志文件存放到与原数据库相同的文件路径中,这样可能会产生错误,比如执行下面的语句: restore database Smar ...

  2. 面试、笔试中常用的SQL语句(数据库知识必杀)一共50个!!!

    Student(S#,Sname,Sage,Ssex) 学生表  Course(C#,Cname,T#) 课程表  SC(S#,C#,score) 成绩表  Teacher(T#,Tname) 教师表 ...

  3. 2-06使用SQL语句创建数据库3

    向现有数据库中添加文件组和数据文件几种方式以及步骤: 第一种:在视图下添加文件组和数据文件. 添加文件组的步骤: 右击你想要添加文件组的数据库点属性,然后点文件组就可以添加. 添加数据文件的步骤: 下 ...

  4. 使用SQL语句清空数据库所有表的数据

    使用SQL语句清空数据库所有表的数据 近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进 ...

  5. SQL语句获取数据库中的表主键,自增列,所有列

    SQL语句获取数据库中的表主键,自增列,所有列   获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_U ...

  6. 【转载】C#常用数据库Sqlserver通过SQL语句查询数据库以及表的大小

    在Sqlserver数据库中,一般我们查看数据库的大小可以通过查找到数据库文件来查看,但如果要查找数据表Table的大小的话,则不可通过此方法,在Sqlserver数据库中,提供了相应的SQL语句来查 ...

  7. mysql / pgsql 使用sql语句查询数据库所有表注释已经表字段注释

    mysql使用sql语句查询数据库所有表注释已经表字段注释(转载)   场景: 1. 要查询数据库 "mammothcode" 下所有表名以及表注释 /* 查询数据库 ‘mammo ...

  8. SQL语句之数据库操作

    SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 占坑,带写……

  9. 3,SQL语句及数据库优化

       1,统一SQL语句的写法 对于以下两句SQL语句,程序员认为是相同的,数据库查询优化器认为是不同的. 所以封装成复用方法,用标准模板来控制. select*from dual select*Fr ...

随机推荐

  1. 3.CRUD(增删改查)

    Select 选择,查询语句 id:就是对应的namespace中的方法名: resultType:Sql语句执行的返回值: parameterType:参数类型 我们想使用查询语句首先要在UserM ...

  2. bodyParser.urlencoded({ })里extended: true和false区别???

  3. swing开发一个修改项目数据库连接参数配置文件

    我们在开发web项目中,经常有properties配置文件配置数据库连接参数,每次修改的时候还要去找到配置文件,感觉有点麻烦,就用swing做了个小工具修改参数,运行界面如下: =========== ...

  4. Docker 上安装、启动 MySQL

    在docker仓库中搜索mysql的镜像: docker search mysql ; 下载镜像,这里我们安装 5.7 版本 docker pull mysql:[TAG]; 不写TAG默认拉取最新版 ...

  5. dist-packages vs site-packages

    dist-packages 和 site-packages的区别 Reference: https://stackoverflow.com/questions/9387928/whats-the-di ...

  6. Bugku-CTF加密篇之一段Base64

    一段Base64   flag格式:flag{xxxxxxxxxxxxx}    

  7. Raid5(五块磁盘,三块做raid,两块做备份)

    1.在虚拟中再添加五块磁盘.  2.使用mdadm命令创建raid5,名称为“/dev/md5”. -C代表创建操作,-v显示创建过程,-a yes检查RAID名称,-n是用到的硬盘个数,-l是定义R ...

  8. P1598

    无语的是,我以为题目条件的‘在任何一行末尾不要打印不需要的多余空格’意思是每一行都只能到最后一个 '*' 出现就换行,然后用了 '\b',结果怎么都不过,于是看了题解,发现别人都没管这个 = =!!, ...

  9. ASP.NET Core搭建多层网站架构【10-使用JWT进行授权验证】

    2020/01/31, ASP.NET Core 3.1, VS2019, Microsoft.AspNetCore.Authentication.JwtBearer 3.1.1 摘要:基于ASP.N ...

  10. 最长递增子序列-Hdu 1257

    最少拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...