System、System.Data.SqlClientCREATE DATABASE 權限btnCreateDatabase,Text = "Create Database"using System;
using System.Data.SqlClient;
using System.Windows.Forms;
private void btnCreateDatabase_Click(object sender, EventArgs e) {
string str;
SqlConnection myConn = new SqlConnection("Server=localhost;Integrated Security=SSPI;database=master");
str = "CREATE DATABASE MyDatabase ON PRIMARY " +
"(NAME = MyDatabase_Data, " +
"FILENAME = 'C:\\MyDatabaseData.mdf', " +
"SIZE = 2MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " +
"LOG ON " +
"(NAME = MyDatabase_Log, " +
"FILENAME = 'C:\\MyDatabaseLog.ldf', " +
"SIZE = 1MB, " +
"MAXSIZE = 5MB, " +
"FILEGROWTH = 10%)";
SqlCommand myCommand = new SqlCommand(str, myConn);
try {
myConn.Open();
myCommand.ExecuteNonQuery();
MessageBox.Show("Database Created Successfully", "MyProgram", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex) {
MessageBox.Show(ex.ToString(), "MyProgram", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally {
if (myConn.State == ConnectionState.Open) myConn.Close();
}
}
| 子句 | 參數 | 說明 |
|---|---|---|
| ON PRIMARY | NAME | 邏輯檔案名稱 |
| FILENAME | 實體路徑 資料夾必須預先存在 | |
| SIZE | 初始大小 | |
| MAXSIZE | 最大大小 (UNLIMITED 可無上限) | |
| FILEGROWTH | 成長增量 (MB 或 %) | |
| LOG ON | 同樣參數 | 交易記錄檔配置 |
str = "CREATE DATABASE MyDatabase"
將自動在預設資料/記錄路徑建立檔案,大小與成長遵循 model 資料庫設定。
DirectoryNotFoundException,請先手動建立 C:\ 下對應資料夾sysadmin 或具 CREATE DATABASE 權限COLLATE 指定排序規則FILEGROUP 實現多檔案群組管理SMO (SQL Server Management Objects) 進行更豐富的伺服器管理自動化