Tworzenie bazy danych (Transact-SQL)
Tworzy nową bazę danych i pliki używane do przechowywania bazy danych, tworzy migawka bazy danychlub dołącza bazy danych z odłączonego plików utworzone wcześniej bazy danych.
Składnia
CREATE DATABASE database_name
[ ON
{ [ PRIMARY ] [ <filespec> [ ,...n ]
[ , <filegroup> [ ,...n ] ]
[ LOG ON { <filespec> [ ,...n ] } ] }
]
[ COLLATE collation_name ]
[ WITH <external_access_option> ]
]
[;]
To attach a database
CREATE DATABASE database_name
ON <filespec> [ ,...n ]
FOR { ATTACH [ WITH <service_broker_option> ]
| ATTACH_REBUILD_LOG }
[;]
<filespec> ::=
{
(
NAME = logical_file_name ,
FILENAME = { 'os_file_name' | 'filestream_path' }
[ , SIZE = size [ KB | MB | GB | TB ] ]
[ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
[ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
) [ ,...n ]
}
<filegroup> ::=
{
FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]
<filespec> [ ,...n ]
}
<external_access_option> ::=
{
[ DB_CHAINING { ON | OFF } ]
[ , TRUSTWORTHY { ON | OFF } ]
}
<service_broker_option> ::=
{
ENABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
}
Create a database snapshot
CREATE DATABASE database_snapshot_name
ON
(
NAME = logical_file_name,
FILENAME = 'os_file_name'
) [ ,...n ]
AS SNAPSHOT OF source_database_name
[;]
Argumenty
database_name
Jest to nazwa nowej bazy danych.Nazwy bazy danych musi być unikatowa w obrębie wystąpienie SQL Server i zgodne z regułami dla identyfikatorów.database_namemoże być maksymalnie 128 znaków, o ile nie określono nazwa logiczna dla pliku dziennika.Jeżeli nie określono nazwy pliku dziennika logiczne, SQL Server generuje logical_file_name i os_file_name dla dziennika za pomocą dołączania sufiksów z database_name.Ogranicza to database_name do 123 znaków tak, że nazwa wygenerowany plik logiczny jest nie więcej niż 128 znaków.
Jeżeli nie określono nazwy pliku danych, SQL Server korzysta z database_name jako logical_file_name i w os_file_name.Domyślna ścieżka jest uzyskiwana z rejestru.Domyślna ścieżka może być zmiana przy użyciu właściwości serwera (na stronie Ustawienia bazy danych) w Management Studio.Zmienianie domyślnej ścieżka wymaga ponownego uruchomienia SQL Server.
NA
Określa, że pliki dysku, używane do przechowywania sekcje danych bazy danych, pliki danych są jawnie zdefiniowana.ON jest wymagany w przypadku, gdy następuje rozdzielana przecinkami lista z <specyfikacja_plików> elementów, które definiują pliki danych podstawowa grupa plików.Listę plików w podstawowej grupa plików może następować opcjonalne, rozdzielaną przecinkami listę z <grupa plików> elementów, które definiują aplikacjami użytkownika i ich plików.PODSTAWOWY
Określa, że skojarzonym <określenie_pliku> listy definiuje podstawowy plik.Pierwszy plik określony w <specyfikacja_plików> wpis w podstawowej grupa plików staje się plikiem podstawowym.Baza danych może mieć tylko jeden podstawowy plik.Aby uzyskać więcej informacji, zobacz Pliki i aplikacjami architektury.Jeśli podstawowy nie jest określony, pierwszy plik wymieniony w instrukcja CREATE DATABASE staje się podstawowym plikiem.
W DZIENNIKU
Określa, że pliki dysku, używane do przechowywania dziennika bazy danych, pliki dziennika są jawnie zdefiniowane.W dzienniku następują oddzielone przecinkami listę <specyfikacja_plików> elementów, które definiują plików dziennika.Jeśli w dzienniku nie jest określony, jeden plik dziennika jest tworzony automatycznie, o rozmiarze 25 procent sumy rozmiarów plików danych dla bazy danych lub 512 KB, którakolwiek jest większa.Ten plik znajduje się w domyślnej lokalizacji pliku dziennika.Aby uzyskać informacje dotyczące tej lokalizacji, zobacz Jak Wyświetl lub zmień domyślne lokalizacje danych i pliki dziennika (SQL Server Management Studio).Nie można określić w dzienniku na migawka bazy danych.
SORTOWANIEcollation_name
Określa domyślne sortowanie dla bazy danych.Nazwa sortowania może być nazwa sortowanie systemu Windows lub nazwasortowanie SQL. Jeśli nie określono bazy danych jest przypisany domyślny sortowanie wystąpienie SQL Server.Nie można określić nazwy sortowanie na migawka bazy danych.Nie można określić nazwy sortowanie z klauzulami DOŁĄCZAĆ lub dla ATTACH_REBUILD_LOG.Aby uzyskać informacje dotyczące zmiany sortowanie dołączanej bazy danych, można znaleźć to firmy Microsoft w witryna sieci Web.
Aby uzyskać więcej informacji o nazwachsortowanie systemu Windows i SQL, zobacz SORTOWANIE (Transact-SQL).
DLA Dołącz [WITH <service_broker_option>
Określa, że baza danych jest tworzona przez dołączania istniejący zestaw plików systemu operacyjnego.Musi być <określenie_pliku> wpis, który określa podstawowy plik.Jedynym innym <specyfikacja_plików> wymagane wpisy są te wszystkie pliki, które mają inną ścieżka z po raz pierwszy bazy danych utworzony lub dołączony ostatnio.A <określenie_pliku> wpis musi być podany dla tych plików.DLA Dołącz wymaga następujących czynności:
Wszystkie pliki danych (MDF i NDF) musi być dostępny.
Jeśli istnieje wiele plików dziennika muszą wszystkie być dostępne.
Odczytu i zapisu bazy danych ma jednego pliku dziennika, który jest obecnie niedostępna i została bazy danych został niedziałający bez użytkowników lub otwartych transakcji przed operacją Dołącz Dołącz automatycznie odtwarza plik dziennika i aktualizacje pliku podstawowego.Natomiast tylko do odczytu bazy danych dziennika nie wymagają przebudowania, ponieważ nie można zaktualizować pliku podstawowego.W związku z tym podczas dołączania bazy danych tylko do odczytu którego dziennik jest niedostępny, należy podać, pliki dziennika lub pliki w DOŁĄCZAĆ klauzula.
Ostrzeżenie
Baza danych utworzona w nowszej wersja programu SQL Server nie można dołączyć w starszej wersji.źródło baza danych musi wynosić co najmniej wersja 80 (SQL Server 2000) do dołączenia do SQL Server 2008.SQL Server 2000lub SQL Server 2005 bazy danych, które mają zgodności poziom mniej niż 80 będzie można zestaw zgodności 80, jeśli są dołączone.
W SQL Server, wszystkie pliki pełnego tekstu, które są częścią bazy danych, która dołączona jest dołączana z bazy danych.Aby określić nową ścieżka wykaz pełnotekstowy, określ nową lokalizację bez nazwy pliku systemu operacyjnego pełnego tekstu.Aby uzyskać więcej informacji zobacz sekcję przykłady.
Nie można określić dla Dołącz na migawka bazy danych.
Jeśli baza danych używa Service Broker, skorzystaj z <service_broker_option> w DOŁĄCZAĆ klauzula:
<service_broker_option>
Formantów Service Broker Dostarczanie wiadomości i Service Broker identyfikator dla bazy danych.Service BrokerOpcje można określić tylko, gdy jest używana do DOŁĄCZENIA klauzula .ENABLE_BROKER
Określa, że Service Broker jest włączone dla określonej bazy danych.Oznacza to, że dostarczanie wiadomości jest uruchomiona i is_broker_enabled jest zestaw na wartość true w sys.databases wykazu widoku.Baza danych zachowuje istniejące Service Broker identyfikatora.NEW_BROKER
Tworzy nowy service_broker_guid wartości w obu sys.databases i przywróconej bazy danych i kończy wszystkie końcowych konwersacji z czystego up.Broker jest włączone, ale wiadomość nie jest wysłana do punktów końcowych zdalnego konwersacji.Każda trasa odwołuje się do starego Service Broker identyfikatora musi być ponownie utworzony z nowego identyfikatora.ERROR_BROKER_CONVERSATIONS
Kończy wszystkie konwersacje z o błędzie informujący, że baza danych jest dołączony lub przywrócone.Broker jest wyłączone, dopóki ta operacja jest zakończona i włączone.Baza danych zachowuje istniejące Service Broker identyfikatora.
Aby uzyskać więcej informacji, zobacz Zarządzanie Service Broker tożsamości.
Aby uzyskać informacje dotyczące uprawnienia do plików, które są zestaw w każdym przypadku, gdy baza danych jest odłączony i podłączony, zobacz Zabezpieczanie danych i plików dziennika.
Po dołączeniu zreplikowanej bazy danych, które zostały skopiowane zamiast są odłączone, należy rozważyć następujące kwestie:
Dołączyć bazy danych do tego samego serwera wystąpienie i wersja pierwotnej bazy danych, wymagane są żadne dodatkowe czynności.
Jeśli dołączysz do tego samego serwera wystąpienie bazy danych, ale z uaktualnionej wersja, należy wykonać sp_vupgrade_replication do uaktualnienia replikacja , po zakończeniu operacji Dołącz.
Możesz dołączyć do innego serwera wystąpienie, niezależnie od wersjabazy danych należy wykonać sp_removedbreplication do usunięcia replikacja , po zakończeniu operacji Dołącz.
Ostrzeżenie
Dołącz współpracuje z vardecimal format przechowywania, ale Aparat baz danych programu SQL Server musi zostać uaktualniony do co najmniej SQL Server 2005 dodatku Service Pack 2.Nie można dołączyć bazy danych przy użyciu formatu magazynu vardecimal do starszej wersja programu SQL Server.Aby uzyskać więcej informacji o vardecimal format przechowywania, zobacz Przechowywanie danych dziesiętne jako o zmiennej długości.
Aby uzyskać informacje dotyczące sposobu uaktualniania bazy danych za pomocą dołączania, zobacz Jak Uaktualnienie bazy danych przy użyciu odłączyć i dołączyć (Transact-SQL).
Uwaga dotycząca zabezpieczeń Zaleca się, aby nie dołączyć baz danych z nieznanych lub niezaufanych źródeł.Takie bazy danych może zawierać złośliwy kod, który może być wykonać niezamierzone Transact-SQL Kod lub powodować błędy przez zmodyfikowanie schematu lub fizycznej struktura bazy danych.Przed użyciem bazy danych z nieznanych lub niezaufanych źródłouruchomić dbcc checkdb w bazie danych na serwerze Nieprodukcyjne i również sprawdzić kod, takie jak procedury przechowywane lub inny kod zdefiniowany przez użytkownika w bazie danych.
DLA ATTACH_REBUILD_LOG
Określa, że bazy danych jest tworzona przez dołączenie istniejącego zestaw plików systemu operacyjnego.Opcja ta jest ograniczona do odczytu i zapisu bazy danych.Musi być <określenie_pliku> wpis określający podstawowy plik.Plik dziennika została skonstruowana ponownie, jeśli brakuje plików dziennika transakcji.ATTACH_REBUILD_LOG automatycznie tworzy nową, 1 MB pliku dziennika.Ten plik znajduje się w domyślnej lokalizacji pliku dziennika.Aby uzyskać informacje dotyczące tej lokalizacji, zobacz Jak Wyświetl lub zmień domyślne lokalizacje danych i pliki dziennika (SQL Server Management Studio).Ostrzeżenie
Jeśli pliki dziennika są dostępne, Aparat baz danych użyje tych plików zamiast odbudowywania plików dziennika.
DLA ATTACH_REBUILD_LOG wymaga następujących czynności:
czyste zamknięcie bazy danych.
Wszystkie pliki danych (MDF i NDF) musi być dostępny.
Ważne: Ta operacja powoduje przerwanie łańcucha kopia zapasowa dziennika.Zaleca się, że pełnej kopia zapasowa można wykonać po zakończeniu operacji.Aby uzyskać więcej informacji, zobacz BACKUP (Transact-SQL).
DLA ATTACH_REBUILD_LOG jest zwykle używany podczas kopiowania bazy danych odczytu i zapisu z dziennika duże, do innego serwera, w którym kopia będzie używany głównie lub wyłącznie dla operacji odczytu i dlatego wymaga mniej miejsca w dzienniku niż oryginalna baza danych.
Nie można określić dla ATTACH_REBUILD_LOG na migawka bazy danych.
Aby uzyskać więcej informacji na temat Dołączanie i odłączanie baz danych, zobacz Odłączanie i dołączanie bazy danych.
<specyfikacja_plików>
Formanty właściwości pliku.NAZWAlogical_file_name
Określa nazwa logiczna pliku.Nazwa jest wymagana, gdy określona nazwa pliku, z wyjątkiem przypadków, gdy określające jedną z klauzul DOŁĄCZAĆ.FILESTREAM grupa plików nie mogą być nazwane podstawowego.- logical_file_name
nazwa logiczna używana jest SQL Server przy odwoływaniu się do pliku. Logical_file_name musi być unikatowa w bazie danych i zgodne z regułami dla identyfikatorów.Nazwa może być znak lub Unicode stała, lub zwykła lub identyfikator z ogranicznikami.
- logical_file_name
Nazwa pliku { 'os_file_name" | 'filestream_path' }
Określa nazwę pliku (fizycznej) systemu operacyjnego.'os_file_name'
ścieżka i nazwa pliku służy przez system operacyjny podczas tworzenia pliku.Plik musi znajdować się na jednej z następujących urządzeń: lokalny serwer, na którym SQL Server jest zainstalowany, sieci [SAN] lub na podstawie iSCSI sieci.Określona ścieżka musi istnieć przed wykonaniem instrukcjatworzenie bazy danych.Aby uzyskać więcej informacji zobacz "Pliki i aplikacjami bazy danych" w sekcji Uwagi.Po określeniu ścieżka UNC do pliku parametrów rozmiar elementu MAXSIZE i FILEGROWTH nie może być zestaw .
Jeśli plik znajduje się na partycji raw os_file_name należy określić tylko literę dysku z istniejącego partycji raw.Na każdej partycji raw mogą być tworzone tylko jeden plik danych.
Pliki danych nie należy umieszczać w systemach plików skompresowanych, chyba że są to pliki pomocnicze tylko do odczytu lub baza danych jest tylko do odczytu.Pliki dziennika nigdy nie powinny być traktowane w systemach plików skompresowanych.Aby uzyskać więcej informacji, zobacz Tylko do odczytu aplikacjami i kompresji.
'filestream_path'
Nazwa pliku FILESTREAM grupa plikówodnosi się do ścieżka przechowywania danych FILESTREAM.ścieżka do folderu ostatniego musi istnieć, a ostatni folder nie musi istnieć.Na przykład jeżeli określona ścieżka C:\MyFiles\MyFilestreamData C:\MyFiles muszą istnieć przed uruchomieniem ZMIEŃ bazę danych, ale nie musi istnieć MyFilestreamData folder.grupa plików i plików (<filespec>) muszą być utworzone w tej samej instrukcja.Może istnieć tylko jeden plik <filespec>, dla FILESTREAM grupa plików.
ROZMIAR elementu MAXSIZE i FILEGROWTH właściwości nie dotyczą FILESTREAM grupa plików.
ROZMIARsize
Określa rozmiar pliku.ROZMIAR nie może być określony przy os_file_name jest określony jako ścieżkaUNC.ROZMIAR nie dotyczą FILESTREAM grupa plików.
size
To początkowy rozmiar pliku.Gdy size nie podano pliku podstawowego Aparat baz danych używa rozmiar pliku podstawowego w model bazy danych.Kiedy plik dziennika lub pliku pomocniczego jest określony, ale size nie został określony dla pliku, Aparat baz danych powoduje, że 1 MB.Rozmiar określony dla pliku podstawowego musi być przynajmniej tak duży, jak podstawowy plik model bazy danych.
Kilobajtów (KB), megabajt (MB), gigabajta (GB) lub sufiksy terabajtów (TB) mogą być używane.Wartość domyślna to MB.Określanie liczby całkowitej; nie należy dołączać ułamek dziesiętny.Sizejest wartością całkowitą.Wartooci większe niż 2147483647 można używać w większych jednostek.
ELEMENTU MAXSIZEmax_size
Określa maksymalny rozmiar pliku.Elementu MAXSIZE nie może być określony przy os_file_name jest określony jako ścieżkaUNC.Elementu MAXSIZE nie dotyczą FILESTREAM grupa plików.- max_size
To maksymalny rozmiar pliku.Sufiksy KB, MB, GB i TB mogą być używane.Wartość domyślna to MB.Określanie liczby całkowitej; nie należy dołączać ułamek dziesiętny.Jeśli max_size nie zostanie określona, plik powiększa się, aż dysk jest pełny.Max_sizejest wartością całkowitą.Wartooci większe niż 2147483647 można używać w większych jednostek.
- max_size
NIEOGRANICZONY
Określa, że plik powiększa się, aż dysk jest zapełniony.W SQL Server, plik dziennika z nieograniczony przyrost ma maksymalny rozmiar 2 TB i plik danych ma maksymalny rozmiar 16 TB.FILEGROWTHgrowth_increment
Określa automatycznego przyrostu pliku.Ustawienie FILEGROWTH dla pliku nie może przekraczać ustawienie elementu MAXSIZE.FILEGROWTH nie może być określony przy os_file_name jest określony jako ścieżkaUNC.FILEGROWTH nie ma zastosowania do FILESTREAM grupa plików.growth_increment
Jest ilość miejsca dodane do pliku, że wymagane jest nowy obszar co czas .Wartość można określić w Megabajtach, KB, GB, TB lub procentu (%).Jeśli liczba jest określona bez MB, KB lub sufiks %, wartość domyślna to MB.Po określeniu % wzrost rozmiar przyrostu to występuje określony procent rozmiaru pliku w czas wartość przyrostu.Określony rozmiar jest zaokrąglana do najbliższej 64 KB.
Wartość 0 wskazuje, że wzrost automatyczne jest wyłączona i dozwolone nie dodatkowe miejsce.
Jeśli FILEGROWTH nie jest określony, wartość domyślna to 1 MB dla plików danych i 10% dla plików dziennika i wartość minimalna to 64 KB.
Ostrzeżenie
W SQL Server, przyrost rozmiaru domyślnego dla plików danych zmienił się od 10% do 1 MB.Domyślny plik dziennika o 10% pozostaje niezmieniony.
<Grupa plików>
Określa właściwości grupa plików .Nie można określić grupę plików na migawka bazy danych.GRUPA PLIKÓWfilegroup_name
Jest to nazwa logiczna grupa plików.filegroup_name
filegroup_namemusi być unikatowa w bazie danych i nie może być dostarczone przez system nazwy podstawowego i PRIMARY_LOG.Nazwa może być znak lub Unicode stała, lub zwykła lub identyfikator z ogranicznikami.Nazwa musi być zgodne z zasadami identyfikatorów.ZAWIERA FILESTREAM
Określa, że grupa plików przechowuje FILESTREAM dużych obiektów binarnych (bloków BLOB) w systemie plików.DOMYŚLNE
Określa, że nazwany grupa plików to domyślna grupa plików w bazie danych.
<external_access_option>
Kontroluje dostęp do i z bazy danych.DB_CHAINING {ON | OFF }
Po określeniu w bazie danych może być źródło lub miejsce docelowe między bazami danych łańcuch własności.Kiedy OFF, baza danych nie mogą uczestniczyć w międzybazowy łańcuch własności.Domyślnie jest wyłączona.
Ważne: wystąpienie SQL Server rozpozna tego ustawienia, gdy cross db ownership chaining opcji serwera jest równa 0 (wyłączone).Gdy cross db ownership chaining 1 (włączone), wszystkie użytkownika, którego baz danych mogą uczestniczyć w łańcucha własności między bazami danych, niezależnie od wartości opcji.Ta opcja jest zestaw za pomocą sp_configure.
Aby zestaw tę opcję wymaga członkostwa w sysadmin stała rola serwera.Opcja DB_CHAINING nie można zestaw dla tych bazy danych systemu: master, model, tempdb.
Aby uzyskać więcej informacji, zobacz Łańcuchy własności.
WIARYGODNY {ON | OFF }
Po określeniu na moduły bazy danych (na przykład, widoki, funkcje zdefiniowane przez użytkownika lub procedury przechowywane), korzystających z kontekstu personifikacji dostęp do zasobów poza bazą danych.Po WYŁĄCZENIU, moduły bazy danych w kontekście personifikacji nie dostęp do zasobów poza bazą danych.Domyślnie jest wyłączona.
Godne zaufania jest zestaw na wyłączone w każdym przypadku, gdy baza danych jest dołączony.
Domyślnie wszystkie bazy danych systemu z wyjątkiem msdb bazy danych są godne zaufania zestaw na OFF.Nie można zmienić wartość dla model i tempdb baz danych.Zaleca się, że użytkownik nigdy nie zestaw TRUSTWORTHY opcji on dla master bazy danych.
Aby zestaw tę opcję wymaga członkostwa w sysadmin stała rola serwera.
database_snapshot_name
Jest nazwą nowego migawka bazy danych.Nazwy migawka bazy danych musi być unikatowa w obrębie wystąpienie SQL Server i zgodne z regułami dla identyfikatorów.database_snapshot_namemoże zawierać maksymalnie 128 znaków.ON ( NAME =logical_file_name, FILENAME = 'os_file_name') [ ,... n ]
Do tworzenia migawka bazy danych, określa listę plików w źródło bazie danych.Dla migawka do pracy wszystkie pliki danych należy określić indywidualnie.Pliki dziennika nie są dozwolone dla bazy danych migawek.Aplikacjami FILESTREAM nie są obsługiwane przez bazę danych migawek.Jeśli FILESTREAM plik danych zawiera ON tworzenie bazy danych klauzula, instrukcja nie powiedzie się i wystąpi błąd.Aby opisów nazwa i nazwa pliku oraz ich wartości, zobacz opisy równoważne <określenie_pliku> wartości.
Ostrzeżenie
Podczas tworzenia migawka bazy danych, drugi <specyfikacja_plików> opcje i słowo kluczowe podstawowego są niedozwolone.
JAK MIGAWKAsource_database_name
Określa, że baza danych tworzona jest migawka bazy danych źródło bazy danych określonego przez source_database_name.migawka i źródło bazy danych musi znajdować się na tym samym wystąpienie.Aby uzyskać więcej informacji zobacz "Migawki bazy danych" w sekcji Uwagi.
Uwagi
baza danych master mają być wykonywane kopie momencie baza danych użytkownika jest tworzone modyfikacji danych lub porzucone.
Tworzenie bazy danych instrukcja należy uruchomić w tryb autozatwierdzania (domyślny tryb zarządzania transakcji), a nie jest dozwolona w jawnej lub transakcja niejawna.Aby uzyskać więcej informacji, zobacz Transakcje AUTOCOMMIT wynosi.
Tworzenie bazy danych jednej instrukcja można użyć do utworzenia bazy danych i pliki, które przechowują bazy danych.SQL Serverimplementuje bazy danych utworzyć instrukcja , wykonując następujące kroki:
SQL Server Używa kopii baza danych modelu do zainicjowania bazy danych i metadane.
usługa broker identyfikator GUID jest przypisywany do bazy danych.
Aparat baz danych Wypełnia pozostałą część tej bazy danych z pustej strony, z wyjątkiem stron, które mają wewnętrznych danych tego rekordy użycia miejsca w bazie danych.Aby uzyskać więcej informacji, zobacz Zainicjowanie pliku bazy danych.
Można określić maksymalnie 32 767 baz danych na wystąpienie SQL Server.
Każda baza danych ma właściciela, który można wykonywać działania specjalne w bazie danych.Właścicielem jest użytkownik, który utworzy bazę danych.Właściciel bazy danych można zmienić za pomocą sp_changedbowner.
Pliki bazy danych i aplikacjami
Każda baza danych musi co najmniej 2 pliki, podstawowego pliku i pliku dziennika transakcji oraz co najmniej jedna grupa plików.Dla każdej bazy danych można określić maksymalnie 32 767 plików i aplikacjami 32 767.Aby uzyskać więcej informacji, zobacz Pliki i aplikacjami architektury.
Podczas tworzenia bazy danych należy pliki danych możliwie największy oparte na maksymalną ilość danych, które oczekują w bazie danych.Aby uzyskać więcej informacji, zobacz Korzystanie z plików i aplikacjami do zarządzania wzrost bazy danych.
Zaleca się używania sieci pamięci masowej (SAN), sieci iSCSI lub lokalnie dołączonym dysku do przechowywania na SQL Server pliki bazy danych, ponieważ optymalizuje tej konfiguracja SQL Server Wydajność i niezawodność.
Migawki bazy danych
Aby utworzyć widok tylko do odczytu, statyczne za pomocą bazy danych utworzyć instrukcja migawka bazy danych, z istniejącej bazy danych źródło bazy danych.migawka bazy danych jest transakcyjnie zgodny ze źródło bazy danych, jak istniał w czas podczas tworzenia migawka .źródło bazy danych może mieć wielu migawek.
Ostrzeżenie
Podczas tworzenia migawka bazy danychbazy danych utworzyć instrukcja nie można odwoływać pliki dziennika, pliki trybu offline, Przywracanie plików i unieczynniony.
Jeśli tworzenie migawka bazy danych nie powiedzie się, migawka staje się podejrzane i muszą zostać usunięte.Aby uzyskać więcej informacji, zobacz UPUŚĆ bazę danych (Transact-SQL).
Każdy migawka będzie się powtarzał, dopóki zostanie usunięty przy użyciu Usuń bazę danych.
Aby uzyskać więcej informacji, zobacz Migawki bazy danych i Ograniczenia i wymagania migawek bazy danych.
Opcje bazy danych
Kilka opcji bazy danych są automatycznie zestaw przy każdym utworzeniu bazy danych.Aby uzyskać listę tych opcji i ich ustawienia domyślne, zobacz Ustawianie opcji bazy danych.Opcje te można modyfikować za pomocą ALTER DATABASE instrukcja.
Model bazy danych i tworzenie nowych baz danych
Wszystkie obiekty zdefiniowane przez użytkownika w baza danych modelu są kopiowane do wszystkich nowo tworzonych baz danych.Wszelkie obiekty, takie jak tabele, widoki, procedury przechowywane, typy danych i tak dalej, można dodać do model bazy danych mają zostać uwzględnione w wszystkich nowo tworzonych baz danych.
Podczas tworzenia bazy danych database_name instrukcja jest określona bez rozmiar dodatkowe parametry, pliku podstawowego dokonuje się taki sam rozmiar jak plik podstawowy w model bazy danych.
Jeśli nie określono DOŁĄCZAĆ każdej nowej bazy danych dziedziczy ustawień opcji bazy danych z model bazy danych.Na przykład, opcja bazy danych auto shrink jest zestaw na true w model i wszelkich nowych baz danych można utworzyć.Jeśli zmienisz opcje w model bazy danych, te ustawienia są używane w żadnych nowych baz danych można utworzyć opcję Nowy.Zmiana operacji w model bazy danych nie narusza istniejących baz danych.Jeżeli określono dla DOŁĄCZANIA bazy danych utworzyć instrukcja, nowej bazy danych dziedziczy ustawień opcji bazy danych z oryginalnej bazy danych.
Wyświetlanie informacji z bazy danych
widoki wykazu, funkcje systemowei procedury składowane w systemie można użyć do zwracania informacji o bazach danych, plikach i aplikacjami.Aby uzyskać więcej informacji, zobacz Wyświetlanie metadanych baz danych.
Uprawnienia
Wymaga uprawnienia Tworzenie bazy danych, tworzenie dowolnego bazy danych lub ZMIEŃ DOWOLNE bazę danych.
Aby zachować kontrolę nad wykorzystania dysku na wystąpienie SQL Server, uprawnienie do tworzenia baz danych jest zwykle ograniczona do kilku kont logowania.
Uprawnienia do danych i plików dziennika
W SQL Server, niektóre uprawnienia są zestaw dla plików danych i dziennika każdej bazy danych.Następujące uprawnienia są zestaw w każdym przypadku, gdy następujące operacje są stosowane do bazy danych:
Created |
Zmodyfikowany w celu dodania nowego pliku |
Dołączony |
Kopie zapasowe |
Odłączone |
Przywrócono |
Uprawnienia uniemożliwić przypadkowo zmian znajdują się w katalogu, który ma uprawnienia Otwórz pliki.Aby uzyskać więcej informacji, zobacz Zabezpieczanie danych i plików dziennika.
Ostrzeżenie
Microsoft SQL Server 2005 Express Editionnie zestaw uprawnienia do plików danych i dziennika.
Przykłady
A.Tworzenie bazy danych bez określania plików
Poniższy przykład tworzy bazę danych mytest i tworzy odpowiadające podstawowym i plików dziennika transakcji.Ponieważ nie ma instrukcja <specyfikacja_plików> elementów, podstawowy plik bazy danych jest rozmiarem model bazy danych podstawowego pliku.Dziennik transakcji jest zestaw na większy z następujących wartości: 512 KB lub 25% rozmiaru pliku podstawowego.Ponieważ nie określono elementu MAXSIZE, pliki można powiększać, aby wypełnić wszystkie dostępne miejsce na dysku.Ten przykład ilustruje też sposób upuść bazę danych o nazwie mytest , jeśli istnieje, przed utworzeniem mytest bazy danych.
USE master;
GO
CREATE DATABASE mytest;
GO
-- Verify the database files and sizes
SELECT name, size, size*1.0/128 AS [Size in MBs]
FROM sys.master_files
WHERE name = N'mytest';
GO
B.Tworzenie bazy danych określa pliki dzienników transakcji i danych
Poniższy przykład tworzy bazę danych Sales.Ponieważ kluczowe podstawowy nie jest używany, pierwszy plik (Sales_dat) staje się podstawowy plik.Ponieważ KB ani MB jest określony parametr rozmiaru dla Sales_dat pliku, używa MB i są przydzielane w megabajtach.Sales_log Pliku są przydzielane w megabajtach, ponieważ MB sufiks jest wyraźnie podane w SIZE parametru.
USE master;
GO
CREATE DATABASE Sales
ON
( NAME = Sales_dat,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\saledat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO
C.Tworzenie bazy danych przez określenie wielu plików dziennika transakcji i danych
Poniższy przykład tworzy bazę danych Archive z trzema 100-MB pliki danych i dwóch 100-MB pliki dziennika transakcji.Podstawowy plik jest pierwszym plikiem na liście i wyraźnie określono z PRIMARY słów kluczowych.Pliki dziennika transakcji są określone po LOG ON słowa kluczowe.Uwaga rozszerzeń dla plików w FILENAME opcji: .mdfużywane dla plików danych podstawowych, .ndf jest używany do pomocniczych plików danych, i .ldf jest używana dla plików dziennika transakcji.W tym przykładzie powoduje umieszczenie bazy danych na D dysku zamiast z master bazy danych.
USE master;
GO
CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = 'D:\SalesData\archdat1.mdf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = 'D:\SalesData\archdat2.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = 'D:\SalesData\archdat3.ndf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
(NAME = Archlog1,
FILENAME = 'D:\SalesData\archlog1.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME = Archlog2,
FILENAME = 'D:\SalesData\archlog2.ldf',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20) ;
GO
D.Tworzenie bazy danych ma aplikacjami
Poniższy przykład tworzy bazę danych Sales ma następujące aplikacjami:
Podstawowa grupa plików z plikami Spri1_dat i Spri2_dat.Skoki FILEGROWTH dla tych plików są określone jako 15%.
grupa plików o nazwie SalesGroup1 z plikami SGrp1Fi1 i SGrp1Fi2.
grupa plików o nazwie SalesGroup2 z plikami SGrp2Fi1 i SGrp2Fi2.
W tym przykładzie powoduje umieszczenie plików danych i dziennika na różnych dyskach w celu zwiększenia wydajności.
USE master;
GO
CREATE DATABASE Sales
ON PRIMARY
( NAME = SPri1_dat,
FILENAME = 'D:\SalesData\SPri1dat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 15% ),
( NAME = SPri2_dat,
FILENAME = 'D:\SalesData\SPri2dt.ndf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 15% ),
FILEGROUP SalesGroup1
( NAME = SGrp1Fi1_dat,
FILENAME = 'D:\SalesData\SG1Fi1dt.ndf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 ),
( NAME = SGrp1Fi2_dat,
FILENAME = 'D:\SalesData\SG1Fi2dt.ndf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 ),
FILEGROUP SalesGroup2
( NAME = SGrp2Fi1_dat,
FILENAME = 'D:\SalesData\SG2Fi1dt.ndf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 ),
( NAME = SGrp2Fi2_dat,
FILENAME = 'D:\SalesData\SG2Fi2dt.ndf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = 'E:\SalesLog\salelog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB ) ;
GO
E.Dołączania bazy danych
Poniższy przykład odłącza bazę danych Archive utworzone w przykładzie d i dołącza go za pomocą FOR ATTACH klauzula.Archivezdefiniowano wiele danych i plików dziennika.Jednakże, ponieważ lokalizacja plików nie zmienił się od czasu ich utworzenia, podstawowy plik musi zostać określona w FOR ATTACH klauzula.Począwszy od SQL Server 2005, wszystkie pliki pełnego tekstu, które są częścią bazy danych, która dołączona jest dołączana z bazy danych.
USE master;
GO
sp_detach_db Archive;
GO
CREATE DATABASE Archive
ON (FILENAME = 'D:\SalesData\archdat1.mdf')
FOR ATTACH ;
GO
F.Tworzenie migawka bazy danych
Poniższy przykład tworzy migawka bazy danych sales_snapshot0600.Ponieważ migawka bazy danych jest tylko do odczytu, nie można określić plik dziennika.Zgodnie ze składnią określoną każdy plik w źródło bazie danych i aplikacjami nie są określone.
źródło baza danych, w tym przykładzie jest Sales Baza danych utworzona w przykładzie D.
USE master;
GO
CREATE DATABASE sales_snapshot0600 ON
( NAME = SPri1_dat, FILENAME = 'D:\SalesData\SPri1dat_0600.ss'),
( NAME = SPri2_dat, FILENAME = 'D:\SalesData\SPri2dt_0600.ss'),
( NAME = SGrp1Fi1_dat, FILENAME = 'D:\SalesData\SG1Fi1dt_0600.ss'),
( NAME = SGrp1Fi2_dat, FILENAME = 'D:\SalesData\SG1Fi2dt_0600.ss'),
( NAME = SGrp2Fi1_dat, FILENAME = 'D:\SalesData\SG2Fi1dt_0600.ss'),
( NAME = SGrp2Fi2_dat, FILENAME = 'D:\SalesData\SG2Fi2dt_0600.ss')
AS SNAPSHOT OF Sales ;
GO
G.Tworzenie bazy danych i określając opcje i nazwa sortowanie
Poniższy przykład tworzy bazę danych MyOptionsTest.Określona nazwa sortowanie i TRUSTYWORTHY i DB_CHAINING Opcje są zestaw na ON.
USE master;
GO
IF DB_ID (N'MyOptionsTest') IS NOT NULL
DROP DATABASE MyOptionsTest;
GO
CREATE DATABASE MyOptionsTest
COLLATE French_CI_AI
WITH TRUSTWORTHY ON, DB_CHAINING ON;
GO
--Verifying collation and option settings.
SELECT name, collation_name, is_trustworthy_on, is_db_chaining_on
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO
H.Dołączanie wykaz pełnotekstowy , który został przeniesiony
Poniższy przykład dołącza wykaz pełnotekstowy AdvWksFtCat wraz z AdventureWorks2008R2 plików danych i dziennika.W tym przykładzie wykaz pełnotekstowy zostanie przeniesiony z jego domyślnej lokalizacji do nowej lokalizacji c:\myFTCatalogs.Pliki danych i dziennika pozostają w ich lokalizacji domyślnej.
USE master;
GO
--Detach the AdventureWorks2008R2 database
sp_detach_db AdventureWorks2008R2;
GO
-- Physically move the full text catalog to the new location.
--Attach the AdventureWorks2008R2 database and specify the new location of the full-text catalog.
CREATE DATABASE AdventureWorks2008R2 ON
(FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\AdventureWorks2008R2_Data.mdf'),
(FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\AdventureWorks2008R2_log.ldf'),
(FILENAME = 'c:\myFTCatalogs\AdvWksFtCat')
FOR ATTACH;
GO
I.Tworzenie bazy danych określa wiersz grupa plików i dwiema aplikacjami FILESTREAM
Poniższy przykład tworzy FileStreamDB bazy danych.Baza danych jest tworzony z dwiema aplikacjami FILESTREAM i jeden wiersz grupa plików .Każda grupa plików zawiera jeden plik:
FileStreamDB_datazawiera wiersz danych.Zawiera jeden plik FileStreamDB_data.mdf z domyślnej ścieżka.
FileStreamPhotoszawiera dane FILESTREAM.Zawiera jeden danych FILESTREAM kontener, FSPhotos, znajdującym się w C:\MyFSfolder\Photos.Jest ona oznaczona jako FILESTREAM domyślnej grupa plików.
FileStreamResumeszawiera dane FILESTREAM.Zawiera jeden danych FILESTREAM kontener, FSResumes, znajdującym się w C:\MyFSfolder\Resumes.
USE master;
GO
IF DB_ID (N'FileStreamDB') IS NOT NULL
DROP DATABASE FileStreamDB;
GO
-- Get the SQL Server data path.
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
FROM master.sys.master_files
WHERE database_id = 1 AND file_id = 1);
-- Execute the CREATE DATABASE statement.
EXECUTE ('CREATE DATABASE FileStreamDB
ON PRIMARY
(
NAME = FileStreamDB_data
,FILENAME = ''' + @data_path + 'FileStreamDB_data.mdf''
,SIZE = 10MB
,MAXSIZE = 50MB
,FILEGROWTH = 15%
),
FILEGROUP FileStreamPhotos CONTAINS FILESTREAM DEFAULT
(
NAME = FSPhotos
,FILENAME = ''C:\MyFSfolder\Photos''
-- SIZE, MAXSIZE, FILEGROWTH should not be specified here.
-- If they are specified an error will be raised.
),
FILEGROUP FileStreamResumes CONTAINS FILESTREAM
(
NAME = FileStreamResumes
,FILENAME = ''C:\MyFSfolder\Resumes''
)
LOG ON
(
NAME = FileStream_log
,FILENAME = ''' + @data_path + 'FileStreamDB_log.ldf''
,SIZE = 5MB
,MAXSIZE = 25MB
,FILEGROWTH = 5MB
)'
);
GO
Zobacz także