欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

sqlserver數(shù)據(jù)庫移動數(shù)據(jù)庫路徑的腳本示例

 更新時間:2013年12月05日 09:24:14   作者:  
前段時間做過這么一件事情,把原本放在c盤的所有數(shù)據(jù)庫(除了sql server系統(tǒng)文件外)文件Move到D盤,主要是為了方便后續(xù)管理以及減少磁盤I/O阻塞(C,D是2個獨立磁盤)。腳本需輸入2個參數(shù):目標數(shù)據(jù)庫名字和目標目錄

復制代碼 代碼如下:

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

相關(guān)文章

  • Ubuntu 14.04下mysql安裝配置教程

    Ubuntu 14.04下mysql安裝配置教程

    這篇文章主要以圖文結(jié)合的方式為大家分享了Ubuntu 14.04下mysql安裝配置教程,感興趣的小伙伴們可以參考一下
    2016-05-05
  • SQLSERVER收集語句運行的統(tǒng)計信息并進行分析

    SQLSERVER收集語句運行的統(tǒng)計信息并進行分析

    例如語句的編譯時間、執(zhí)行時間、做了多少次磁盤讀等,如果DBA能夠把問題語句單獨測試運行,可以在運行前打開下面這三個開關(guān),收集語句運行的統(tǒng)計信息。這些信息對分析問題很有價值,感興趣的朋友可以了解下
    2013-01-01
  • SQLServer行列互轉(zhuǎn)實現(xiàn)思路(聚合函數(shù))

    SQLServer行列互轉(zhuǎn)實現(xiàn)思路(聚合函數(shù))

    這篇文章主要為大家詳細介紹了SQLServer行列互轉(zhuǎn)實現(xiàn)思路,使用聚合函數(shù)pivot/unpivot實現(xiàn)行列互轉(zhuǎn),感興趣的小伙伴們可以參考一下
    2016-03-03
  • 修復斷電等損壞的SQL 數(shù)據(jù)庫

    修復斷電等損壞的SQL 數(shù)據(jù)庫

    修復斷電等損壞的SQL 數(shù)據(jù)庫,不論因為哪種原因,大家都可以測試下,試試。
    2009-08-08
  • SQLServer常見數(shù)學函數(shù)梳理總結(jié)

    SQLServer常見數(shù)學函數(shù)梳理總結(jié)

    這篇文章主要為大家介紹了SQLServer常見數(shù)學函數(shù)梳理總結(jié)分享,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • sql server查詢語句阻塞優(yōu)化性能

    sql server查詢語句阻塞優(yōu)化性能

    這篇文章介紹了sql server查詢語句阻塞優(yōu)化性能的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • sql server實現(xiàn)遞歸查詢的方法示例

    sql server實現(xiàn)遞歸查詢的方法示例

    這篇文章主要介紹了sql server實現(xiàn)遞歸查詢的方法,結(jié)合具體實例形式分析了SQL Server遞歸查詢的原理與實現(xiàn)技巧,需要的朋友可以參考下
    2017-03-03
  • oracle學習筆記(二)

    oracle學習筆記(二)

    最近需要用的oracle,所以大家好好的學習下基礎(chǔ)并整理下資料,希望能幫助到需要的朋友。
    2011-12-12
  • SQL?Server中的XML數(shù)據(jù)類型詳解

    SQL?Server中的XML數(shù)據(jù)類型詳解

    本文詳細講解了SQL?Server中的XML數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • 最常用的SQL語句

    最常用的SQL語句

    最常用的SQL語句,大家可以看下,都是在開發(fā)過程中,比較常用的語句。
    2009-10-10

最新評論