溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL Server創建數據庫的方法

發布時間:2021-07-14 16:02:19 來源:億速云 閱讀:827 作者:chen 欄目:數據庫
# SQL Server創建數據庫的方法

## 1. 前言

Microsoft SQL Server 是微軟公司開發的關系型數據庫管理系統(RDBMS),廣泛應用于企業級數據管理。創建數據庫是使用 SQL Server 的第一步,也是數據庫管理的基礎操作。本文將詳細介紹在 SQL Server 中創建數據庫的多種方法,包括使用圖形界面(SSMS)、T-SQL 語句以及 PowerShell 腳本等方式。

## 2. 準備工作

在開始創建數據庫之前,需要確保:

1. 已安裝 SQL Server(任何受支持的版本)
2. 已安裝 SQL Server Management Studio (SSMS)
3. 擁有足夠的系統權限(通常需要 sysadmin 或 dbcreator 服務器角色)

## 3. 使用 SQL Server Management Studio (SSMS) 創建數據庫

### 3.1 通過圖形界面創建

1. **連接服務器**
   - 打開 SSMS
   - 在"連接到服務器"對話框中輸入服務器名稱和身份驗證信息
   - 點擊"連接"

2. **啟動創建向導**
   - 在對象資源管理器中,右鍵點擊"數據庫"文件夾
   - 選擇"新建數據庫"

