在 Windows Server 2008 R2 的运维环境中,数据库管理员(DBA)或系统工程师经常会面临批量部署数据库的需求,手动在 SQL Server Management Studio (SSMS) 中一个个创建数据库不仅效率低下,而且容易出错。
为了提高工作效率并确保环境的一致性,使用脚本建库是标准做法,本文将详细介绍在 Server 2008 R2 及其配套的 SQL Server 2008 R2/2012 环境下,通过三种常用脚本方式实现数据库自动化创建的方法。
为什么选择脚本建库?
在开始之前,我们需要明确脚本建库的优势:

- 效率极高:几秒钟内可完成原本需要几分钟的操作。
- 环境一致性:开发、测试和生产环境使用相同的脚本,避免了因手动操作遗漏参数(如排序规则、文件路径)导致的环境差异。
- 版本控制:脚本可以纳入 Git 等版本控制系统,便于追溯数据库结构的变更历史。
方法一:使用 SQLCMD 命令行工具(适合快速执行)
SQLCMD 是 SQL Server 自带的一个命令行工具,非常适合在服务器本地或批处理文件中快速执行简单的建库操作。
操作步骤:
-
打开“命令提示符”或“PowerShell”。
-
输入以下命令连接到本地实例( 代表本地实例):
sqlcmd -S . -E
-
在
1>提示符下,输入创建数据库的 SQL 语句并回车:CREATE DATABASE TestDB ON PRIMARY ( NAME = 'TestDB_Data', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TestDB.mdf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB ) LOG ON ( NAME = 'TestDB_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TestDB_log.ldf', SIZE = 2MB, MAXSIZE = 50MB, FILEGROWTH = 2MB ); GO
-
执行完成后,输入
EXIT退出。
注意:在 Server 2008 R2 中,文件路径通常需要使用完整路径,且 SQL Server 服务账户需要有对应文件夹的写入权限。
方法二:使用 T-SQL 脚本(在 SSMS 中操作)
这是最传统也是最常用的方法,通过 SQL Server Management Studio (SSMS) 编写并执行 T-SQL 脚本,可以精细控制数据库的每一个属性。
操作步骤:
-
打开 SSMS,连接到 Server 2008 R2 上的 SQL Server 实例。
-
在“新建查询”窗口中编写脚本,针对 Server 2008 R2,建议显式指定排序规则(COLLATE),以确保字符集兼容性:
USE [master] GO CREATE DATABASE [MyProjectDB] ON PRIMARY ( NAME = N'MyProjectDB_Data', FILENAME = N'D:\SQLData\MyProjectDB.mdf' , SIZE = 10MB , MAXSIZE = UNLIMITED, FILEGROWTH = 10% ) LOG ON ( NAME = N'MyProjectDB

