zoukankan      html  css  js  c++  java
  • 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:DatabaseFileTestDBNewFileName.MDF")
    ALTER DATABASE TestDB MODIFY FILE ( NAME = TestDB_log, NEWNAME= 'NewFileName_log', FILENAME = "E:DatabaseFileTestDBNewFileName_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:DatabaseFileTestDBTestDB.MDF" E:DatabaseFileTestDB'
    EXEC master..xp_cmdshell 'MOVE "E:DatabaseFileTestDBTestDB_log.LDF" E:DatabaseFileTestDB'
    GO
    EXEC master..xp_cmdshell 'ren "E:DatabaseFileTestDBTestDB.MDF" "NewFileName.mdf"'
    EXEC master..xp_cmdshell 'ren "E:DatabaseFileTestDBTestDB_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:DatabaseFileTestDBSubNewFileName.mdf")
    ALTER DATABASE TestDBSub MODIFY FILE ( NAME = TestDBSub_log, NEWNAME= 'NewFileName_log', FILENAME = "E:DatabaseFileTestDBSubNewFileName_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:DatabaseFileTestDBSubTestDBSub.mdf" E:DatabaseFileTestDBSub'
    EXEC master..xp_cmdshell 'MOVE "E:DatabaseFileTestDBSubTestDBSub_log.ldf" E:DatabaseFileTestDBSub'
    GO
    EXEC master..xp_cmdshell 'ren "E:DatabaseFileTestDBSubTestDBSub.mdf" "NewFileName.mdf"'
    EXEC master..xp_cmdshell 'ren "E:DatabaseFileTestDBSubTestDBSub_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:DatabaseFileNewFileName.MDF")
    ALTER DATABASE distribution MODIFY FILE ( NAME = distribution_log, NEWNAME= 'NewFileName_log', FILENAME = "E:DatabaseFileNewFileName_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:DatabaseFiledistribution.MDF" E:DatabaseFile'
    EXEC master..xp_cmdshell 'MOVE "E:DatabaseFiledistribution.LDF" E:DatabaseFile'
    GO
    EXEC master..xp_cmdshell 'ren "E:DatabaseFiledistribution.MDF" "NewFileName.mdf"'
    EXEC master..xp_cmdshell 'ren "E:DatabaseFiledistribution.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
    
    -------------------------------------------------------------------------------------------------
    -------------------------------------------------------------------------------------------------
  • 相关阅读:
    PHP 命令行参数解析工具类
    【日本软件外包】设计书中常用到的文型
    php沙盒测试 http://sandbox.onlinephpfunctions.com/ SQL语句格式化 https://www-atl.blog.so-net.ne.jp/2015-02-08
    intra-mart
    maven安装和eclipse集成
    MyEclipse破解
    pdf 中画虚线
    方法名同类名相同如果没有__construct,会被当做构造函数。
    ESA2GJK1DH1K微信小程序篇: 源码使用注意事项和程序优化
    GPRS(Air202) Lua开发: OLED显示二维码,信号强度,电池电量
  • 原文地址:https://www.cnblogs.com/accumulater/p/6224785.html
Copyright © 2011-2022 走看看