USE master;
SET NOCOUNT ON;
GO
DECLARE @dbname varchar(255); --数据库名
DECLARE @snapname varchar(255);--快照名
DECLARE @snap_dir varchar(255);--保存路径 SET @dbname='DB1';
SET @snapname='DB1_SNAP';
SET @snap_dir='D:\DB\'
BEGIN TRY
-- 删除快照如果快照存在
IF EXISTS (SELECT name FROM master.sys.databases
WHERE name = @snapname)
BEGIN
EXEC ('DROP DATABASE '+@snapname);
END --将数据库文件放入临时表中
SELECT name AS DBFileName INTO #tempFiles
FROM master.sys.master_files
WHERE type<>1 AND database_id=DB_ID(@dbname);
DECLARE @tempSQL NVARCHAR(2000);
DECLARE @tempFileName NVARCHAR(200)
SET @tempSQL='CREATE DATABASE '+@snapname+' ON ';
WHILE((SELECT COUNT(1) FROM #tempFiles)>0)
BEGIN
SELECT TOP(1) @tempFileName=DBFileName FROM #tempFiles;
SET @tempSQL=@tempSQL+'(NAME='+''''+@tempFileName+''',FILENAME='''+@snap_dir+@tempFileName+'.snap'')';
DELETE FROM #tempFiles WHERE DBFileName=@tempFileName;
END
DROP TABLE #tempFiles;
SET @tempSQL=@tempSQL+'AS SNAPSHOT OF '+@dbname+';' PRINT '创建脚本:'
PRINT @tempSQL;
EXEC(@tempSQL)
PRINT '创建成功'; END TRY
BEGIN CATCH
PRINT '执行出错,错误信息:'
PRINT ERROR_MESSAGE()
END CATCH

最新文章

  1. ArcGIS 10.0紧凑型切片读写方法
  2. Python3.5在Windows 7下连接ORACLE数据库
  3. 激活jws.mono的图像处理
  4. .NET中DateTime.Now.ToString的格式化字符串
  5. mysql之替换字符串
  6. make的控制函数(error,warning)
  7. Mysql 常用函数
  8. 【JAVA集合框架之Map】
  9. jquery总结05-常用事件04-委托事件
  10. 20145207 《Java程序设计》第5周学习总结
  11. iOS进阶收藏
  12. SQL Server 系统表简介
  13. Codeforces Round #208 (Div. 2)
  14. [lua]原来这才是表驱动的正确表达方式
  15. 炫酷吊炸天的nodeppt
  16. 2014.8.3情人节欢乐赛【Benny的农场】
  17. JavaSE学习总结第03天_Java基础语法2
  18. Struts2中ActionContext及ServletActionContext介绍(转载)
  19. PHP常用的三种设计模式
  20. jdk源码-&gt;多线程-&gt;Thread

热门文章

  1. Data_Structure-绪论作业
  2. 使用Spring和Tomcat发布CXF REST WebService
  3. flask系列三之Jinja2模板
  4. C# 泛型类型参数的约束
  5. Python和其他语言的区别 (简单精辟啊 手打)
  6. Django中间件CsrfViewMiddleware源码分析
  7. ZOJ 3956 Course Selection System
  8. zend studio 字体大小修改,默认编码设置
  9. 关于getchar的一些思考
  10. SpringBoot25 gradle安装、利用gradle创建SrpingBoot项目