首页 > 解决方案 > 自动创建具有特定名称的 SQL 数据库

问题描述

首先,在任何方面都不是程序员,我是一个知道如何更好地在计算机上点击的人,所以我被要求检查我可以对在我们公司服务器上购买和设置的应用程序做些什么。在新月份的第一天,应用程序停止工作,结果证明这是没有后实施支持的第一个月,当我检查时,我注意到应用程序正在尝试将数据写入不存在的数据库,手动创建该特定数据库解决了这个问题。现在我试图找出自动化这个任务的方法——我需要实现的是创建一个新的数据库,名称中包含月份和年份。示例:name0220。有人可以指出我需要编写这样的脚本的方向吗?服务器位于 Windows Server 2012 Foundation 上的 MSSQL Express 2016 上。

标签: sql-serverwindows

解决方案


下面是一个SQLCMD带有查询的示例,用于创建名称中嵌入月份和年份的数据库。

SQLCMD -Q"DECLARE @sql nvarchar(MAX) = N'CREATE DATABASE [name' + FORMAT(GETDATE(), N'MMyy') + N']';EXEC sp_executesql @sql;"

SQL Server Express 没有像其他 SQL Server 版本那样的 SQL 代理调度程序,因此您需要使用 Windows 任务调度程序或类似工具安排脚本每月运行。


推荐阅读