欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

SQL Server 移動數據庫

系統 1965 0
原文: SQL Server 移動數據庫

移動系統數據庫在下列情況下可能很有用:

  • 故障恢復。例如,數據庫處于可疑模式下或因硬件故障而關閉。

  • 計劃的重定位。

  • 為預定的磁盤維護操作而進行的重定位。

下列過程適用于在同一 SQL Server 實例內移動數據庫文件。若要將數據庫移動另一個 SQL Server 實例中或另一臺服務器上,請使用 備份和還原 分離和附加 操作。

本主題中的過程需要數據庫文件的邏輯名稱。若要獲取該名稱,請在? sys.master_files ?目錄視圖中查詢名稱列。

?

預先安排的重定位與預定的磁盤維護過程

若要將移動系統數據庫數據或日志文件的操作作為預先安排的重定位或預定的維護操作的一部分,請執行下列步驟。此過程適用于除 master 和 Resource 數據庫以外的所有系統數據庫。

  1. 對于要移動的每個文件,請運行以下語句。

                    ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name , FILENAME = 'new_path\os_file_name' )
    
    
                  
  2. 停止 SQL Server 實例或關閉系統以執行維護。有關詳細信息,請參閱 停止服務

  3. 將文件移動到新位置。

  4. 重新啟動 SQL Server 實例或服務器。有關詳細信息,請參閱 啟動和重新啟動服務 。

  5. 通過運行以下查詢來驗證文件更改。

              SELECT  name ,
    
            physical_name AS CurrentLocation ,
    
            state_desc
    
    FROM    sys.master_files
    
    WHERE   database_id = DB_ID(N'<database_name>') ;
            


如果移動了 msdb 數據庫并為 數據庫郵件 配置了 SQL Server 實例,則請完成下列附加步驟。

  1. 通過運行以下查詢,驗證是否已為 msdb 數據庫啟用 Service Broker。

              SELECT  is_broker_enabled
    
    FROM    sys.databases
    
    WHERE   name = N'msdb' ;
            


    有關啟用 Service Broker 的詳細信息,請參閱? ALTER DATABASE (Transact-SQL) 。

  2. 通過發送測試郵件驗證數據庫郵件是否正常運行。有關詳細信息,請參閱 對數據庫郵件進行故障排除 。

如果由于硬件故障而必須移動文件,則請執行下列步驟,將文件重新定位到一個新位置。此過程適用于除 master 和 Resource 數據庫以外的所有系統數據庫。

?重要提示

如果數據庫無法啟動,即處于可疑模式下或處于未恢復狀態,則只有 sysadmin 固定角色的成員才可以移動該文件。

  1. 如果啟動了 SQL Server 實例,則將其停止。

  2. 通過在命令提示符下輸入下列命令之一,在僅 master 恢復模式下啟動 SQL Server 實例。在這些命令中指定的參數區分大小寫。如果未按所示方式指定參數,則命令會失敗。

    • 對于默認的 (MSSQLSERVER) 實例,請運行以下命令:

                            NET START MSSQLSERVER /f /T3608
      
      
                          
    • 對于命名實例,請運行以下命令:

                            NET START MSSQL$instancename /f /T3608
      
      
                          

    有關詳細信息,請參閱 如何啟動 SQL Server 實例(net 命令) 。

  3. 對于要移動的每個文件,請使用? sqlcmd ?命令或 SQL Server Management Studio 運行以下語句。

                      ALTER DATABASE database_name MODIFY FILE( NAME = logical_name , FILENAME = 'new_path\os_file_name' )
    
    
                    

    有關使用? sqlcmd ?實用工具的詳細信息,請參閱 使用 sqlcmd 實用工具

  4. 退出? sqlcmd ?實用工具或 SQL Server Management Studio。

  5. 停止 SQL Server 實例。例如,運行? NET STOP MSSQLSERVER 。

  6. 將文件移動到新位置。

  7. 重新啟動 SQL Server 實例。例如,運行? NET START MSSQLSERVER 。

  8. 通過運行以下查詢來驗證文件更改。

                      SELECT name, physical_name AS CurrentLocation, state_desc
    
    FROM sys.master_files
    
    WHERE database_id = DB_ID(N'<database_name>');
    
    
                    

