Ich verwende SQL Server 2008 R2 und erstelle Datenbanken durch kontinuierliche Bereitstellung.
In unserem System funktionieren die Standardeinstellungen für das automatische Wachstum von 1 MB / 10% in SQL Server schlecht mit unseren Daten. Zumal wir eine Legacy-Anwendung haben, die uns daran hindert, das Schema stark zu ändern. Wir möchten, dass die Datenbankeinstellungen auf Instanzebene konfiguriert werden, damit wir sie für bereitgestellte Bereitstellungen ändern können.
Ich habe an mehreren Stellen gelesen, dass die Standardeinstellungen für eine neue Datenbank auf den Einstellungen für 'model' basieren, aber es scheint, dass dies nur durch Klicken auf eine neue Datenbank in der SQL Management Studio-Benutzeroberfläche funktioniert und nicht über ein Skript, z. B. CREATE DATABASE [MyDb].
msdn.microsoft.com/en-us/library/ms186388(v=sql.105).aspx
sqlservercentral.com/Forums/Topic1065073-391-1.aspx
Hat jemand dies tatsächlich dazu gebracht, mit einem Erstellungsskript zu arbeiten? Gibt es eine andere Möglichkeit, das automatische Wachstum pro Serverinstanz festzulegen?
quelle
CREATE DATABASE
warum können Sie es dann nicht einfach in Ihrem Skript angeben?Antworten:
Für SQL Server 2005+ können Sie Folgendes verwenden:
Dadurch werden Dateidefinitionen für die Modelldatenbank abgerufen.
Später können Sie es entweder in CREATE DATABASE oder ALTER DATABASE verwenden.
SSMS verwendet SMO tatsächlich, um diese Parameter abzurufen, und erstellt dann ein Skript, das wie folgt aussieht:
Wenn Ihre Anwendung die Datenbank erstellt und Sie die Anwendung nicht ändern können,
müssen Sie nach Abschluss der Erstellung ALTER DATABASE verwenden:
Dies erfordert mindestens die ALTER DATABASE-Berechtigung
(impliziert durch die ALTER ANY DATABASE-
Serverberechtigung). Natürlich können Sie dieses Skript mit dem ersten Codebeispiel (FROM sys.master_files) generieren.
Ich würde Sysaltfiles für SQL Server 2008R2 nicht verwenden, da es veraltet ist.
Viel Glück,
Roi
quelle
Wie wäre es mit:
quelle