博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
具体问题解决:分离脚本
阅读量:5869 次
发布时间:2019-06-19

本文共 1622 字,大约阅读时间需要 5 分钟。

原文:

  有时候需要从一个服务器转移数据库到另一个。如果打算一下子分离所有数据库,那么下面的脚本就是有用了。
 
生成分离脚本:
 
SELECT DISTINCT 'use master;' + Char(10) + 'GO' + Char(10)                 + 'ALTER DATABASE ['                 + CONVERT(VARCHAR(500), Db_name(database_id))                 + '] '                 + 'SET  SINGLE_USER WITH ROLLBACK IMMEDIATE'                 + Char(10) + 'use master;' + Char(10) + 'GO'                 + Char(10)                 + 'EXEC master.dbo.sp_detach_db @dbname = N'                 + ''''                 + CONVERT(VARCHAR(500), Db_name(database_id))                 + '''' + ';' + Char(10) + 'GO' + Char(10) FROM   master.sys.master_files WHERE  Db_name(database_id) NOT IN ( 'master', 'model', 'msdb', 'tempdb' )

 

这个脚本生成了需要分离数据库的脚本。在where子句中排除了四个系统数据库。

 
 
附加数据库操作脚本:
 
  下面将生成一个脚本来分离数据库。确保运行在原服务器上。因为一旦你分离数据库,数据库将在原来的服务器上消失。
  脚本基于一个重要假设,假定每个数据库只包含一个数据文件和一个日志文件。如果有数据库实例带有多个数据或者日志文件,还要手动分离。另外,脚本假定源和目标服务器有相同的文件路径。如果日志或者数据文件路径不同,也需要重新替换生成的脚本。
 
SELECT DISTINCT 'use master;' + Char(10) + 'GO' + Char(10)                 + 'CREATE DATABASE ['                 + CONVERT(VARCHAR(500), Db_name(x.database_id))                 + ']' + ' ON ' + Char(10) + '( physical_name = N'                 + '''' + x.physical_name + '''' + '),' + Char(10)                 + '( physical_name = N' + '''' + y.physical_name                 + '''' + ')' + Char(10) + ' FOR ATTACH' + Char(10) + 'GO' FROM   master.sys.master_files x,        master.sys.master_files y WHERE  Db_name(x.database_id) NOT IN ( 'master', 'model', 'msdb', 'tempdb' )        AND x.database_id = y.database_id        AND x.physical_name LIKE '%mdf'         AND y.physical_name LIKE '%ldf'

 

 

 

转载地址:http://ozanx.baihongyu.com/

你可能感兴趣的文章
电网SVG简介
查看>>
CDays–4 习题一至四及相关内容解析。
查看>>
迭代器、生成器、面向过程编程
查看>>
使用JQuery的全屏背景图片,自动适应各种屏幕和浏览器
查看>>
Codeforces 294D - Shaass and Painter Robot
查看>>
12LaTeX学习系列之---LaTex的图片插入
查看>>
[原创]存储过程里面的递归
查看>>
在Windows将VBS文件恢复到默认运行方式的方法
查看>>
hdu2005
查看>>
get和post的区别
查看>>
Python中_,__,__xx__的区别
查看>>
移动端的几个面试小问题
查看>>
asp.net MVC4在Action间跳转 RedirectToAction 传值参数问题
查看>>
POJ 3281 (最大流+匹配+拆点)
查看>>
Greenplum记录(一):主体结构、master、segments节点、interconnect、performance monitor...
查看>>
L3.十一.匿名函数和map方法
查看>>
C#中的委托(Delegate)和事件(Event)
查看>>
(四)springmvc之获取servlet原生对象
查看>>
20135220谈愈敏Blog7_可执行程序的装载
查看>>
Alpha项目测试
查看>>