若要移動 master 數據庫,請按下列步驟進行操作。

  1. “開始” 菜單中,依次指向 “所有程序” 、 Microsoft SQL Server ?和 “配置工具” ,再單擊? SQL Server 配置管理器

  2. “SQL Server 服務” 節點中,右鍵單擊 SQL Server 實例(如? SQL Server (MSSQLSERVER) ),并選擇 “屬性” 。

  3. “SQL Server ( 實例名 ) 屬性” 對話框中,單擊 “高級” 選項卡。

  4. 編輯 “引導參數” 值以指向 master 數據庫數據和日志文件的計劃位置,然后單擊 “確定” 。可以選擇移動錯誤日志文件。

    數據文件的參數值必須跟在? -d ?參數的后面,日志文件的參數值必須跟在? -l ?參數的后面。下面的示例顯示 master 數據和日志文件默認位置的參數值。

                      -dC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\
    
    master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\
    
    LOG\ERRORLOG;-lC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\
    
    DATA\mastlog.ldf
    
    
                    

    如果 master 數據和日志文件預先安排的重定位是? E:\SQLData ,則參數值將更改為:

                      -dE:\SQLData\master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\LOG\ERRORLOG;-lE:\SQLData\mastlog.ldf
    
    
                    
  5. 通過右鍵單擊實例名稱并選擇 “停止” ,停止 SQL Server 實例。

  6. 將 master.mdf 和 mastlog.ldf 文件移動到新位置。

  7. 重新啟動 SQL Server 實例。

  8. 通過運行以下查詢,驗證 master 數據庫的文件更改。

                      SELECT name, physical_name AS CurrentLocation, state_desc
    
    FROM sys.master_files
    
    WHERE database_id = DB_ID('master');
    
    GO
    
    
                    

Resource 數據庫的位置為 < drive >:\Program Files\Microsoft SQL Server\MSSQL10_50.< instance_name >\MSSQL\Binn\。無法移動該數據庫。

A. 移動 tempdb 數據庫

下面的示例將? tempdb ?數據和日志文件移動到一個新位置,作為預先安排的重定位的一部分。

注意

