2016-04-11 4 views
0

Ich möchte ein Skript erstellen, die um jeden Tag 09:00 Uhr sagen erstellt eine neue Datenbank und der Name hat einen Zeitstempel.So erstellen Sie eine neue SQL Server (TSQL) -Datenbank jeden Tag mit Zeitstempel in ihrem Namen

Ich habe einige CSV-Dateien, die jeden Tag ändern und ich lade sie in eine Datenbank namens sales_TIMESTAMP. Ich mache das gerade manuell. Ich möchte einen Code erstellen, der jeden Tag zu einer bestimmten Zeit ausgeführt wird und die Datenbank erstellt und füllt. Sagen Sie für heute, sollte es eine Datenbank namens sales_20160411

erstellen Alle Richtungen, wie dies zu nähern?

ich Microsoft SQL Server Express 2012

+2

Dies ist eine ganz neue Ebene. Ich habe über [Tabelle pro Datum] (http://www.sommarskog.se/dynamic_sql.html#Sales_yymm), aber DB pro Datum gehört :) – lad2025

+2

Sie können dies tun, indem Sie ein Skript erstellen, das SQL an die Datenbank sendet, die erstellt wird eine Datenbank mit dem Zeitstempel in ihrem Namen. Auch scheint dies eine wirklich schlechte Idee zu sein, jedes Mal, wenn neue Daten eintreffen, neue Datenbanken/Tabellen/Felder zu erstellen. – JNevill

+0

@ lad2025 FWIW, das soll eine temporäre Sache zum Testen sein. – Morpheus

Antwort

0

Erstens bin mit - ich würde es auf diese Weise nicht, wie andere gesagt haben.

Zweitens - wenn Sie wirklich müssen, scheinen sqlcmd und Massen einfügen Ihre Freunde hier zu sein. einen SQL-Befehl aus den Task-Scheduler mit sqlcmd Laufen ist nicht zu kompliziert, so dass Sie, dass so etwas wie

EXEC ('CREATE DATABASE sales_ ' + CONVERT(nvarchar, SYSUTCDATETIME(), 112)); 

zu Ihrer Datenbank zu erstellen, führen Sie dann einen Befehl auszuführen einstellen zu öffnen und Bulk Ihre CSV laden.