Telepítése SQL Server adatbázisok Test to Live

szavazat
24

Kíváncsi vagyok, hogy ti kezelni az alkalmazást egy adatbázis között 2 SQL Szerverek, kifejezetten az SQL Server 2005 Nos, van egy fejlesztési és egy élő. Mivel ez a része kell hogy legyen a buildscript (normál windows batch, még köze a jelenlegi bonyolultsága szkriptek, talán váltani PowerShell vagy később), az Enterprise Manager / Management Studio Express nem számítanak.

Tudni csak másolja .mdf Fájl és csatolja? Én mindig egy kicsit óvatos, amikor dolgozik bináris adatok, úgy tűnik, ez egy kompatibilitási kérdés (bár fejlesztés és élni kell azonos verziója fut a szerver minden alkalommal).

Vagy - mivel hiányzik a „Magyarázd CREATE TABLE” a T-SQL - teszel valamit, hogy a kivitel a meglévő adatbázist az SQL-Scripts is, amelyekkel a cél szerver? Ha igen, van-e olyan eszköz, amely automatikusan billenő adott adatbázis SQL lekérdezések és fut le a parancssor? (Ismét Enterprise Manager / Management Studio Express nem számít).

És végül - tekintettel arra, hogy az éles adatbázis már tartalmaz adatokat, a telepítési nem járulhat létre az összes táblát, hanem ellenőrzi a szerkezeti különbséget és ALTER TABLE az élő is helyette, ami szintén szükség lehet az adatok ellenőrzése / konverzió, ha a meglévő mezők megváltoztatásához.

Most hallom egy csomó jó dolog, ami a Red Kapu termékek, de a hobby projektek, az ár egy kicsit meredek.

Tehát, mit használ, hogy automatikusan telepíti az SQL Server adatbázisok Test élni?

A kérdést 03/08/2008 00:30
a forrás felhasználó
Más nyelveken...                            


14 válasz

szavazat
14

Mert én projektek I felváltva SQL összehasonlítása: Red Gate Adatbázis Publishing varázsló a Microsoft amely letölthető ingyenes itt .

A varázsló nem olyan sima, mint az SQL összehasonlítása vagy SQL Data összehasonlítása de ez a trükk. Az egyik probléma az, hogy a szkriptek generál szüksége lehet némi átrendezés és / vagy szerkesztési folyni egy lövés.

A másik oldalát, akkor mozog a séma és az adatok, ami nem rossz egy ingyenes eszköz.

Válaszolt 03/08/2008 00:40
a forrás felhasználó

szavazat
19

Vettem, hogy kézzel-kódolás minden az én DDL (létrehozza / megváltoztathatja / törlése) utasításokat, hozzátéve, hogy az én .sln szöveges fájlokat, és segítségével a normál verzióképzési (a felforgatás, de bármely felülvizsgálatát kontroll működnie kell). Így, én nem csak kap javára verziókövetés, de felfrissítjük élőben dev / színpad azonos eljárás kód és adatbázis - címkék, ágak és így a munka minden ugyanaz.

Egyébként egyetértek Redgate drága, ha nincs cég vásárol az Ön számára. Ha kap egy cég megvenni neked, bár, ez tényleg megéri!

Válaszolt 03/08/2008 00:51
a forrás felhasználó

szavazat
3

Ha van egy cég veszi meg, varangy a Quest Software ezt a fajta kezelési funkciókat építettek be. Ez alapvetően két kattintással működését összehasonlítani két sémák és létrehoz egy szinkronizálási script egyikről a másikra.

Ezek kiadásban a legtöbb népszerű adatbázisok, beleértve természetesen SQL Server.

Válaszolt 03/08/2008 01:22
a forrás felhasználó

szavazat
4

Azt ugyanúgy működnek Karl teszi, azáltal, hogy minden az én SQL szkriptek létrehozása és megváltoztatása, táblázatok szöveges fájl, amely tartok forrás ellenőrzés. Tény, hogy elkerüljük azt a problémát, hogy egy script megvizsgálja az éles adatbázis meghatározni, hogy mi megváltoztatja futni szoktam dolgozni, mint ez:

  • Az első változat, azt tegye minden vizsgálat során egyetlen SQL script, és kezeli az összes táblát a CREATE. Ez azt jelenti, hogy a végén célba és readding táblázatok sok tesztelés során, de ez nem egy nagy dolog elején a projekt (mivel én általában hackelés az adatokat én használ ezen a ponton egyébként).
  • Az összes későbbi verzió, én két dolgot: azt, hogy egy új szöveges fájlt, hogy tartsa a frissítés SQL scriptek, amelyek csak az megváltoztatja a verzióhoz. És tudom, hogy a változások az eredeti, egy friss adatbázis script is. Így egy frissítést csak fut a frissítés script, de ha van, hogy újra a DB nem kell futtatni 100 szkripteket, hogy ott.
  • Attól függően, hogy milyen vagyok telepítése a DB változások, én is általában tesz egy változata táblázatot a DB, hogy tartja a változat a DB. Aztán ahelyett, hogy minden emberi döntéseket szkript fut, bármilyen kódot már fut a létrehozás / aktualizáló szkriptek használja a verziót, hogy meghatározza, hogy mit kell futtatni.

