校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > sqlserver數據庫移動數據庫路徑的腳本示例

sqlserver數據庫移動數據庫路徑的腳本示例

熱門標簽:貴州外呼回撥系統是什么 競圣地圖標注服務 智能語音車載電話機器人 陽光創信ai外呼獲客系統助力 云南全自動外呼系統公司 安陽天音防封電銷卡 智能外呼系統需要多少錢 外呼系統的話術 衛星地圖標注距離

復制代碼 代碼如下:

USE master
GO

DECLARE
    @DBName sysname,
    @DestPath varchar(256)
DECLARE @DB table(
    name sysname,
    physical_name sysname)


BEGIN TRY

SELECT
    @DBName = 'TargetDatabaseName',   --input database name
    @DestPath = 'D:\SqlData\'         --input destination path


-- kill database processes
DECLARE @SPID varchar(20)
DECLARE curProcess CURSOR FOR

SELECT spid
FROM sys.sysprocesses
WHERE DB_NAME(dbid) = @DBName

OPEN curProcess
    FETCH NEXT FROM curProcess INTO @SPID
    WHILE @@FETCH_STATUS = 0
    BEGIN
            EXEC('KILL ' + @SPID)
            FETCH NEXT FROM curProcess
    END
CLOSE curProcess
DEALLOCATE curProcess

-- query physical name
INSERT @DB(
    name,
    physical_name)
SELECT
    A.name,
    A.physical_name
FROM sys.master_files A
INNER JOIN sys.databases B
    ON A.database_id = B.database_id
        AND B.name = @DBName
WHERE A.type =1

--set offline
EXEC('ALTER DATABASE ' + @DBName + ' SET OFFLINE')

--move to dest path
DECLARE
    @login_name sysname,
    @physical_name sysname,
    @temp_name varchar(256)
DECLARE curMove CURSOR FOR
SELECT
    name,
    physical_name
FROM @DB
OPEN curMove
    FETCH NEXT FROM curMove INTO @login_name,@physical_name
        WHILE @@FETCH_STATUS = 0
        BEGIN
            SET @temp_name = RIGHT(@physical_name,CHARINDEX('\',REVERSE(@physical_name)) - 1)
            EXEC('exec xp_cmdshell ''move "' + @physical_name + '" "' + @DestPath + '"''')
            EXEC('ALTER DATABASE ' + @DBName + ' MODIFY FILE ( NAME = ' + @login_name
                    + ', FILENAME = ''' + @DestPath + @temp_name + ''')')
            FETCH NEXT FROM curMove INTO @login_name,@physical_name
        END
CLOSE curMove
DEALLOCATE curMove

-- set online
EXEC('ALTER DATABASE ' + @DBName + ' SET ONLINE')

-- show result
SELECT
    A.name,
    A.physical_name
FROM sys.master_files A
INNER JOIN sys.databases B
    ON A.database_id = B.database_id
        AND B.name = @DBName
END TRY
BEGIN CATCH
    SELECT ERROR_MESSAGE() AS ErrorMessage
END CATCH
GO

您可能感興趣的文章:
  • SQLSERVER數據庫升級腳本圖文步驟
  • sqlserver數據庫大型應用解決方案經驗總結
  • 將ACCESS數據庫遷移到SQLSERVER數據庫兩種方法(圖文詳解)
  • SQLSERVER數據庫備份后無法還原的解決辦法
  • sqlserver數據庫出現置疑的解決思路
  • SQLSERVER數據庫中的5173錯誤解決方法
  • 將備份的SQLServer數據庫轉換為SQLite數據庫操作方法
  • sqlserver數據庫主鍵的生成方式小結(sqlserver,mysql)
  • 重命名SQLServer數據庫的方法
  • 自動定時備份sqlserver數據庫的方法
  • sqlserver數據庫導入數據操作詳解(圖)

標簽:河源 周口 湘潭 營口 預約服務 欽州 鄂爾多斯 寧夏

巨人網絡通訊聲明:本文標題《sqlserver數據庫移動數據庫路徑的腳本示例》,本文關鍵詞  sqlserver,數據庫,移動,路徑,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sqlserver數據庫移動數據庫路徑的腳本示例》相關的同類信息!
  • 本頁收集關于sqlserver數據庫移動數據庫路徑的腳本示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 甘谷县| 绥化市| 修水县| 闸北区| 黑河市| 凯里市| 黄山市| 江津市| 盐池县| 临沭县| 安仁县| 望江县| 贡觉县| 翼城县| 昭通市| 兰州市| 蒙城县| 赤水市| 余姚市| 隆化县| 韩城市| 山阴县| 麻栗坡县| 囊谦县| 吴堡县| 卢湾区| 武平县| 彭阳县| 洛南县| 泸州市| 玉门市| 舞钢市| 汤阴县| 峡江县| 万州区| 仁化县| 怀远县| 开远市| 黄陵县| 青岛市| 来宾市|