具体问题解决:分离脚本
时间:2022-04-25
本文章向大家介绍具体问题解决:分离脚本,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
有时候需要从一个服务器转移数据库到另一个。如果打算一下子分离所有数据库,那么下面的脚本就是有用了。
生成分离脚本:
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'
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法