create database 是 sql server 2008 r2 创建数据库最直接可控的方式;图形界面操作虽简单但默认配置易致空间管理隐患,如日志无限增长、路径不可控、full 恢复模型无备份;t-sql 创建必须显式指定完整文件路径且目录须预先存在,否则报错;建议手动建目录、规范命名、设 maxsize 和固定 filegrowth、按需选恢复模式;执行后需手动刷新“数据库”节点,并确认实例连接与权限。

CREATE DATABASE 是 SQL Server 2008 R2 中创建数据库最直接、最可控的方式;图形界面操作虽简单,但默认配置容易埋下空间管理隐患,比如日志文件无限增长、数据文件路径不可控、恢复模型设为 FULL 却不配备份——这些在生产环境里都可能引发磁盘爆满或恢复失败。
用 T-SQL 创建数据库时必须显式指定文件路径
SQL Server 不会自动创建不存在的目录。如果执行:CREATE DATABASE MyDB ON PRIMARY (FILENAME = 'D:\data\MyDB.mdf'),而 D:\data\ 目录根本不存在,命令会直接报错:Operating system error 3(The system cannot find the path specified.)。
实操建议:
• 先在 Windows 资源管理器中手动建好目标文件夹(如 D:\sql\data 和 D:\sql\log)
• 文件名建议用下划线分隔,避免空格和中文,例如 MyDB_data 和 MyDB_log
• FILENAME 值必须是完整路径,不能只写相对路径或盘符根目录(如 C:\)
图形界面新建数据库默认不设 MAXSIZE,小心磁盘被撑爆
SSMS 右键 → “新建数据库”弹出的对话框里,数据文件和日志文件的“最大文件大小”默认是“不限制”,也就是 UNLIMITED。一旦业务写入量突增,日志文件(.ldf)可能在几小时内涨到上百 GB,而你根本没收到告警。
实操建议:
• 切换到“文件”页签,手动勾选“限制文件增长”,填入合理值(如 5120MB)
• 日志文件的 FILEGROWTH 推荐设为固定 MB(如 64MB),而非百分比——百分比在大文件上会导致单次增长过大,阻塞事务
• 在“选项”页签中,把“恢复模式”按需改为 SIMPLE(开发/测试库适用),避免日志持续堆积
CREATE DATABASE 语句里省略参数的隐含行为
执行最简语句:CREATE DATABASE MyDB,SQL Server 会按实例默认配置生成文件:
• 数据文件放在 master 的默认路径(通常是 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\)
• 日志文件同路径,名字带 _log 后缀
• 初始大小取 model 数据库的设置(通常 1–3 MB),FILEGROWTH 默认 1 MB(数据)或 10%(日志)
这些默认值对小项目够用,但上线前务必检查:
• SELECT SERVERPROPERTY('InstanceDefaultDataPath'), SERVERPROPERTY('InstanceDefaultLogPath')
• SELECT name, filename, size, growth FROM sys.sysfiles WHERE dbid = DB_ID('MyDB')
创建后必须手动刷新,且不能立即看到新库
无论是 SSMS 图形操作还是 T-SQL 执行成功,左侧“数据库”节点不会自动更新。常见现象是:消息栏显示“命令已成功完成”,但对象资源管理器里找不到刚建的库。
实操建议:
• 右键点击“数据库”节点 → “刷新”(不是右键库名,是右键“数据库”这个标题)
• 如果仍不显示,检查当前连接的是否是目标实例(顶部工具栏显示的服务器名)
• 极少数情况是权限问题:登录账户没有 dbcreator 服务器角色,此时会静默失败,需查 ERRORLOG 或用 TRY...CATCH 包裹语句捕获错误
FILENAME 写错一次,重试前得先删掉残留在磁盘上的空文件,否则 CREATE DATABASE 会因文件已存在而拒绝执行。











