SQLServer 本地移动发布/订阅/分发数据库文件并更改逻辑名称和物理文件名
2016-12-27 09:53
483 查看
-------------------------------------------------------------------------------------------------- -- 发布库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 本地移动发布/订阅/分发数据库文件并更改逻辑名称和物理文件名
- SQL:实现附加数据库、更改数据库物理文件名、更改逻辑文件名、更改数据库名
- SQL Server 2005如何更改数据库文件的物理文件名
- sql server 2000更改数据库名称 、更改逻辑文件名
- SQLServer过滤文件名特殊字符(利用SQLServer修改文件物理地址名称)
- SQL SERVER 2005 修改数据库名称,包括物理文件名和逻辑名称
- 检查数据库名称与数据库逻辑名、物理文件名称是否一致,并生成修复脚本
- SQL Server更改数据库名称 、更改逻辑文件名
- SQL SERVER 2005修改数据库名称,包括物理文件名和逻辑名称
- sql server 2000更改数据库名称 、更改逻辑文件名
- sql server 2000更改数据库名称 、更改逻辑文件名
- SQL Server更改数据库名称 、更改逻辑文件名
- Sqlserver 修改数据库逻辑文件名的方法
- SqlServer中用SQL语句附加数据库及修改数据库逻辑文件名
- ASP.NET附加数据库文件的方式,如何发布到IIS7而不导致SQLServer出错
- Windows Phone 本地数据库创建、获取数据库物理文件、数据库引用---本地数据库创建
- 【转】SqlServer中用SQL语句附加数据库及修改数据库逻辑文件名
- SqlServer 创建数据库 使用多个文件组和物理磁盘
- 发布网站时根据文件路径和文件名规范Inherits和Class名称,合并唯一程序集
- SQL Server 数据库名字 数据库文件的逻辑文件名的查询和修改