Transact-SQL, crearea de baze de date

Baza de date de organizare este implicat un număr mare de diferite obiecte. Toate obiectele bazei de date sunt fie fizice sau logice. obiectele fizice sunt asociate cu organizarea datelor pe dispozitivele fizice (discuri). obiecte fizice ale motorului bazei de date sunt fișierele și grupurile de fișiere. obiecte logice sunt vedere utilizator al bazei de date. Ca un exemplu al unui obiect logic poate fi numit tabele, coloane și vederi (tabel virtuală).

două metode principale utilizate pentru a crea baza de date. În prima metodă, mediu de browser obiect activat SQL Server Management Studio, așa cum este prezentat mai devreme, și într-o a doua instrucțiune limbaj este folosit Transact-SQL CREATE DATABASE. Următoarele este forma generală a acestei declarații, iar apoi componentele sale sunt discutate în detaliu:

DB_Name Parametrul - este numele bazei de date. Numele bazei de date poate conține maximum 128 de caractere. Un sistem poate gestiona până la 32.767 de baze de date. Toate bazele de date sunt stocate în fișiere, care pot fi specificate de către administratorul prevăzut în mod explicit sau implicit de către sistem. În cazul în care declarația conține un parametru CREATE ON BAZA DE DATE. Toate fișierele bazei de date sunt specificate în mod explicit.

File_spec1 parametru de specificație reprezintă fișierul în sine poate conține opțiuni suplimentare, cum ar fi un nume de fișier logic, numele fizic, și dimensiunea. Parametrul primary indica faptul ca primul (și cel mai important) fișierul care conține tabelele de sistem și alte informații interne importante despre baza de date. Dacă PRIMARĂ offline, primul fișier specificat în caietul de sarcini este utilizat ca fișierul primar.

Opțiunea LOG ON parametru DBO specifică una sau mai multe fișiere ca o tranzacție de bază de date magazin jurnal fizic. Dacă opțiunea LOG ON nu este prezent, atunci va fi în continuare create jurnalele de tranzacții de baze de date, deoarece fiecare bază de date ar trebui să aibă cel puțin un jurnal de tranzacții. (Baza de date Engine păstrează o evidență a tuturor modificărilor, pe care le efectuează cu baza de date. Sistemul păstrează toate aceste intrări, în special valorile înainte și după efectuarea tranzacției, într-unul sau mai multe fișiere, care sunt numite jurnalele de tranzacții. Revista proprie realizată pentru fiecare sistem de baze de date tranzacții.)

Opțiunea de asmblare specifică ordinea de sortare implicit pentru baza de date. În cazul în care COLLATE nu este specificat, baza de date este atribuit ordinea implicită de sortare, exact la fel ca și ordinea de sortare a sistemului de baze de date implicit.

Opțiunea pentru ATTACH specifică faptul că baza de date este creată prin conectarea setului existent de fișiere. Dacă utilizați această opțiune pentru a specifica în mod explicit fișierul primar prima. Opțiunea pentru ATTACH_REBUILD_LOG indică faptul că baza de date este creată prin aderarea la un set existent de fișiere de sistem de operare.

Baza de date Engine creează o nouă bază de date pe o bază de date șablon model de model. Proprietățile bazei de date model poate fi ajustat pentru a se potrivi concepte personale ale administratorului de sistem. În cazul în care un anumit obiect de bază de date trebuie să fie prezente în fiecare bază de date de utilizator, obiectul trebuie să creeze mai întâi în baza de date model.

Se arată în exemplul de cod creează o bază de date numită SampleDb. Această formă prescurtată a CREATE DATABASE poate fi din cauza faptului că aproape toți parametrii au valori implicite. În mod implicit, sistemul creează două fișiere. Fișierul de date este un nume logic SampleDb dimensiunea inițială de 2 MB. Un fișier jurnal de tranzacții are un nume logic și dimensiunea inițială SampleDb_log de 1 MB. (Valorile atât dimensiunea fișierului și alte proprietăți ale noii baze de date depinde de specificațiile modelului bazei de date respective.)

Următorul exemplu arată cum să creați o bază de date cu o bază de date și fișierele jurnal de tranzacții explicite:

