顯示具有 SQL server 標籤的文章。 顯示所有文章
顯示具有 SQL server 標籤的文章。 顯示所有文章

2016年4月3日 星期日

在SQL Server 2012安裝Northwind資料庫

Northwind是微軟提供的範例資料庫,我們可以利用這個資料庫來練習資料庫或程式語言相關的技術,但這個資料庫是SQL Server 2000的範例,安裝在SQL Server 2012可能會碰到一些問題,這篇文章是我自己在安裝時所碰到的問題紀錄。

下載

可以在微軟網站中下載:

安裝

照下面圖示操作即可:




上述步驟完成後在C:\SQL Server 2000 Sample Databases中找到需要的檔案。

問題及解決

現在有兩個方法可以安裝Northwind,一個是Attach Database,另一個是直接執行.sql,我先嘗試了Attach的方式。

Attach Database

在SSMS中對Database按右鍵>Attach
Add>NORTHWIND.MDF>OK

問題1

出現錯誤,點Databases to attach的Message連結,出現錯誤訊息:
Operating System error 5

解決

SSMS要以系統管理員身分執行

問題2

its non-release version(539)is not supported by this version of SQL Server

為何發生

Google發現有人也有同樣的問題:
SQL Server可以還原資料庫的版本只有前面的兩到三個版本,例如我現在用的是2012,那我可以還原的最舊版本就是2005的,所以當然2012沒辦法還原2000的資料庫。

那我們就來看一下執行.sql的方法可不可行好了。

Execute SQL

問題

把instnwnd.sql直接用SSMS執行,會發生下面的錯誤:
Could not  find store procedure 'sp_dboption'
再次請教Google大神:
發現到原來sp_dboption已經被棄用了,要改用ALTER DATABASE。
所以代表我們要把sp_dboption的指令轉乘ALTER DATABASE。
於是我們去查[trunc. log on chkpt.]及[select into/bulkcopy],很幸運的我們在同一個頁面找到:
發現原來這兩行的是在設定復原模式的而且也知道他們要設定的數值,那我們就把這兩行替換成:
ALTER DATABASE Northwind SET RECOVERY SIMPLE
ALTER DATABASE Northwind SET RECOVERY BULK_LOGGED
之後再執行一次SQL就好了。

2014年4月5日 星期六

利用指令碼匯出(匯入)資料庫

在SQL server中雖然有匯入匯出精靈,但她真的是不太好用,所以我這次要提供一個不同的匯出方式,也就是利用產生指令碼來匯出資料庫,可以讓大家多一種選擇

平台

  • Microsoft SQL server 2012

步驟

Step 1

在要匯出的資料庫上按【右鍵】>【工作】>【產生指令碼】

Step 2

【下一步】

Step 3

這裡可以選擇要整個資料庫還是特定的物件,這個教學是要把整個資料庫給匯出所以選【編寫整個資料庫和所有資料物件的指令碼】>【下一步】

Step 4

先決定【檔案名稱】(也就是路徑)>【進階】>【要編寫指令碼的資料類型】選項改成【結構描述和資料】>【確定】>【下一步】

Step 5

【下一步】

Step 6

【完成】

Step 7 

之後去你儲存的路徑會看到一個.sql檔,將它點開,把裡面所有的內容複製。

Step 8

按下【新增查詢】>把剛剛複製的貼上>【執行】

結論

如果上列的步驟都有完成的話就可以看到一個你剛剛的資料庫了,完成,收工。
我個人是覺得這樣的方式比較快速,也不用東調西調的,希望有幫到大家^^