3. **配置數據庫選項**
   ```plaintext
   - 常規頁:
     * 數據庫名稱:輸入有意義的名稱(如 SalesDB)
     * 所有者:默認為當前用戶,可點擊"..."按鈕更改
     * 使用全文索引:根據需要勾選
   
   - 文件頁:
     * 數據文件:設置初始大小、自動增長等參數
     * 日志文件:同樣配置大小和增長參數
   
   - 選項頁:
     * 恢復模式:完整/簡單/大容量日志
     * 兼容性級別:選擇SQL Server版本
     * 其他高級選項
  1. 完成創建
    • 點擊”確定”按鈕
    • 在對象資源管理器中刷新即可看到新建的數據庫

3.2 使用數據庫模板

對于需要頻繁創建相似結構的數據庫: 1. 創建第一個數據庫后,右鍵選擇”腳本數據庫為” → “CREATE到” → “新查詢編輯器窗口” 2. 保存此腳本作為模板 3. 下次創建時修改相應參數即可

4. 使用 T-SQL 創建數據庫

4.1 基本 CREATE DATABASE 語法

CREATE DATABASE database_name
[ ON 
  [ PRIMARY ] <filespec> [ ,...n ]
  [ , <filegroup> [ ,...n ] ]
]
[ LOG ON <filespec> [ ,...n ] ]
[ COLLATE collation_name ]
[ WITH <option> [ ,...n ] ]

4.2 簡單創建示例

-- 最簡單的創建語句
CREATE DATABASE TestDB;

4.3 完整參數示例

CREATE DATABASE InventoryDB
ON PRIMARY 
(
    NAME = 'InventoryDB_Data',
    FILENAME = 'C:\SQLData\InventoryDB.mdf',
    SIZE = 50MB,
    MAXSIZE = 500MB,
    FILEGROWTH = 25MB
)
LOG ON
(
    NAME = 'InventoryDB_Log',
    FILENAME = 'C:\SQLLogs\InventoryDB.ldf',
    SIZE = 25MB,
    MAXSIZE = 250MB,
    FILEGROWTH = 10MB
)
COLLATE SQL_Latin1_General_CP1_CI_AS
WITH 
    DB_CHNING OFF,
    TRUSTWORTHY OFF;

4.4 創建包含文件組的數據庫

CREATE DATABASE SalesDB
ON PRIMARY 
(
    NAME = 'SalesDB_Primary',
    FILENAME = 'D:\Data\SalesDB_Prm.mdf',
    SIZE = 100MB,
    MAXSIZE = 1GB,
    FILEGROWTH = 50MB
),
FILEGROUP SalesData
(
    NAME = 'SalesDB_Data1',
    FILENAME = 'D:\Data\SalesDB_1.ndf',
    SIZE = 200MB,
    MAXSIZE = 2GB,
    FILEGROWTH = 100MB
),
(
    NAME = 'SalesDB_Data2',
    FILENAME = 'E:\Data\SalesDB_2.ndf',
    SIZE = 200MB,
    MAXSIZE = 2GB,
    FILEGROWTH = 100MB
)
LOG ON
(
    NAME = 'SalesDB_Log',
    FILENAME = 'F:\Logs\SalesDB.ldf',
    SIZE = 100MB,
    MAXSIZE = 1GB,
    FILEGROWTH = 10%
);

5. 高級創建選項

5.1 包含數據庫

CREATE DATABASE ContainedDB
WITH CONTNMENT = PARTIAL;

5.2 內存優化文件組

CREATE DATABASE InMemoryDB
ON PRIMARY 
(
    NAME = 'InMemoryDB_Data',
    FILENAME = 'C:\Data\InMemoryDB.mdf'
),
FILEGROUP InMemoryDB_FG CONTNS MEMORY_OPTIMIZED_DATA
(
    NAME = 'InMemoryDB_FG',
    FILENAME = 'C:\Data\InMemoryDB_FG'
)
LOG ON
(
    NAME = 'InMemoryDB_Log',
    FILENAME = 'C:\Logs\InMemoryDB.ldf'
);

5.3 使用 Service Broker 選項

CREATE DATABASE BrokerDB
WITH ENABLE_BROKER;

6. 使用 PowerShell 創建數據庫

6.1 基本方法

Import-Module SqlServer

$sql = "CREATE DATABASE PowerShellDB"
Invoke-Sqlcmd -Query $sql -ServerInstance "YourServerName"

6.2 帶參數的創建

$dbName = "PSDB"
$dataPath = "C:\SQLData\"
$logPath = "C:\SQLLogs\"

$query = @"
CREATE DATABASE [$dbName] ON PRIMARY 
(
    NAME = N'${dbName}_Data',
    FILENAME = N'${dataPath}${dbName}.mdf',
    SIZE = 50MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 10MB
)
LOG ON 
(
    NAME = N'${dbName}_Log',
    FILENAME = N'${logPath}${dbName}_Log.ldf',
    SIZE = 25MB,
    MAXSIZE = 1GB,
    FILEGROWTH = 10%
)
"@

Invoke-Sqlcmd -Query $query -ServerInstance "YourServerName"

7. 創建數據庫的最佳實踐

7.1 命名規范

  • 使用有意義的名稱
  • 避免特殊字符和空格
  • 保持一致性(如全部使用大寫或小寫)

7.2 文件布局

  • 將數據文件和日志文件放在不同的物理驅動器上
  • 考慮使用多個文件組提高性能
  • 為大型數據庫規劃適當的初始大小

7.3 自動增長設置

  • 避免使用百分比增長(可能導致性能問題)
  • 設置合理的MAXSIZE限制
  • 監控文件增長情況

7.4 安全考慮

  • 設置適當的數據庫所有者
  • 配置正確的恢復模式
  • 實施適當的權限控制

8. 創建后的配置

8.1 設置數據庫選項

ALTER DATABASE YourDB SET 
    RECOVERY FULL,
    PAGE_VERIFY CHECKSUM,
    AUTO_UPDATE_STATISTICS ON;

8.2 創建架構和用戶

USE YourDB
GO

CREATE SCHEMA Sales AUTHORIZATION dbo;
GO

CREATE USER AppUser FOR LOGIN AppLogin;
GO

GRANT SELECT, INSERT, UPDATE ON SCHEMA::Sales TO AppUser;
GO

9. 常見問題解決

9.1 權限不足

錯誤:CREATE DATABASE permission denied in database ‘master’ 解決:使用具有足夠權限的賬戶或請求管理員授予dbcreator角色

9.2 磁盤空間不足

錯誤:Could not allocate space for database 解決:清理磁盤空間或指定其他有足夠空間的路徑

9.3 名稱沖突

錯誤:Database ‘YourDB’ already exists 解決:選擇其他名稱或先刪除現有數據庫

9.4 文件路徑無效

錯誤:The path specified is invalid 解決:確保路徑存在且SQL Server服務賬戶有寫入權限

10. 自動化數據庫創建

10.1 使用腳本模板

將常用創建腳本保存為模板文件,使用時修改參數

10.2 使用SQLCMD變量

:setvar dbname "ProdDB"
:setvar datapath "E:\SQLData\"

CREATE DATABASE $(dbname) ON PRIMARY 
(
    NAME = N'$(dbname)_Data',
    FILENAME = N'$(datapath)$(dbname).mdf'
)
LOG ON 
(
    NAME = N'$(dbname)_Log',
    FILENAME = N'$(datapath)$(dbname)_Log.ldf'
)
GO

10.3 使用部署工具

  • SQL Server Data Tools (SSDT)
  • Azure DevOps 發布管道
  • 第三方部署工具

11. 結論

在SQL Server中創建數據庫是數據庫管理的基本操作,掌握多種創建方法可以適應不同的工作場景。無論是簡單的圖形界面操作,還是復雜的T-SQL腳本,或是自動化的PowerShell方法,都應該根據實際需求選擇最合適的方式。遵循最佳實踐可以確保創建的數據庫具有良好的性能和可維護性。

12. 附錄

A. 常用系統存儲過程

  • sp_helpdb:查看數據庫信息
  • sp_databases:列出所有數據庫
  • sp_renamedb:重命名數據庫

B. 相關系統視圖

  • sys.databases:數據庫元數據
  • sys.database_files:數據庫文件信息
  • sys.filegroups:文件組信息

C. 推薦資源

  • Microsoft Docs: CREATE DATABASE
  • SQL Server Best Practices Article
  • Database Design Solutions

”`

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女