2012年3月14日 星期三

Attach DB到 LocalDB

雖然有點笨,但,總之可以將AdventureWorks與Northwind、Pubs利用Visual Studio 11 Beta的SQL Server Object Explorer掛到 LocalDB 下供我測試用了。

  • 新增一個Query

image

  • 下指令
USE master;
GO
CREATE DATABASE AdventureWorks
    ON (FILENAME = 'C:\Source\AdventureWorks_Data.mdf'),
    (FILENAME = 'C:\Source\AdventureWorks_Log.ldf')
    FOR ATTACH;
GO
  • 執行

image

  • 會自動升級資料庫的版本

image

  • 試掛 Northwind

image

  • Pubs

image

很好,比我想像的容易很多。

不過,有沒有更簡單的方式?

例如有一個網站需要DB

  • 先建立一個Web Site:

image

  • 將DB檔案加入專案

image

  • 雙擊檔案名稱,無法開啟,會得到錯誤訊息。

image

  • 參考此篇文章:

Visual Studio 11 Beta與SQL Server 2008 mdf檔案型資料庫

在Server Explorer刪掉再重建Connection就可以了。

4 則留言:

匿名 提到...

請教一下,
我在沒有安裝sql server的情況下,用F5測試可以連線到LocalDB的一個mdf檔;但如果是使用IIS,則會產生以下錯誤:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.

不知道您是否有試過使用IIS檢視的經驗,謝謝。

米米貓學開發 提到...

應該是權限問題,Web 程式放到IIS,預設執行身份會是 Network Service,所以可試試用NTFS授權Network Service帳號可以存取你的mdf與ldf檔

匿名 提到...

謝謝您的回答。
我也覺得是權限問題,於是我加入了 Network Service 和 IIS_IUSRS, 不過還是一樣的錯誤訊息。

後來我覺得是 db 連線身份的問題,我用 vs11 beta 新增一個資料庫時,它是用 windows 驗證來連線。因為我沒有裝 sql server,所以我也沒辦法給 db 加入任何 login user,我在 vs11 beta 裡也找不到,所以就一直卡住啦~

如果真沒辦法的話,只好換個 db 用了~

米米貓學開發 提到...

看一下這篇文章囉 http://vmiv.blogspot.com/2012/03/q-localdb-iis.html

總網頁瀏覽量