SQLServer 本地移动发布/订阅/分发数据库文件并更改逻辑名称和物理文件名
--------------------------------------------------------------------------------------------------
-- 发布库TestDB(停止日志读取器代理、队列读取器代理,禁止用户访问)
--------------------------------------------------------------------------------------------------
USE master
GO
SELECT file_id,name,type_desc,physical_name,state_desc
FROM sys.master_files WHERE database_id = DB_ID('TestDB');
GO
ALTER DATABASE TestDB SET SINGLE_USER --WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE TestDB MODIFY FILE ( NAME = TestDB, NEWNAME= 'NewFileName', FILENAME = "E:\DatabaseFile\TestDB\NewFileName.MDF")
ALTER DATABASE TestDB MODIFY FILE ( NAME = TestDB_log, NEWNAME= 'NewFileName_log', FILENAME = "E:\DatabaseFile\TestDB\NewFileName_log.LDF")
GO
ALTER DATABASE TestDB SET OFFLINE
GO
EXEC sp_configure 'show advanced options',1
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell',1
RECONFIGURE
GO
EXEC master..xp_cmdshell 'MOVE "E:\DatabaseFile\TestDB\TestDB.MDF" E:\DatabaseFile\TestDB\'
EXEC master..xp_cmdshell 'MOVE "E:\DatabaseFile\TestDB\TestDB_log.LDF" E:\DatabaseFile\TestDB\'
GO
EXEC master..xp_cmdshell 'ren "E:\DatabaseFile\TestDB\TestDB.MDF" "NewFileName.mdf"'
EXEC master..xp_cmdshell 'ren "E:\DatabaseFile\TestDB\TestDB_log.LDF" "NewFileName_log.ldf"'
GO
EXEC sp_configure 'xp_cmdshell',0
RECONFIGURE
GO
EXEC sp_configure 'show advanced options',0
RECONFIGURE
GO
ALTER DATABASE TestDB SET ONLINE
GO
ALTER DATABASE TestDB SET MULTI_USER
GO --------------------------------------------------------------------------------------------------
-- 订阅库TestDBSub (停止分发代理、队列读取器代理,禁止用户访问)
--------------------------------------------------------------------------------------------------
USE master
GO
SELECT file_id,name,type_desc,physical_name,state_desc
FROM sys.master_files WHERE database_id = DB_ID('TestDBSub');
GO
ALTER DATABASE TestDBSub SET SINGLE_USER --WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE TestDBSub MODIFY FILE ( NAME = TestDBSub, NEWNAME= 'NewFileName', FILENAME = "E:\DatabaseFile\TestDBSub\NewFileName.mdf")
ALTER DATABASE TestDBSub MODIFY FILE ( NAME = TestDBSub_log, NEWNAME= 'NewFileName_log', FILENAME = "E:\DatabaseFile\TestDBSub\NewFileName_log.ldf")
GO
ALTER DATABASE TestDBSub SET OFFLINE
GO
EXEC sp_configure 'show advanced options',1
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell',1
RECONFIGURE
GO
EXEC master..xp_cmdshell 'MOVE "E:\DatabaseFile\TestDBSub\TestDBSub.mdf" E:\DatabaseFile\TestDBSub\'
EXEC master..xp_cmdshell 'MOVE "E:\DatabaseFile\TestDBSub\TestDBSub_log.ldf" E:\DatabaseFile\TestDBSub\'
GO
EXEC master..xp_cmdshell 'ren "E:\DatabaseFile\TestDBSub\TestDBSub.mdf" "NewFileName.mdf"'
EXEC master..xp_cmdshell 'ren "E:\DatabaseFile\TestDBSub\TestDBSub_log.ldf" "NewFileName_log.ldf"'
GO
EXEC sp_configure 'xp_cmdshell',0
RECONFIGURE
GO
EXEC sp_configure 'show advanced options',0
RECONFIGURE
GO
ALTER DATABASE TestDBSub SET ONLINE
GO
ALTER DATABASE TestDBSub SET MULTI_USER
GO --------------------------------------------------------------------------------------------------
-- 分发库distribution(停止分发代理、日志读取器代理、队列读取器代理,禁止用户访问)
--------------------------------------------------------------------------------------------------
USE master
GO
SELECT file_id,name,type_desc,physical_name,state_desc
FROM sys.master_files WHERE database_id = DB_ID('distribution');
GO
ALTER DATABASE distribution SET SINGLE_USER --WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE distribution MODIFY FILE ( NAME = distribution, NEWNAME= 'NewFileName', FILENAME = "E:\DatabaseFile\NewFileName.MDF")
ALTER DATABASE distribution MODIFY FILE ( NAME = distribution_log, NEWNAME= 'NewFileName_log', FILENAME = "E:\DatabaseFile\NewFileName_log.LDF")
GO
ALTER DATABASE distribution SET OFFLINE
GO
EXEC sp_configure 'show advanced options',1
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell',1
RECONFIGURE
GO
EXEC master..xp_cmdshell 'MOVE "E:\DatabaseFile\distribution.MDF" E:\DatabaseFile\'
EXEC master..xp_cmdshell 'MOVE "E:\DatabaseFile\distribution.LDF" E:\DatabaseFile\'
GO
EXEC master..xp_cmdshell 'ren "E:\DatabaseFile\distribution.MDF" "NewFileName.mdf"'
EXEC master..xp_cmdshell 'ren "E:\DatabaseFile\distribution.LDF" "NewFileName_log.ldf"'
GO
EXEC sp_configure 'xp_cmdshell',0
RECONFIGURE
GO
EXEC sp_configure 'show advanced options',0
RECONFIGURE
GO
ALTER DATABASE distribution SET ONLINE
GO
ALTER DATABASE distribution SET MULTI_USER
GO -------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
SQLServer 本地移动发布/订阅/分发数据库文件并更改逻辑名称和物理文件名的更多相关文章
- SQLServer 2008 R2 发布订阅配置指南
原以为配置SQLServer 2008 R2的发布订阅很简单,实际配置后才发现过程中有问题地方一直都没搞明白,最后经过几天的查找问题和实践,终于搞定了.现将过程记录如下. SQLServer 2008 ...
- SQL SERVER 2005修改数据库名称,包括物理文件名和逻辑名称
SQL SERVER 2005修改数据库名称,包括物理文件名和逻辑名称 原来数据库名称为 aa,物理文件名称为 aa.mdf 和 aa_log.ldf: 需要修改数据库名称为 bb,物理文件名 ...
- SQL Sever 2008 数据库文件的备份和还原
数据库文件备份保存的方式我知道的有两种,第一种就是我们知道到的简单的分离,生成.mdf和.ldf文件,然后使用的时候直接进行附加数据库就可以了. 那么还有生成备份的文件.bak 的,这个操作要在步骤: ...
- 修改sql数据库文件 物理文件名称
-- 允许配置高级选项 EXEC sp_configure 'show advanced options', 1 GO -- 重新配置 RECONFIGURE GO -- 启用xp_cmdshell ...
- 使用MediatR重构单体应用中的事件发布/订阅
标题:使用MediatR重构单体应用中的事件发布/订阅 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/10640280.html 源代码:https ...
- Vue中的发布订阅分析(Vue2/3中的 emit 实现)
Vue中的发布订阅模式分析 模块:instanceEventEmiiter.ts(在下方有简单实现和解析) 在Vue3中,已经取消了对这个模块的引用,故而不再支持 $on.$off.$once相关的方 ...
- SQL Server 合并复制如何把备份的发布端或订阅端BAK文件还原为数据库
SQL Server的合并复制,是可以备份发布端和订阅端数据库为BAK文件的,但是问题是合并复制在数据库中自动创建的系统表.触发器.表中的RowGuid列等也会被一起备份. 这里我们举个例子,下面图中 ...
- Winform访问本地SQLServer数据库文件
Winform访问本地SQLServer数据库文件 1.项目中添加config配置,如下: <configuration> <connectionStrings> <ad ...
- sqlserver关于发布订阅replication_subscription的总结
(转载)sqlserver关于发布订阅replication_subscription的总结 来自 “ ITPUB博客 ” ,原文地址:http://blog.itpub.net/30126024/v ...
随机推荐
- ios UIWindow 错误使用导致无法接收motionEnded(摇一摇)函数
今天遇到一个问题,第一次运行程序时,- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event函数无法调用,第二次就好了 ...
- pfsense 企业应用实例
从萌生更换公司网关的想法,到选择.测试.部署陆陆续续用时两个月有余.选择的标准是open and free.这期间不断在查阅一些资料,测试了7.8个各开源防火墙产品.这些产品中大多是基于linux,少 ...
- Ubuntu ( Linux) Eclipse 乱码问题
刚装完Ubuntu,导入Java和Android项目时,发现字符乱码,究其原因,是由于Windows下使用的是GBK编码,而Ubuntu使用的是UTF-8编码.网上查找了相关资料,主要解决方案有两种. ...
- nyoj814_又见拦截导弹_DP
又见拦截导弹 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 大家对拦截导弹那个题目应该比较熟悉了,我再叙述一下题意:某国为了防御敌国的导弹袭击,新研制出来一种导弹拦 ...
- CentOS7 win7 u盘装双系统 修复系统
环境: ASUS MB VER K45VD 笔记本电脑一台( i5-3230M 处理器. SATA . Nvidia). Windows7 系统 在 win7 下安装 CentOS7 使用 Ultra ...
- Divide and conquer:Matrix(POJ 3685)
矩阵 题目大意:矩阵里面的元素按i*i + 100000 * i + j*j - 100000 * j + i*j填充(i是行,j是列),求最小的M个数 这一题要用到两次二分,实在是二分法的经典,主要 ...
- 【leetcode】Spiral Matrix II (middle)
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For ...
- IOS - 本地数据持久化
转:相对复杂的App仅靠内存的数据肯定无法满足,数据写磁盘作持久化存储是几乎每个客户端软件都需要做的.简单如“是否第一次打开”的BOOL值,大 到游戏的进度和状态等数据,都需要进行本地持久化存储.这些 ...
- CString 操作
CString Left( int nCount ) const; //从左边1开始获取前 nCount 个字符 CString Mid( int nFirst ) ...
- Excel去重
在excel2007中,数据——>数据工具——>删除重复项也可使用高级筛选:数据——>排序和筛选中的高级——>弹出高级筛选对话框,设置列表区域和条件区域,并勾选“选择不重复记录 ...