SQL Server 2016 change drive letter step by step after installing

env: Windows Server 2016

         SQL Server 2016

這幾天出現一件震驚的事,系統人員在沒有告知DBA把磁碟標編擅自做更改,把E disk換為F disk。這個變更不僅讓資料庫無法運作。也造成SQL Server無法開啟。

啟動SQL Server錯誤訊息:

我們這次模擬已經安裝完畢後的SQL Server,並且變更磁碟造成路徑問題,嘗試修復此問題。

1.我們安裝的SQL Server路徑內容。

模擬的環境一樣是把SQL Server目錄設定在E disk。

 

扫描二维码关注公众号,回复: 6585925 查看本文章

 

 


2.開始在測試環境模擬變更SQL Server路徑。

Turn off SQL Server 2016 service


3.Change drive letter from e disk to f disk

 

4.Update the file directory from E to F of SQL Server in configuration manager

變更SQL Server Configuration Manager裡面設定的啟始參數路徑

 

 

5.Turn on SQL Server 2016 service

啟動SQL Server

 

6.SQL Server startup log

2019-06-23 13:21:11.56 spid5s      Starting up database 'msdb'.

2019-06-23 13:21:11.56 spid5s      Error: 17204, Severity: 16, State: 1.

2019-06-23 13:21:11.56 spid5s      FCB::Open failed: Could not open file E:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\MSDBData.mdf for file number 1.  OS error: 3(The system cannot find the path specified.).

2019-06-23 13:21:11.56 spid5s      Error: 5120, Severity: 16, State: 101.

2019-06-23 13:21:11.56 spid5s      Unable to open the physical file "E:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\MSDBData.mdf". Operating system error 3: "3(The system cannot find the path specified.)".

2019-06-23 13:21:11.56 spid5s      Error: 17207, Severity: 16, State: 1.

2019-06-23 13:21:11.56 spid5s      FileMgr::StartLogFiles: Operating system error 2(The system cannot find the file specified.) occurred while creating or opening file 'E:\Program Files\Microsoft S

 

2019-06-23 13:21:12.72 spid6s      Starting up database 'model'.

2019-06-23 13:21:12.72 spid6s      Error: 17204, Severity: 16, State: 1.

2019-06-23 13:21:12.72 spid6s      FCB::Open failed: Could not open file E:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\model.mdf for file number 1.  OS error: 3(The system cannot find the path specified.).

2019-06-23 13:21:12.72 spid6s      Error: 5120, Severity: 16, State: 101.

2019-06-23 13:21:12.72 spid6s      Unable to open the physical file "E:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\model.mdf". Operating system error 3: "3(The system cannot find the path specified.)".

2019-06-23 13:21:12.72 spid6s      Error: 17207, Severity: 16, State: 1.

 

7.過程中我們嘗試修改registry。但是無法完成,MSDB還是有檔案路徑不正確的狀況。

因此必須還原之前的做法。

 

8.找出系統資料庫檔案路徑。

語法:

SELECT name, physical_name AS CurrentLocation 
FROM sys.master_files 
WHERE database_id IN(DB_ID(N'master'),DB_ID(N'model'),DB_ID(N'msdb'),DB_ID(N'tempdb')); 
GO  

 

9.變更資料庫路徑。

語法:

USE master; 
GO 

ALTER DATABASE [master]  
MODIFY FILE (NAME = master, FILENAME = 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\master.mdf'); 
GO 

ALTER DATABASE [master]  
MODIFY FILE (NAME = mastlog, FILENAME = 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\mastlog.ldf'); 
GO  

錯誤訊息:

Msg 5121, Level 16, State 1, Line 3

The path specified by "F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\master.mdf" is not in a valid directory.

Msg 5121, Level 16, State 1, Line 6

The path specified by "F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\mastlog.ldf" is not in a valid directory.

 

10.增加磁碟F disk,並增加對應的路徑'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\'

語法:

New-Item -ItemType directory -Path 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\'

 

11.再次變更系統資料庫檔案路徑。

語法:

USE master;
GO 

ALTER DATABASE [master]  
MODIFY FILE (NAME = master, FILENAME = 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\master.mdf'); 
GO 

ALTER DATABASE [master]  
MODIFY FILE (NAME = mastlog, FILENAME = 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\mastlog.ldf'); 
GO 

ALTER DATABASE [tempdb]  
MODIFY FILE (NAME = tempdev, FILENAME = 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\tempdb.mdf'); 
GO 

ALTER DATABASE [tempdb]  
MODIFY FILE (NAME = templog, FILENAME = 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\templog.ldf'); 
GO 

ALTER DATABASE [model]  
MODIFY FILE (NAME = modeldev, FILENAME = 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\model.mdf'); 
GO 

ALTER DATABASE [model]  
MODIFY FILE (NAME = modellog, FILENAME = 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\modellog.ldf'); 
GO  

ALTER DATABASE [msdb]  
MODIFY FILE (NAME = MSDBData, FILENAME = 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\MSDBData.mdf'); 
GO 

ALTER DATABASE [msdb]  
MODIFY FILE (NAME = MSDBLog, FILENAME = 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\MSDBLog.ldf'); 
GO  

訊息:

The file "master" has been modified in the system catalog. The new path will be used the next time the database is started.

The file "mastlog" has been modified in the system catalog. The new path will be used the next time the database is started.

The file "tempdev" has been modified in the system catalog. The new path will be used the next time the database is started.

The file "templog" has been modified in the system catalog. The new path will be used the next time the database is started.

The file "modeldev" has been modified in the system catalog. The new path will be used the next time the database is started.

The file "modellog" has been modified in the system catalog. The new path will be used the next time the database is started.

The file "MSDBData" has been modified in the system catalog. The new path will be used the next time the database is started.

The file "MSDBLog" has been modified in the system catalog. The new path will be used the next time the database is started.

 

12.停用SQL Server service。

13.移除第10步驟增加的F disk。

14.再次修改SQL Server Configuration Manager啟動路徑參數


15.啟動SQL Server service。

若沒有錯誤就是修改成功。

我的啟動log如下。

 

2019-06-23 14:25:11.88 Server      Microsoft SQL Server 2016 (RTM) - 13.0.1601.5 (X64)

        Apr 29 2016 23:23:58

        Copyright (c) Microsoft Corporation

        Enterprise Evaluation Edition (64-bit) on Windows Server 2016 Standard Evaluation 6.3 <X64> (Build 14393: )

 

2019-06-23 14:25:11.88 Server      UTC adjustment: 8:00

2019-06-23 14:25:11.88 Server      (c) Microsoft Corporation.

2019-06-23 14:25:11.88 Server      All rights reserved.

2019-06-23 14:25:11.88 Server      Server process ID is 3908.

2019-06-23 14:25:11.88 Server      System Manufacturer: 'innotek GmbH', System Model: 'VirtualBox'.

2019-06-23 14:25:11.88 Server      Authentication mode is MIXED.

2019-06-23 14:25:11.88 Server      Logging SQL Server messages in file 'F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log\ERRORLO'.

2019-06-23 14:25:11.88 Server      The service account is 'NT Service\MSSQLSERVER'. This is an informational message; no user action is required.

2019-06-23 14:25:11.88 Server      Registry startup parameters:

         -d F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\master.mdf

         -e F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log\ERRORLO

         -l F:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\mastlog.ldf

2019-06-23 14:25:11.88 Server      Command Line Startup Parameters:

         -s "MSSQLSERVER"

2019-06-23 14:25:11.88 Server      SQL Server detected 1 sockets with 1 cores per socket and 1 logical processors per socket, 1 total logical processors; using 1 logical processors based on SQL Server licensing. This is an informational message; no user action is required.

2019-06-23 14:25:11.88 Server      SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.

2019-06-23 14:25:11.88 Server      Detected 1023 MB of RAM. This is an informational message; no user action is required.

2019-06-23 14:25:11.88 Server      Using conventional memory in the memory manager.

2019-06-23 14:25:11.98 Server      Default collation: SQL_Latin1_General_CP1_CI_AS (us_english 1033)

2019-06-23 14:25:12.03 Server      Buffer pool extension is already disabled. No action is necessary.

2019-06-23 14:25:12.09 Server      InitializeExternalUserGroupSid failed. Implied authentication will be disabled.

2019-06-23 14:25:12.09 Server      Implied authentication manager initialization failed. Implied authentication will be disabled.

2019-06-23 14:25:12.12 Server      The maximum number of dedicated administrator connections for this instance is '1'

2019-06-23 14:25:12.12 Server      This instance of SQL Server last reported using a process ID of 1900 at 6/23/2019 2:22:33 PM (local) 6/23/2019 6:22:33 AM (UTC). This is an informational message only; no user action is required.

2019-06-23 14:25:12.13 Server      Node configuration: node 0: CPU mask: 0x0000000000000001:0 Active CPU mask: 0x0000000000000001:0. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.

2019-06-23 14:25:12.13 Server      Using dynamic lock allocation.  Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node.  This is an informational message only.  No user action is required.

2019-06-23 14:25:12.13 Server      Database Instant File Initialization: enabled. For security and performance considerations see the topic 'Database Instant File Initialization' in SQL Server Books Online. This is an informational message only. No user action is required.

2019-06-23 14:25:12.16 Server      Query Store settings initialized with enabled = 1,

2019-06-23 14:25:12.17 spid5s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [1] 'master'. XTP Engine version is 0.0.

2019-06-23 14:25:12.17 spid5s      Starting up database 'master'.

2019-06-23 14:25:12.18 spid5s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [1] 'master'. XTP Engine version is 0.0.

2019-06-23 14:25:12.19 spid5s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [1] 'master'. XTP Engine version is 0.0.

2019-06-23 14:25:12.28 Server      CLR version v4.0.30319 loaded.

2019-06-23 14:25:12.31 spid5s      Resource governor reconfiguration succeeded.

2019-06-23 14:25:12.31 spid5s      SQL Server Audit is starting the audits. This is an informational message. No user action is required.

2019-06-23 14:25:12.32 spid5s      SQL Server Audit has started the audits. This is an informational message. No user action is required.

2019-06-23 14:25:12.36 spid5s      SQL Trace ID 1 was started by login "sa".

2019-06-23 14:25:12.36 spid5s      Server name is 'WIN2K16SQL2K163'. This is an informational message only. No user action is required.

2019-06-23 14:25:12.53 spid11s     A self-generated certificate was successfully loaded for encryption.

2019-06-23 14:25:12.54 spid11s     Server is listening on [ 'any' <ipv6> 1433].

2019-06-23 14:25:12.54 spid11s     Server is listening on [ 'any' <ipv4> 1433].

2019-06-23 14:25:12.55 spid11s     Server local connection provider is ready to accept connection on [ \\.\pipe\SQLLocal\MSSQLSERVER ].

2019-06-23 14:25:12.55 spid5s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [4] 'msdb'. XTP Engine version is 0.0.

2019-06-23 14:25:12.55 spid6s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [32767] 'mssqlsystemresource'. XTP Engine version is 0.0.

2019-06-23 14:25:12.55 spid11s     Server local connection provider is ready to accept connection on [ \\.\pipe\sql\query ].

2019-06-23 14:25:12.55 spid5s      Starting up database 'msdb'.

2019-06-23 14:25:12.55 spid6s      Starting up database 'mssqlsystemresource'.

2019-06-23 14:25:12.58 Server      Server is listening on [ ::1 <ipv6> 1434].

2019-06-23 14:25:12.59 Server      Server is listening on [ 127.0.0.1 <ipv4> 1434].

2019-06-23 14:25:12.59 Server      Dedicated admin connection support was established for listening locally on port 1434.

2019-06-23 14:25:12.63 spid11s     SQL Server is now ready for client connections. This is an informational message; no user action is required.

2019-06-23 14:25:12.63 Server      SQL Server is attempting to register a Service Principal Name (SPN) for the SQL Server service. Kerberos authentication will not be possible until a SPN is registered for the SQL Server service. This is an informational message. No user action is required.

2019-06-23 14:25:12.70 spid6s      The resource database build version is 13.00.1601. This is an informational message only. No user action is required.

2019-06-23 14:25:12.70 spid5s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [4] 'msdb'. XTP Engine version is 0.0.

2019-06-23 14:25:12.70 spid6s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [32767] 'mssqlsystemresource'. XTP Engine version is 0.0.

2019-06-23 14:25:12.79 spid6s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [32767] 'mssqlsystemresource'. XTP Engine version is 0.0.

2019-06-23 14:25:12.79 spid5s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [4] 'msdb'. XTP Engine version is 0.0.

2019-06-23 14:25:12.83 Server      The SQL Server Network Interface library successfully registered the Service Principal Name (SPN) [ MSSQLSvc/Win2k16SQL2k163.dba.com ] for the SQL Server service.

2019-06-23 14:25:12.83 Server      The SQL Server Network Interface library successfully registered the Service Principal Name (SPN) [ MSSQLSvc/Win2k16SQL2k163.dba.com:1433 ] for the SQL Server service.

2019-06-23 14:25:12.89 spid6s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [3] 'model'. XTP Engine version is 0.0.

2019-06-23 14:25:12.89 spid6s      Starting up database 'model'.

2019-06-23 14:25:12.93 Server      Common language runtime (CLR) functionality initialized using CLR version v4.0.30319 from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\.

2019-06-23 14:25:12.95 spid6s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [3] 'model'. XTP Engine version is 0.0.

2019-06-23 14:25:12.97 spid6s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [3] 'model'. XTP Engine version is 0.0.

2019-06-23 14:25:13.01 spid6s      Polybase feature disabled.

2019-06-23 14:25:13.01 spid6s      Clearing tempdb database.

2019-06-23 14:25:13.09 Server      Software Usage Metrics is disabled.

2019-06-23 14:25:13.42 spid6s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [2] 'tempdb'. XTP Engine version is 0.0.

2019-06-23 14:25:13.42 spid6s      Starting up database 'tempdb'.

2019-06-23 14:25:13.46 spid6s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [2] 'tempdb'. XTP Engine version is 0.0.

2019-06-23 14:25:13.52 spid6s      [INFO] HkHostDbCtxt::Initialize(): Database ID: [2] 'tempdb'. XTP Engine version is 0.0.

2019-06-23 14:25:13.64 spid6s      The tempdb database has 1 data file(s).

2019-06-23 14:25:13.65 spid19s     The Service Broker endpoint is in disabled or stopped state.

2019-06-23 14:25:13.65 spid19s     The Database Mirroring endpoint is in disabled or stopped state.

2019-06-23 14:25:13.69 spid19s     Service Broker manager has started.

2019-06-23 14:25:13.70 spid5s      Recovery is complete. This is an informational message only. No user action is required.

2019-06-23 14:25:48.54 spid53      Attempting to load library 'xpsqlbot.dll' into memory. This is an informational message only. No user action is required.

2019-06-23 14:25:48.55 spid53      Using 'xpsqlbot.dll' version '2015.130.1601' to execute extended stored procedure 'xp_qv'. This is an informational message only; no user action is required.

2019-06-23 14:25:49.02 spid55      Attempting to load library 'xpstar.dll' into memory. This is an informational message only. No user action is required.

2019-06-23 14:25:49.04 spid55      Using 'xpstar.dll' version '2015.130.1601' to execute extended stored procedure 'xp_instance_regread'. This is an informational message only; no user action is required.

 

猜你喜欢

转载自blog.csdn.net/weixin_39392627/article/details/93408504