Az egyetlen dolog, ez nem fog segíteni, ha van része, amit mozgó test a termelési adat, de ha a kezelni kívánt szerkezet és nem fizet egy szép, de drága DB menedzsment csomag, valóban nem túl nehéz. Én is találtam egy nagyon jó módja tartani a mentális követheti a DB.

Válaszolt 03/08/2008 01:37
a forrás felhasználó

szavazat
2

Egyetértek azzal, hogy script mindent a legjobb módja, hogy menjen, és az, amit híve a munka. Meg kell script mindent DB és az objektumok létrehozását, hogy feltöltöd a feloldó táblákat.

Bármi, amit itt UI csak nem fordítja (különösen a változások ... nem annyira az első példányok) és a végén igénylő eszközök, mint a mi Redgate kínál.

Válaszolt 03/08/2008 02:38
a forrás felhasználó

szavazat
3

Használata SMO / DMO, ez nem túl nehéz, hogy létrehoz egy script a sémát. Az adatok egy kicsit több móka, de még mindig megvalósítható.

Általában azt, hogy „szkript” megközelítés, de lehet, hogy érdemes valamit ezen vonalak mentén:

  • Különbséget tenni Fejlesztési és megállóhelyek, mint amit tud kialakulni az adatok egy részét ... ez azt létrehozni egy eszköz, hogy egyszerűen húzza le néhány termelési adatok generálására vagy hamis adatokat, ha a biztonságot illeti.
  • Mert csapat fejlesztése, minden változtatás az adatbázisban kell hangolni között a csapat tagjai. Séma és adatváltozások össze lehet keverni, de egy script lehetővé kell tenniük az adott funkciót. Ha az összes funkció kész, akkor csomagban ezek egy-egy SQL fájlt, és fuss, hogy ellen helyreállítani a termelés.
  • Miután a staging törölte elfogadás, futtatja az egységes SQL fájlt újra a gyártó gépre.

Én használtam a Vörös-kapu eszközöket és azok nagy eszközökkel, de ha nem engedheti meg magának, az épület az eszközöket és a munka így nem túl messze van az ideálistól.

Válaszolt 04/08/2008 18:38
a forrás felhasználó

szavazat
6

Mint Rob Allen, azt használja az SQL összehasonlítása / adatok összehasonlítása által Redgate. Azt is használja a Database közzétételi varázsló a Microsoft. Nekem is van egy konzol alkalmazást írtam C #, hogy vesz egy sql script és futtatja a szerveren. Így lehet futtatni a nagy szkripteket „GO” parancsok benne a parancssorból vagy egy batch scriptet.

ÉN használ Microsoft.SqlServer.BatchParser.dll és Microsoft.SqlServer.ConnectionInfo.dll könyvtárak a konzol alkalmazás.

Válaszolt 04/08/2008 19:00
a forrás felhasználó

szavazat
2

Egyetértek, hogy mindent a forrás ellenőrzése és manuálisan script minden megváltozik. Változások a séma egy levehető bemegy egy script fájlt létre kifejezetten erre a verzióra. Minden tárolt speciális képessége, nézetek, stb kell mennie az egyes fájlokat és úgy kezeli, mintha .cs vagy .aspx amennyire forrás ellenőrzés megy. ÉN használ egy PowerShell script generál egy nagy .sql fájl frissítésével programozható cucc.

Nem tetszik automatizálásával alkalmazása sémamódosításait, mint az új táblák, új oszlopok, stb szűrhetik a termelési kiadás, szeretem, hogy menjen át a változás script parancsokat parancs, hogy megbizonyosodjon arról mindegyik működik. Semmi sem rosszabb, mint a futás egy nagy változás script termelési és egyre hibákat, mert elfelejtette néhány apró részlet, amely nem jelent önmagában a fejlődésben.

Azt is megtanultam, hogy az indexeket kell kezelni, mint kódfájlokhoz és helyezték forrás ellenőrzés.