由于每次啟動 SQL Server 實例時都將重新創建 tempdb,所以不必實際移動數據和日志文件。在步驟 3 中重新啟動服務時,將在新位置中創建這些文件。在重新啟動服務之前,tempdb 將繼續使用現有位置中的數據和日志文件。

  1. 確定? tempdb ?數據庫的邏輯文件名稱以及在磁盤上的當前位置。

                        SELECT name, physical_name AS CurrentLocation
    
    FROM sys.master_files
    
    WHERE database_id = DB_ID(N'tempdb');
    
    GO
    
    
                      
  2. 使用? ALTER DATABASE ?更改每個文件的位置。

                        USE master;
    
    GO
    
    ALTER DATABASE tempdb 
    
    MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
    
    GO
    
    ALTER DATABASE tempdb 
    
    MODIFY FILE (NAME = templog, FILENAME = 'F:\SQLLog\templog.ldf');
    
    GO
    
    
                      
  3. 停止再重新啟動 SQL Server 的實例。

  4. 驗證文件更改。

                        SELECT name, physical_name AS CurrentLocation, state_desc
    
    FROM sys.master_files
    
    WHERE database_id = DB_ID(N'tempdb');
    
    
                      
  5. 將? tempdb.mdf ?和? templog.ldf ?文件從其原始位置刪除。



    在 SQL Server 中,通過在? ALTER DATABASE ?語句的 FILENAME 子句中指定新的文件位置,可以將用戶數據庫中的數據、日志和全文目錄文件移動到新位置。此方法適用于在同一 SQL Server 實例中移動數據庫文件。若要將數據庫移動到另一個 SQL Server 實例或另一臺服務器上,請使用 備份和還原 分離和附加操作

    注意

    SQL Server 數據庫引擎的某些功能改變了數據庫引擎在數據庫文件中存儲信息的方式。這些功能僅限于特定的 SQL Server 版本。不能將包含這些功能的數據庫移到不支持這些功能的 SQL Server 版本。使用 sys.dm_db_persisted_sku_features 動態管理視圖可列出當前數據庫中啟用的所有特定于版本的功能。

    本主題中的過程需要數據庫文件的邏輯名稱。若要獲取該名稱,請在? sys.master_files ?目錄視圖中查詢名稱列。

    注意

    將數據庫移動到另一個服務器實例上時,若要為用戶和應用程序提供一致的體驗,您可能需要為數據庫重新創建部分或全部元數據。有關詳細信息,請參閱 當數據庫在其他服務器實例上可用時管理元數據

    若要將移動數據或日志文件作為計劃的重定位的一部分,請執行下列步驟:

    1. 運行以下語句。

                            ALTER DATABASE database_name SET OFFLINE ;
                          


    2. 將文件移動到新位置。

    3. 對于已移動的每個文件,請運行以下語句。

                            ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name, FILENAME = 'new_path\os_file_name' ) ;
                          


    4. 運行以下語句。

                                  
                                    ALTER DATABASE database_name SET ONLINE ;
                                  
    5. 通過運行以下查詢來驗證文件更改。

                                  
                                    SELECT  name ,
      
              physical_name AS CurrentLocation ,
      
              state_desc
      
      FROM    sys.master_files
      
      WHERE   database_id = DB_ID(N'<database_name>') ;
                                  

    若要將重定位文件作為計劃的磁盤維護過程的一部分,請執行下列步驟:

    1. 對于要移動的每個文件,請運行以下語句。

                                  ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name , FILENAME = 'new_path\os_file_name' );
      
      
                                
    2. 停止 SQL Server 實例或關閉系統以執行維護。有關詳細信息,請參閱 停止服務 。

    3. 將文件移動到新位置。

    4. 重新啟動 SQL Server 實例或服務器。有關詳細信息,請參閱 啟動和重新啟動服務 。

    5. 通過運行以下查詢來驗證文件更改。

                                  
                                    SELECT  name ,
      
              physical_name AS CurrentLocation ,
      
              state_desc
      
      FROM    sys.master_files
      
      WHERE   database_id = DB_ID(N'<database_name>') ;
                                  

    如果由于硬件故障而必須移動文件,則請執行下列步驟,將文件重新定位到一個新位置。

    ?重要提示

    如果數據庫無法啟動,即處于可疑模式下或處于未恢復狀態,則只有 sysadmin 固定角色的成員才可以移動該文件。

    1. 如果啟動了 SQL Server 實例,則將其停止。

    2. 通過在命令提示符下輸入下列命令之一,在僅 master 恢復模式下啟動 SQL Server 實例。

      • 對于默認的 (MSSQLSERVER) 實例,請運行以下命令。

                                  NET START MSSQLSERVER /f /T3608
                                


      • 對于命名實例,請運行以下命令。

                                        NET START MSSQL$instancename /f /T3608
        
        
                                      

      有關詳細信息,請參閱 如何啟動 SQL Server 實例(net 命令)

    3. 對于要移動的每個文件,請使用? sqlcmd ?命令或 SQL Server Management Studio 運行以下語句。

                                  ALTER DATABASE database_name MODIFY FILE( NAME = logical_name , FILENAME = 'new_path\os_file_name' );
      
      
                                

      有關如何使用? sqlcmd ?實用工具的詳細信息,請參閱 使用 sqlcmd 實用工具 。

    4. 退出? sqlcmd ?實用工具或 SQL Server Management Studio。

    5. 停止 SQL Server 實例。

    6. 將文件移動到新位置。

    7. 啟動 SQL Server 實例。例如,運行? NET START MSSQLSERVER 。

    8. 通過運行以下查詢來驗證文件更改。SELECT name, physical_name AS CurrentLocation, state_desc

                                  FROM sys.master_files
      
      WHERE database_id = DB_ID(N'<database_name>');
      
      
                                

    若要移動全文目錄,請執行下列步驟。請注意,指定新的目錄位置時,只指定? new_path ,而不是指定? new_path/os_file_name 。

    1. 運行以下語句。

                                  ALTER DATABASE database_name SET OFFLINE
      
      
                                
    2. 將全文目錄移動到新位置。

    3. 運行下列語句,其中: logical _ name ?是? sys.database_files ?中 name 列的值, new _ path ?是目錄的新位置。

                                  ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name , FILENAME = 'new_path');
      
      
                                
    4. 運行以下語句。

                                  ALTER DATABASE database_name SET ONLINE;
      
      
                                

    另外,也可以使用 CREATE DATABASE 語句的 FOR ATTACH 子句移動全文目錄。下面的示例在 AdventureWorks2008R2 數據庫中創建一個全文目錄。若要將全文目錄移動到新位置,請分離 AdventureWorks2008R2 數據庫,并將全文目錄從物理意義上移動到新位置。然后附加數據庫,并指定全文目錄的新位置。

                            
                              USE AdventureWorks2008R2 ;
    
    CREATE FULLTEXT CATALOG AdvWksFtCat AS DEFAULT ;
    
    GO
    
    USE master ;
    
    GO
    
    --Detach the AdventureWorks2008R2 database.
    
    sp_detach_db AdventureWorks2008R2 ;
    
    GO
    
    --Physically move the full-text catalog to the new location.
    
    --Attach the AdventureWorks2008R2 database and specify the new location of the full-text catalog.
    
    CREATE DATABASE AdventureWorks2008R2 ON 
    
        (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\AdventureWorks2008R2_Data.mdf'), 
    
        (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\AdventureWorks2008R2_log.ldf'),
    
        (FILENAME = 'c:\myFTCatalogs\AdvWksFtCat') FOR ATTACH ;
    
    GO
                            

    下面的示例將 AdventureWorks2008R2 日志文件移動到一個新位置,作為計劃的重定位的一部分。

                            
                              USE master ;
    
    GO
    
    -- Return the logical file name.
    
    SELECT  name ,
    
            physical_name AS CurrentLocation ,
    
            state_desc
    
    FROM    sys.master_files
    
    WHERE   database_id = DB_ID(N'AdventureWorks2008R2')
    
            AND type_desc = N'LOG' ;
    
    GO
    
    ALTER DATABASE AdventureWorks2008R2 SET OFFLINE ;
    
    GO
    
    -- Physically move the file to a new location.
    
    -- In the following statement, modify the path specified in FILENAME to
    
    -- the new location of the file on your server.
    
    ALTER DATABASE AdventureWorks2008R2 
    
    MODIFY FILE ( NAME = AdventureWorks2008R2_Log, 
    
    FILENAME = 'C:\NewLoc\AdventureWorks2008R2_Log.ldf') ;
    
    GO
    
    ALTER DATABASE AdventureWorks2008R2 SET ONLINE ;
    
    GO
    
    --Verify the new location.
    
    SELECT  name ,
    
            physical_name AS CurrentLocation ,
    
            state_desc
    
    FROM    sys.master_files
    
    WHERE   database_id = DB_ID(N'AdventureWorks2008R2')
    
            AND type_desc = N'LOG' ;
                            


SQL Server 移動數據庫


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲精品99| 欧美成人精品一区二区男人看 | 高清一区二区三区四区五区 | 国产在线精品一区二区三区 | 亚洲精品国产电影 | 国产主播福利精品一区二区 | 中文字幕亚洲综合 | 国产精品毛片无码 | 777久久婷婷成人综合色 | 国产综合成色在线视频 | 免费色网 | 骚av在线| 久久xxx| 三级网站免费看 | 在线观看国产 | 韩国三级中文字幕hd久久精品 | 精品久久久久久久久久久久久久久 | 久久香蕉国产线熟妇人妻 | 日韩影院在线观看 | 天天草人人草 | 成人在线激情网 | 二区在线视频 | 男人激烈吮乳动态图 | 免费观看www | yy4138理论片在线大全 | 天天草天天干 | 一级a级国产不卡毛片 | 国产无遮挡裸体免费视频 | 黄色网一级片 | av影音资源 | 草草国产成人免费视频 | 1级毛片 | 日韩手机视频 | 一级毛片,一级毛片 | 五月天综合在线 | 中国xxnxx免费 | 日韩经典视频 | 国产大片在线观看 | 国产精品久久久久一区二区 | 日韩在线第二页 | 亚洲人人插 |