Înființată în exemplul de baze de date numite proiecte. Deoarece opțiunea primară nu este specificată, fișierul primar se presupune că primul fișier. Acest fișier are un nume projects_dat logic și este stocat într-un fișier projects.mdf pe disc. Dimensiunea inițială a fișierului la 10 MB. Dacă este necesar, sistemul identifică fișierul spațiu suplimentar în trepte de câte 5 MB. Dacă nu specificați opțiunea MAXSIZE sau în cazul în care această opțiune este setată la UNLIMITED, dimensiunea maximă a fișierului poate fi crescută și va fi limitată doar de dimensiunea întregului spațiu pe disc. (Dimensiunea unității fișierului poate fi specificat folosind sufixele KB, TB și MB acum, înseamnă kilobytes, MB, și terabytes, respectiv. Unitatea implicită de dimensiune MB Descărcați acum, adică megaocteți.)

În plus față de fișierul de date creat de către fișierul jurnal de tranzacții, care are un nume logic și fizic projects.ldf numele projects_log. Toate opțiunile de specificație tranzacție fișier jurnal au aceleași nume și valori ca opțiunile corespunzătoare pentru specificarea fișierului de date.

Limbajul Transact-SQL, puteți specifica un context anumită bază de date (de exemplu, care bază de date pentru a utiliza ca curent) cu declarația USE. (O modalitate alternativă - de a alege numele bazei de date dorite în drop-down lista bazei de date (baza de date), în bara de instrumente media SQL Server Management Studio.)

Administratorul de sistem poate aloca un utilizator la baza de date implicită curentă folosind instrucțiunea CREATE sau ALTER LOGIN LOGIN. În acest caz, utilizatorii nu au nevoie pentru a efectua declarația USE, cu excepția cazului în care nu doresc să utilizeze o bază de date diferită.

Crearea unei baze de date instantaneu

În plus față de crearea unei noi baze de date, a crea instrucțiuni de bază de date pot fi utilizate pentru a obține un instantaneu al (date de baze de date-sursă) de baze de date existente. Un instantaneu de baze de date este consecventă în ceea ce privește tranzacțiile finalizate copie a bazei de date inițiale la momentul instantaneu. Ceea ce urmează este o sintaxă declarație pentru a crea un instantaneu de baze de date:

Astfel, pentru a crea o bază de date instantaneu, în instrucțiunile pentru a introduce CREATE DATABASE propunerea AS REZUMATUL. Următorul exemplu ilustrează modul de a crea o bază de date instantaneu SampleDb și păstrați-l în folderul D: \ temp. (Înainte de a efectua acest exemplu, aveți nevoie pentru a crea acest director.)

Un instantaneu al unei baze de date existente - aceasta este o copie read-only a bazei de date sursă, care reflectă starea bazei de date în momentul copierii. (. Astfel, puteți crea mai multe instantanee ale unei baze de date existente) fișier Instantaneu (în exemplul de mai sus este un fișier D: \ temp \ snapshot_DB.mdf) conține doar datele bazei de date sursă modificat. Prin urmare, codul pentru a crea captura de ecran pe care trebuie să specificați un nume logic pentru fiecare fișier de bază de date a datelor sursă și denumirile fizice corespunzătoare.

Deoarece instantaneul conține date doar modificate, că, pentru fiecare imagine necesită doar un mic procent de spațiu pe disc necesar pentru baza de date sursă corespunzătoare.

Baza de date instantanee pot fi create numai pe discuri cu NTFS (New Technology System File - New System Technology File), ca Odată ce acest sistem de fișiere suportă tehnologia de fișier rar folosit pentru a stoca instantanee.

instantaneele bazei de date sunt utilizate în mod obișnuit ca un mecanism de protecție împotriva corupției datelor.

Atașarea și Desprinderea bazelor de date

Toate datele din baza de date, puteți deconecta și apoi reconectați-l la același sau un alt server de baze de date. Această funcționalitate este folosită pentru a muta baza de date.

Pentru a detașa baza de date de la serverul de bază de date pentru a utiliza procedura de sistem sp_detach_db. (Baza de date trebuie să fie deta în modul single-utilizator.)

Pentru a atașa o bază de date folosind CREATE DATABASE cu propunerea de ATTACH. Pentru a atașa baze de date pentru a fi disponibile toate fișierele necesare. În cazul în care orice fișier de date are o cale care este diferită de calea inițială, atunci acest fișier trebuie să specifice calea curentă.

articole similare