初次使用 SQL Azure 建立 DB Schema
之前已經將程式由 VS 2010 來佈署上 Azure
資料庫的部分則是可以用 SQL Server Management Studio 進行管理
我這裡使用的環境
SQL Server 2008 R2 Management Studio
Visual Studio 2010 SP1
進入 Windows Azure 的管理介面
資料庫-->建立新的 SQL Azure 伺服器
SQL Azure 登入的帳號密碼 ( 請不要用 sa , admin )
請勾選 允許其他 Windows Azure 的系統連線
就會自動加上 MicrosoftServices 規則
這樣子就建立好 SQL Azure 伺服器
------------ 建立 資料庫 -------------
因為我們要用 Client 端的 SQL 管理工具 連上 SQL Azure 的話,就必須指定那些 IP 可以連線上來。
建立資料庫只能在這裡加上,目前建立資料庫的 SQL 語法是不允許的。
指定資料庫名稱
建立完成後,就可以在右邊的屬性列中看到「完整 DNS 名稱」
請將這個 整個 Copy 下來,日後就是用這個名稱來連 SQL Azure 的
====== 建立 Table ==========================
開啟 SQL 管理工具後,就將之前 Copy 下來的 SQL Azure 路徑貼上
並輸入帳密後就可以登入了。
請先選擇好 資料庫
-------------------------------------------
若是跟我一樣是用 Visual Studio 2010 的 Database Project 在管理資料庫
目前暫時還不能直接佈署 SQL Azure ,之後應該會推出套件 ( 若等不到,之後再找個時間研究寫一個 )
DB Project 編譯過後會在 專案下 SQL\Debug\xxxxx.SQL 會有 「佈署檔案」
將內容都 Copy 放到 SQL 管理工具中…
---------------- SQL 語法建立 Table ---------------------------------------------
因為 建立資料庫的動作已經用 SQL Azure 已經完成了
所以從
## TailspinToys 的部署指令碼 ##
到
## Pre-Deployment Script Template ##
都可以直接刪除
另外,還要再將 不支援的語法去除,目前我使用的語法中以下是不支援的項目
直接刪除就可以了
不支援的語法
- ALLOW_PAGE_LOCKS
- ALLOW_ROW_LOCKS
- PAD_INDEX
- USE [$(DatabaseName)];
最後可以看到執行的項目都成功
資料也有
這樣子 SQL Azure 就很順利產生完資料庫了
至於資料庫差異更新的話,當然還是可以用 VS 2010 Database Project ,先在本地的環境做好比對後再轉成 差異更新的語法就好了
如此一來就不用一個一個自已去寫語法了
Tip:在本地 更新資料庫 只能用 SQL 語法