不同主機供應商提供的SQL工具的質量不盡相同。在測試數據庫發布向導時,我們發現主機供應商提供的一些定制的SQL管理工具會不正確地分析合法的SQL語句從而導致問題,特別是對於GOTO語句。這個頁面描述了一個你也許見過的一些主機供應商的工具遭遇GOTO語句的問題。為了幫助全面提高SQL主機管理工具的質量,SQL Server產品組在明年的早些時候會發布一個免費的SQL Html管理工具的源碼,主機供應商可以將其集成到他們的界面中去。如果順利的話,這將有助於改進所有Windows主機環境的標准體驗。
如果你的主機供應商沒有可用的Html web管理工具讓你輕松管理你的SQL數據庫的話,那麼你也可以編寫一個簡單的ASP.NET 網頁,你可以將它和你的 .SQL 文件一起FTP到你的網站,然後訪問該網頁,該網頁則把 .SQL 文件當作文本文件讀入內存,然後將其變成一個字符串傳給ADO.Net來執行。這將給予你和上面的查詢分析器一樣的結果,為你完全重建你的數據庫。
第四步:更新web.config中的連接字符串
一旦在我們的主機環境的數據庫裡上傳數據完畢,我們要向遠程網站上傳我們的.ASPx文件,程序集和其他內容(一般是通過FTP來做的)。
我們要做的最後一步是打開我們的 web.config 文件,更新 部分來指向我們遠程主機的新數據庫位置。注意,你需要從主機供應商那裡得到確切的SQL服務器,數據庫名字,以及用戶名/密碼。
用我們上面的personal starter kit作為例子,我們要改動 web.config 文件中的 部分中的默認連接字符串(原本使用的是本地\app_data文件夾中的2個SQL Express數據庫):
<connectionStrings>
<add name="Personal" connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Personal.mdf" />
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|ASPnetdb.mdf" />
</connectionStrings>
來使用單個SQL Server 2000數據庫(Server123機器上的scottguDB數據庫)。
<connectionStrings>
<add name="Personal" connectionString="Data Source=Server123;Initial Catalog=scottguDB;Integrated Security=True" providerName="System.Data.SqlClIEnt" />
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="Data Source=Server123;Initial Catalog=scottguDB;Integrated Security=True" providerName="System.Data.SqlClIEnt" />
</connectionStrings>
我們能夠使用單個數據庫(而不是上面的2個數據庫),因為我們對單一數據庫運行了2個 .SQL文件,這樣,把所有的數據定義和數據庫合並到單個數據庫實例裡去了。
第五步:完成
至此,我們就可以在主機環境裡遠程運行我們的應用了,它應該是工作的。
總結
作為SQL Hosting Toolkit的一部分推出的數據庫發布向導應該使得為任何數據庫(SQL Express 或者 SQL Server)創建 .SQL 文件非常容易。你可以使用它來輕松地dump你本機的數據庫,然後用來在遠程系統上重新建立完全一樣的數據庫。