Korzystam z programu SQL Server 2008 R2 i tworzę bazy danych poprzez ciągłe wdrażanie.
W naszym systemie domyślne ustawienia 1Mb / 10% autogrowth w SQL Server źle działają z naszymi danymi. Zwłaszcza, że mamy starszą aplikację, która uniemożliwia nam znaczną zmianę schematu. Chcemy, aby ustawienia bazy danych były konfigurowane na poziomie instancji, abyśmy mogli to zmienić w przypadku wdrożeń etapowych.
Czytałem w kilku miejscach, że domyślne ustawienia dla nowej bazy danych są oparte na ustawieniach dla „modelu”, ale wydaje się, że działa to tylko poprzez kliknięcie nowej bazy danych w interfejsie użytkownika SQL Management Studio, a nie ze skryptu, np. CREATE DATABASE [MyDb].
msdn.microsoft.com/en-us/library/ms186388(v=sql.105).aspx
sqlservercentral.com/Forums/Topic1065073-391-1.aspx
Czy ktoś rzeczywiście ma to do pracy ze skryptem tworzenia? Czy istnieje inny sposób ustawienia autogrowth dla instancji serwera?
źródło
CREATE DATABASE
dlaczego nie możesz po prostu określić tego w skrypcie?Odpowiedzi:
W przypadku programu SQL Server 2005+ można użyć następujących opcji:
Spowoduje to pobranie definicji plików dla bazy danych modeli.
Później możesz używać go w CREATE DATABASE lub ALTER DATABASE.
SSMS faktycznie używa SMO do pobrania tych parametrów, a następnie tworzy skrypt, który wygląda następująco:
Jeśli twoja aplikacja tworzy bazę danych i nie możesz jej modyfikować -
musisz użyć ZMIEŃ bazę danych po zakończeniu tworzenia:
Wymaga to przynajmniej uprawnienia ALTER DATABASE
(implikowane przez ALTER ANY DATABASE Server Permission).
Oczywiście można wygenerować ten skrypt przy użyciu pierwszej próbki kodu (FROM sys.master_files).
Nie użyłbym sysaltfiles dla SQL Server 2008R2, ponieważ jest on przestarzały.
Powodzenia,
Roi
źródło
Co powiesz na:
źródło