sql-server - 自动创建具有特定名称的 SQL 数据库
问题描述
首先,在任何方面都不是程序员,我是一个知道如何更好地在计算机上点击的人,所以我被要求检查我可以对在我们公司服务器上购买和设置的应用程序做些什么。在新月份的第一天,应用程序停止工作,结果证明这是没有后实施支持的第一个月,当我检查时,我注意到应用程序正在尝试将数据写入不存在的数据库,手动创建该特定数据库解决了这个问题。现在我试图找出自动化这个任务的方法——我需要实现的是创建一个新的数据库,名称中包含月份和年份。示例:name0220。有人可以指出我需要编写这样的脚本的方向吗?服务器位于 Windows Server 2012 Foundation 上的 MSSQL Express 2016 上。
解决方案
下面是一个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 任务调度程序或类似工具安排脚本每月运行。
推荐阅读
- python - 定义要在子类子集中使用的属性
- c# - 如何使用 FireSharp 将数据从 Firebase 添加到 DataGridView
- ios - 接收者在 self.performSegue(withIdentifier, sender) 中没有带有标识符的 segue
- python - OpenCV图像拼接和拼接关联的csv文件
- windows-subsystem-for-linux - 在 Windows 10 中,如何在 WSL 中安装旧版本的 Ubuntu,例如 Ubuntu 8.04 (Hardy Heron)?
- python - 如何根据其他 DF 列的组和值获取 DF 列的相对百分比
- azure - Azure 搜索 - 用于提升结果的自定义功能
- xna - 在黑暗的环境光上应用聚光灯 - HLSL - Monogame
- sql - Oracle TRANSLATE 功能不适用于 ORDER BY
- html - 带有小缩略图的 Bootstrap 4 轮播