2013-03-26 32 views
2

我正在面臨一個問題,即在一個命令中,使用從ASP.NET發出的17000行代碼長腳本作爲批處理創建新數據庫的速度很慢。問題在於,在高峯時段,此腳本的執行時間有時會更多。如果我在SQL Server Management Studio中運行此腳本,則需要2s。根據請求在SQL Server上創建不重要的數據庫

根據請求創建數據庫,將腳本放入存儲過程,數據庫克隆,預創建和重命名數據庫的最佳實踐是什麼?我們需要確保它與負載下的併發環境兼容。

謝謝。

+1

這個實例中的所有數據庫是否相互克隆?如果是這樣,最好的方法是將所有對象/數據添加到模型數據庫。然後你所要做的就是發出一個CREATE DATABASE命令。創建的新數據庫將是模型數據庫的副本。這就是模型數據庫的用途,它是在該實例上創建的所有新數據庫的模板(模型)。 – 2013-03-26 20:50:21

+0

有沒有什麼動態的關於數據庫創建代碼的*要求*您在命令中執行它?或者,您可以使用腳本文件和其他適當的開關來創建數據庫來執行SQLCmd嗎? – maelstrom 2013-03-26 20:50:32

+1

您是否分析了您的ASP.NET應用程序以查看額外18年的花費? – Pondlife 2013-03-26 20:51:49

回答

0

通過連線發送17000行到SQL服務器看起來像是一個可怕的開銷和緩慢的所有出去。因此,使用ASP.NET的SQL客戶端來做這樣的事情。

是的,我贊成你使用存儲過程來做到這一點。不太清楚數據庫克隆和重命名操作;我敢打賭,你可以通過使用存儲過程的參數來定義該參數。

+0

問題是您必須將該PROC存儲在公用數據庫中,並且PROC不能包含USE命令,那麼我可以創建數據庫並在新創建的數據庫上運行腳本嗎? – 2013-03-26 21:09:48

相關問題