És akkor feltétlenül több, mint 2 adatbázisok - dev, és élni. Meg kell egy dev adatbázist mindenki használja napi dev feladatokat. Aztán egy átmeneti adatbázis, amely utánozza a termelés és szokta az integrációs tesztelés. Akkor talán egy teljes legutóbbi példányát termelés (helyreállított teljes biztonsági másolat), ha ez megoldható, így az utolsó fordulóban a telepítés tesztelés megy valami ellen, amely olyan közel, hogy az igazi, amennyire csak lehetséges.

Válaszolt 13/08/2008 16:41
a forrás felhasználó

szavazat
7

Ne felejtsük el, a Microsoft megoldása a problémára: Visual Studio 2008 Database Edition . Tartalmazza eszközök telepítésével változásokat az adatbázisokhoz, termelő diff között adatbázisok sémáját és / vagy adat megváltozik, egység, vizsgálati adatok előállítását.

Elég drága, de én használtam próbaverziója egy darabig, és azt hitte, hogy zseniális. Lehetővé teszi, hogy az adatbázisba, könnyű vele dolgozni, mint bármely más kódrészletet.

Válaszolt 18/08/2008 11:47
a forrás felhasználó

szavazat
1

Én az én adatbázis létrehozása a DDL, majd tekerje hogy DDL egy séma megtartásán osztályban. Lehet tenni a különböző dolgokat, hogy megteremtse a DDL az első helyen, de alapvetően én minden séma Karba kódot. Ez azt is jelenti, hogy ha meg kell tennie, nem DDL dolog, hogy nem képezhetők le jól a SQL írhat eljárási logika és futtatni között kockacukrot DDL / DML.

Saját DBS akkor van egy tábla, amely meghatározza az aktuális verzió így lehet kódolni egy viszonylag egyszerű vizsgálatsorozat:

  1. Vajon a DB létezik? Ha nem hozza létre.
  2. A DB az aktuális verzió? Ha nem, akkor futtassa a módszereket, hogy sorrendben, hogy hozza a séma naprakész (érdemes figyelmezteti a felhasználót, hogy erősítse meg, és - ideális esetben - do mentést ezen a ponton).

Egyetlen felhasználói alkalmazás csak futtatni ezt a helyet, mert a web app jelenleg lezárni a felhasználó, ha a verzió nem egyezik, és egy önálló séma Karba app futunk. Többfelhasználós ez függ az adott környezetben.

Az előny? Nos, van egy nagyon magas szintű bizalmat, hogy a séma az alkalmazások, amelyek ezt a módszert használják konzisztens az egyes példányok ezen alkalmazások. A nem tökéletes, vannak olyan kérdések, de működik ...

Van néhány kérdés, ha a fejlődő egy csapatban környezetben, de ez többé-kevésbé egy adott egyébként!

Murph

Válaszolt 26/08/2008 16:38
a forrás felhasználó

szavazat
2

Én a szubszonikus a vándorlások mechanizmus úgyhogy csak egy dll osztályok a squential érdekében, hogy van 2 módszereket, fel és le. Van egy folyamatos integrációs / szkriptet horgot nant, hogy én is automatizálják a korszerűsítés az én tárol.

Ez nem a legjobb thign a világon, de ez veri írásban DDL.

Válaszolt 26/08/2008 18:39
a forrás felhasználó

szavazat
2

Redgate SqlCompare egy út véleményem. Tesszük DB telepítését rendszeresen és mivel elkezdtem használni azt a szerszámot én még soha nem nézett vissza. Nagyon intuitív interfész és megment egy csomó időt a végén.

A Pro változat lesz vigyázni script forrását szabályozás integrációs is.

Válaszolt 28/08/2008 01:22
a forrás felhasználó

szavazat
1

Én jelenleg is dolgozik ugyanezt az Ön számára. Nemcsak telepítésével SQL Server adatbázisok teszt, hogy élni, hanem többek között az egész folyamatot a Helyi -> Integráció -> Test -> Gyártás. Tehát mi lehet, hogy nekem egyszerűen Minden nap én NAnt feladatot Red Gate SQL összehasonlítása . Én nem dolgozom Redgate de azt kell mondanom, hogy ez jó választás.

Válaszolt 27/11/2008 04:15
a forrás felhasználó

szavazat
2

Azt is fenntartja szkriptek az én objektumok és adatok. Telepítésével írtam ezt az ingyenes segédprogram - http://www.sqldart.com . Ez hagylak átrendezni a script fájlok és fog futni az egészet egy ügyletet.

Válaszolt 08/06/2010 22:33
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more