這篇文章是記錄一下整個資料庫搬移過程

情形是依據使用者的需求,原資料庫是MSSQL 2014,但希望能降轉為MSSQL 2008,原因我沒問

查了一下好像沒法直接降轉,而2014到2008的備份回復會有問題(我沒試過,聽說的,你可以自己試試)

所以就用了最原始的方法,找了台電腦,裝上了MSSQL 2008,接著將2014那台的使用者搬過來

搬使用者的方法如下

1. 先到2014那台MSSQL上,按照下圖產生使用者的指令碼

2. 會出現一個視窗,裡面就是這個使用者的新增指令碼

3. 我們要去除一行,再加一行,來符合MSSQL 2008的規則

我把倒數第三行註解起來了,另外再加入了一行 ,dbuser就是你要匯出的資料庫使用者,請自己修改,sysadmin是群組,也一供依需求修改

EXEC sp_addsrvrolemember 'dbuser', 'sysadmin';

4. 請把這整段指令複製起來,到MSSQL 2008那台上面,使用「新增查詢』,將指令貼上然後按「執行』,這時你應該就能看到新使用者出現了

5. 請將你資料庫要複製的使用者一一用這方法,讓它們在2008那台上面復活吧

 

接下來,我們要把資料庫從2014搬到2008了,複製資料庫的方法如下

1. 一樣先到2014那台,選擇到複製到2008的資料庫,照下圖流程做

這裡我們選"結構描述和資料",如果你只想複製空的資料庫,就可以只選結構描述,伺服器版本我們選"SQL Server 2008 R2",這裡請依照你的目標伺服器選擇

選好後按「確定』,回到上一層再按「下一步』

這裡按「下一步』

完成以上的步驟就會產生資料庫的指令碼,但指令碼有二個地方要改,要改的地方是mdf和ldf的檔案路徑,因為該路徑是2014的目錄結構路徑,你要找到2008的目錄結構路徑,把它替換掉

比如說,2014的是這樣

CREATE DATABASE [DB] ON  PRIMARY 
( NAME = N'DB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\DB.mdf' , SIZE = 8384KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'DB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\DB_log.ldf' , SIZE = 125888KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO

我會把它改成在2008的路徑,像下面(請自己找你自己的路徑,不一定相同)

CREATE DATABASE [DB] ON  PRIMARY 
( NAME = N'DB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\DB.mdf' , SIZE = 8384KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'DB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\DB_log.ldf' , SIZE = 125888KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO

改完這二行後,請把整段的指令碼複製下來,一樣到2008那台用「新增查詢』,將指令碼貼上,再按「執行』

完成後你就可以看到資料庫產生了.

使用這個方法將你要複製的資料庫一個個搬到2008上,這樣就完成了工作.

收工........

arrow
arrow
    創作者介紹
    創作者 痞客興 的頭像
    痞客興

    痞客興的部落格

    痞客興 發表在 痞客邦 留言(0) 人氣()