我一直在使用Amazon RDS中託管的SQL Server進行一些研究。我打算具有需要多租戶解決方案的應用程序 - 每個客戶一個數據庫與核心數據庫的登錄等在Amazon RDS中託管的SQL Server中自動創建數據庫
因此,進出口與RDS/SQL服務器玩,但有來,我需要克服的問題。首先,如何自動創建數據庫?我RDS我不能從一個bak文件恢復,我想從模板創建數據庫模式。有沒有人有這方面的經驗,如果是的話,你可以指導我一些提示?
感謝,
kseudo
我一直在使用Amazon RDS中託管的SQL Server進行一些研究。我打算具有需要多租戶解決方案的應用程序 - 每個客戶一個數據庫與核心數據庫的登錄等在Amazon RDS中託管的SQL Server中自動創建數據庫
因此,進出口與RDS/SQL服務器玩,但有來,我需要克服的問題。首先,如何自動創建數據庫?我RDS我不能從一個bak文件恢復,我想從模板創建數據庫模式。有沒有人有這方面的經驗,如果是的話,你可以指導我一些提示?
感謝,
kseudo
生成腳本是一個很好的起點,但如果你真正想實現自動化數據庫創建你想要轉換的腳本是從SQL Server的輸出生成腳本成模板。
一個好辦法做到這一點是創建.NET應用程序,甚至只是一個存儲過程,將做一個查找和替換上的腳本,一旦你把它做成一個模板。
在C#或SQL通過在每個對象名稱的變量,建立動態查詢:
CREATE DATABASE CustomerDB_1 ...
"CREATE DATABASE CustomerDB_{0}" //Formatted String in C#
'CREATE DATABASE CustomerDB_' + @vchCustomerID //Dynamic SQL
如果每個對象名稱中的客戶ID和每個數據庫都有一個唯一的客戶ID,然後你可以在用適當的值替換變量之後簡單地運行查詢,並且您都已設置完畢。
你有沒有看使用SMO? (http://www.mssqltips.com/sqlservertip/1826/getting-started-with-sql-server-management-objects-smo/),或者簡單地使用Management Studio和「生成腳本...」任務? – chrisb