使用publishing轉移MS SQL資料

來源:互聯網
上載者:User

最近,將網站從國內網站搬移到了Lunarpage,程式轉移比較簡單,使用cuteftp上傳上去就可以了。但是資料庫轉移一直都是很棘手的一個問題。本文介紹資料庫轉移的方法。

資料庫轉移最簡單的方法是使用DTS,但是Lunarpages資料庫不支援遠端資料庫連結,所以無法使用DTS,因此只好使用publishing轉移資料。

具體步驟如下:

Step1. 運行 SqlPubWiz.exe

Publishing類似MS SQL的一個外掛程式,你可以到

http://www.microsoft.com/downloads/details.aspx?FamilyId=56E5B1C5-BF17-42E0-A410-371A838E570A

下載,運行後可以在tools下找到

Step2 運行後,會出現運行嚮導,找到本機資料庫

Step3.選項要產生的類型,系統會自動檢測可用內容,一般之選擇“表”“預存程序”和“視圖”,對於Users就不要讓系統產生了

點擊Next,一直完成。

更改資料庫擁有者

以下是核心,非常重要,否則不會成功。

在我們使用網站時,通常會使用SP給我們的賬戶,例如我原來的資料庫叫做 “bf4190_”

當時網站供應商給我的賬戶為 bf419,則系統產生的資料表如下

你可以看到,有的表前面有首碼bf419,有的有首碼dbo (db哦,是database owner),這很不同。因為在我們建立表時,指令碼的寫法略有區別。

寫法一:

CREATE TABLE [dbo].[ads]  (

[id] [int] IDENTITY(1,1) NOT NULL,

[name] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

[img] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

}

寫法二:

CREATE TABLE [ads]   (

[id] [int] IDENTITY(1,1) NOT NULL,

[name] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

[img] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

 

}

對於第一種,產生的表就是 dbo.ads, 而第二個表則是 bf419.ads,因為你的bf419其實就是dbo,所以系統可以運行。

但是,當你把資料庫轉移到新的服務商時,如果你的賬戶叫做XXXX,則上面建立bf419.ads則出現錯誤,而用 dbo.ads 則完全沒有問題。

通常新舊服務商給使用者開的使用者名稱並不一樣,所以我們需要更改一下資料庫的所有者。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。