Alfabetul bcp
Echipa începe cu PTF, și apoi specificați numele tabelului complet calificat, denumit în continuare dbtable. Complet calificat nume de tabel conține numele numele bazei de date, proprietar, masa de obiect și de masă-obiect. De exemplu, Northwind.dbo.Employees - un nume de tabel complet calificat. Trebuie să specificați direcția: în sau în afara. Dacă utilizați BCP, pentru a copia date dintr-un fișier într-un tabel de baze de date, utilizați în opțiunea. Dacă utilizați BCP, pentru a copia date dintr-un tabel de bază de date într-un fișier, utilizați opțiunea de ieșire. Sintaxa comenzii continuă la numele fișierului - datafile. Numele fișierului poate fi absolut, de exemplu: C: \ Temp \ Northwind.dat, sau poate fi în raport cu numele dosarului curent, de exemplu. \ Northwind.dat. (Două puncte de conducere indică faptul că fișierul Northwind.dat este situat la un dosar mai mare în ierarhia de dosare). Dacă utilizați BCP cu opțiunea, se creează un nou fișier cu numele specificat, care suprascrie automat orice fișier cu același nume, în cazul în care există deja. După aceea puteți plasa orice alți parametri necesari de utilitate BCP.
Să luăm acum în considerare utilizarea unor parametrii importanți BCP. Puteți utiliza opțiunea -S pentru a specifica numele serverului (nu specifica in mod necesar numele serverului, dacă executați BCP SQL Server pe computerul local). În cazul în care instanța solicitată de SQL Server nu este disponibil pe protocolul implicit specificat, trebuie să vă înregistrați numele de gazdă ca alias pentru calculator - clientul pentru SQL Server Client Network Utility. Pentru a vă conecta la un server prin propriul sistem de autentificare, trebuie să specificați un nume de utilizator și o parolă, care sunt definite de parametrii -U și -P, respectiv. Dacă utilizați o conexiune de încredere, o indicație în ceea ce privește parametrii unui nume de utilizator și parola nu este necesară, trebuie doar să specificați opțiunea -t.
Pentru a specifica tipurile de fișiere de date, utilizați opțiunea -n dacă fișierul de date pe care doriți să le copiați, are propriul format SQL Server (nativ format) sau opțiunea -c, dacă fișierul trebuie să fie un text, având ca delimitat de file. În scopul de a stabili modul de utilizare a parametrilor BCP, uita-te la un exemplu care utilizează următoarele informații cu privire la parametrii BCP, tabelul bazei de date și fișierul de tranzit:
Sursa de masa - Angajații, al cărui proprietar DBO.
Tabelul se află în baza de date Northwind.
Fișierul de export - un fișier text Northwind.txt având ca filă-delimitat.
Fișierul se află în folderul curent pe un server HOMER numit, la care accesul prin contul sa (care este nici o parolă).
Folosind regulile de mai sus, veți primi următorii parametri pentru PTF de utilitate:
BCP Northwind.dbo.Employees din Northwind.txt -c -S HOMER -U sa -P
Acum, în scopul de a inversa direcția fluxului de date, să ne uităm la un exemplu de circulație a datelor prin intermediul fișierului BCP în tabelul de baze de date, și scrie comanda, care va utiliza următoarele informații:
Fișierul original de date - tipul de fișier nativ SQL Server, numit Invoices.dat.
Fișierul este localizat pe un server numit BART, care accesați printr-o conexiune de încredere.
Tabelul de destinație - facturi, care proprietarul Lisa.
Tabelul se află în baza de date Northwind.
Ca urmare, ar trebui să obțineți următoarele:
BCP Northwind.lisa.Invoices în Invoices.dat -S-n BART -T
Aceste exemple arată utilizarea cea mai tipică a BCP. Puteți muta masa mare sau întreaga bază de date utilizând parametrii prezentați în exemple. Cu BCP puteți efectua sarcini mai complexe folosind fișiere text sau fișiere de lungime fixă, cu diferite separatoare. Pentru mai multe informații despre parametrii BCP, a se vedea. BOL.
Compara BCP și DTS Import / Export Wizard
Comparați și de rezervă BCP cu recuperare
SQL Server are o altă alternativă la capacitatea de BCP pentru a trece prin backup de date și de a restaura pe un alt server. Toate operațiunile necesare pot fi foarte usor de facut cu ajutorul adecvat vrajitori Enterprise Manager. Ca rezultat, puteți obține foarte rapid o copie exactă a bazei de date originale. Din păcate, restaurarea unei copii de rezervă a bazei de date pe care neagă posibilitatea de a gestiona pe deplin acest proces. Deoarece noua bază de date va fi exact la fel ca originalul, toate greșelile făcute în baza de date sursă, și un nou perekochuyut. În cazul în care vechiul jurnal de tranzacții de baze de date a avut loc sute de megaocteți, acesta va avea aceeași dimensiune în baza de date restaurate. Toți indicii de care nu reindexați vor rămâne în noua bază de date în aceeași formă. În plus, această metodă va fi capabil de a copia numai obiecte selectate. Restaurat sau totul sau nimic. Utilizarea BCP și SQL-script-uri, care generează Enterprise Manager, poate reduce în mod semnificativ mesele ocupate, locul din cauza lipsei de fragmentare și de a crea indici după importarea datelor, le utilizarea cât mai optimă va face. În plus, utilizarea BCP nu va duce la lărgirea jurnalului de tranzacții. Folosind BCP, puteți transfera numai obiectele necesare între bazele de date.
În cazul în care transferul tuturor tabelelor din baza de date, puteți utiliza posibilitatea unui sistem de procedură stocată: sp_MSforeachtable, de exemplu:
Puteți face cu siguranță, fără sp_MSforeachtable, atunci ar trebui să utilizați un design pe similaritatea de mai jos, care creează fișiere în format CSV: