2010-07-20 53 views
1

由於員工辭職,我獲得了一個超出我的專業領域範圍的項目。從存儲過程中創建新數據庫

我有一個產品,其中每個客戶將擁有自己的數據庫副本。用於創建數據庫的UI(許可,基本信息收集等)正在外包,所以我希望只有一個可以調用的存儲過程,提供一些參數,並讓SP創建數據庫。我有創建數據庫的腳本,但我不確定實際執行腳本的最佳方式。

從我發現的情況來看,這似乎超出了SP輕鬆實現的範圍。處理這種程序流程有沒有什麼「最佳實踐」?

回答

3

一般來說,SQL腳本(包括DML和DDL)都是用於數據庫創建和填充的。 SQL Server有一個名爲SQLCMD that these scripts can be run through - here's a link to the MSDN tutorial的命令行界面。

假設沒有對涉及的表格或列進行定製,您可以使用attach/reattachbackup/restore。這要求存在一個基線數據庫 - 沒有客戶數據。然後,您使用提到的任一方法來按原樣捕獲數據庫。備份/恢復是可取的,因爲attach/reattach要求數據庫脫機。但用戶需要在可以訪問數據庫之前進行同步。

+1

使用備份/恢復聽起來很有希望。我會研究這一點,並將其標記爲答案,如果它解決了。 – kyork 2010-07-20 21:32:20

0

如果你有腳本來創建數據庫,他們很容易在他們的程序中使用它。你是否有任何具體的先決條件來創建相應的數據庫設置權限,你可以將1個腳本文件中的所有腳本包裝起來執行。