sql >> Database >  >> RDS >> Sqlserver

Hoe u SQL Server-databases van het ene exemplaar naar het andere kopieert

Het kopiëren of verplaatsen van databases is een van de meest voorkomende taken voor dataprofessionals die regelmatig te maken hebben met het implementeren van scripts of nieuwe oplossingen in verschillende omgevingen. Met SQL Server hebben we meerdere manieren waarop we dit native kunnen bereiken zonder tools van derden te gebruiken.

Native Oplossingen binnen SQL Server

Hier zijn enkele manieren waarop we deze taak native in SQL Server kunnen uitvoeren:

  • Binnen SQL Server voeren we normaal gesproken volledige databaseback-ups uit op de brondatabase, kopiëren deze naar de doelserver en herstellen deze vervolgens. Dit kan een uitdagende taak zijn voor nieuwkomers of voor professionals die niet in de DBA-rol zitten. Tenzij je een goede scriptoplossing hebt, kun je problemen tegenkomen en moeite hebben om dit te bereiken terwijl je met enorme databases werkt.
  • Een andere optie is de methode detach\attach. Deze methode wordt in de volksmond gebruikt, maar nogmaals, je moet voorzichtig zijn bij het omgaan met grote databases of met databases die een aantal gegevens of logbestanden bevatten. Ook zou de brondatabase offline gaan tijdens het gebruik van deze aanpak. Tenzij u een ervaren databasebeheerder bent, kunt u nog steeds problemen ondervinden bij het omgaan met grote databases.

Er zijn andere opties die kunnen worden gebruikt, zoals het gebruik van de wizard database kopiëren of de gegevenswizard importeren\exporteren voor het doel van gegevensimport\export. U moet er ook voor zorgen dat de aanmeldingen en machtigingen van de bronserver correct worden gemigreerd naar de doelserver, anders kunnen toepassingsgebruikers problemen ondervinden bij het correct verbinden met de database.

DbForge Studio for SQL Server gebruiken om databases van de ene instantie naar de andere of van de ene server naar de andere te kopiëren of te verplaatsen

Voor software van derden heeft Devart's dbForge Studio voor SQL Server een coole functie ingebouwd in het product om het kopiëren of verplaatsen van databases in een paar eenvoudige stappen uit te voeren. We zullen het proces met een demo in dit artikel bespreken.

De proefversie duurt een maand en geeft je voldoende tijd om de andere functionaliteiten die in het product zijn ingebouwd te testen. Voor deze demo wordt de Enterprise-proefversie 5.5 gebruikt.

Nadat u dbForge Studio heeft uitgevoerd, krijgt u dit scherm om de gegevens over de databaseverbinding bij te werken. Hiermee kunt u verbinding maken met uw SQL Server-instantie.

Om extra verbindingen met andere SQL-instanties tot stand te brengen, klikt u op het pictogram dat het venster voor een nieuwe databaseverbinding opent.

Hieronder kun je zien dat ik al een verbinding heb gemaakt met een bestaande SQL-instantie.

Nadat u verbinding hebt gemaakt met uw SQL Server-instanties, kunt u de databases bekijken die u van plan bent te kopiëren of over de instanties te verplaatsen. In deze demo gaan we de database test . kopiëren van de SQL-instantie:Boulcott naar Boulcott\INST2.

De test kopiëren database naar INST2, ga naar de Database Sync optie op het hoofdtabblad en klik op Database kopiëren .

Het venster Database kopiëren wordt geopend. Daar kunt u de details van de bron- en doelservers invoeren. In deze demo kopiëren we de database naar instanties die zich op dezelfde computer bevinden. U kunt de dbForge-tool ook gebruiken om databases over verschillende servers te kopiëren. Voer de servergegevens in zoals weergegeven, zorg ervoor dat de verbinding tot stand is gebracht en klik vervolgens op Volgende .

Als u klaar bent, verschijnt de lijst met beschikbare databases op de bronserver. Selecteer de database die u wilt kopiëren. In ons voorbeeld is dit de test databank. Selecteer de Kopiëren keuzevakje en klik op Volgende . Hier heb ik slechts één database geselecteerd om te kopiëren. Maar de tool is niet beperkt tot één database tegelijk, omdat we meerdere databases kunnen selecteren om tegelijkertijd te kopiëren of te verplaatsen.

Selecteer opties voor de doeldatabaselocatie

Zoals u kunt zien, kunnen de gegevens- en logbestandlocaties voor de doeldatabase worden gewijzigd in degene die u van plan was te gebruiken. De waarden worden automatisch gegenereerd, maar kunnen eenvoudig worden gewijzigd. De naam van de doeldatabase kan ook worden gewijzigd.

Klik op Volgende . Het venster Overdrachtinstellingen verschijnt. U moet ervoor zorgen dat het SQL Server Agent-account voldoende bevoegdheden heeft om de kopieerbewerking uit te voeren. Lees deze sectie zorgvuldig door, aangezien dit tot problemen kan leiden als het SQL Server Agent-account niet over de vereiste machtigingen beschikt. In mijn geval, aangezien de instanties zich binnen dezelfde server bevinden, is er geen vereiste voor een gedeelde mapmap. Er is echter een map met gedeelde mappen met voldoende machtigingen voor het SQL Agent-account vereist als u de database naar SQL-instanties op verschillende servers moet kopiëren. Als u klaar bent met de beoordeling, klikt u op Volgende .

Op het tabblad Aanmeldingen kopiëren kunt u de juiste optie kiezen op basis van uw vereisten. Standaard Kopieer alle aanmeldingen die door geselecteerde databases worden gebruikt is ingeschakeld. Maak de juiste keuze in uw geval, bekijk en klik op Volgende .

Voer het kopieerproces uit met dbForge Studio

De onderstaande schermafbeelding laat zien waar u het uitvoeringsproces voor de kopieertaak kunt starten. We hebben de mogelijkheid om te kiezen voor de soorten foutafhandeling die mogelijk zijn tijdens het uitvoeringsproces. Standaard een gebruiker vragen om een ​​actie is geselecteerd. In deze demo heb ik ook de optie ingeschakeld om een rapport naar een logbestand te schrijven wat handig zou zijn om met eventuele fouten om te gaan. Het foutenlogboek is vrij uitgebreid en geeft u de reden voor elke procesfout in detail. Als u klaar bent, klikt u op Uitvoeren optie die het uitvoeringsproces zal starten.

U kunt de voortgang van de uitvoeringstaak bekijken.

Kopieerproces voltooid

Zodra het proces is voltooid, ziet u deze melding die bevestigt dat het kopieerproces is voltooid.

Door op Logbestand weergeven . te klikken optie kunt u de details van de procesuitvoering en de status van de voltooide taken zien. U kunt meer kopieerbewerkingen uitvoeren door op de knop Meer kopiëren . te klikken optie.

Controleer doel-SQL-instantie

De volgende stap zou zijn om verbinding te maken met uw doel-SQL-instantie en te valideren dat de database wordt gekopieerd. Op de doel-SQL-instantie is er de test database die met succes is gekopieerd met dbForge Studio voor SQL Server.

Verplaats databases van bron- naar doel-SQL-instantie

Eerder konden we een database met succes kopiëren van de bronserver naar de doelserver. We kunnen deze tool en de vorige demo ook gebruiken als u in plaats daarvan databases moet verplaatsen.

Selecteer in het venster Databases selecteren de optie Verplaatsen optie.

Dit zou in feite de databases migreren van de bronserver naar de doelserver. Doorloop gewoon de eerder beschreven stappen. Ik had opzettelijk de SQL Server Agent op de doelserver gestopt en kreeg dit foutscherm te zien.

Wanneer u op Nee . klikt , u gaat naar de optie om de logbestanden te bekijken.

De knop Logbestand weergeven... brengt u naar het gedetailleerde logbestand waar de werkelijke oorzaak van de storing kan worden geïdentificeerd.

Hier ziet u precies de reden voor de mislukte bewerking. U zult ook zien dat er tijdens de uitvoering een SQL Agent-taak op de doelserver wordt gemaakt en kan worden bekeken.

Deze taak bestaat alleen voor de duur van het uitvoeringsproces en wordt verwijderd zodra het proces is voltooid. Maak verbinding met zowel de doel- als de bron-SQL-instanties om te bevestigen dat de databases inderdaad zijn verplaatst. De onderstaande schermafbeelding bevestigt dat de databases 1 en 2 met succes zijn verplaatst van de bronserver naar de doelserver.

Kopieer databases van de bron-SQL-instantie naar de doelinstantie en negeer

Tot nu toe hebben we databases gekopieerd en verplaatst van de bronserver naar de doelserver. Voer vervolgens een extra stap uit om de WideWorldImporters-databases te kopiëren en te negeren.

Dit proces is vergelijkbaar met de vorige stappen voor het kopiëren of verplaatsen van databases met slechts één extra stap om de override te selecteren optie.

Volg gewoon de rest van de stappen die vergelijkbaar zijn met wat eerder is gedaan en het proces zou slagen zodra het is voltooid. Om samen te vatten, met behulp van de Copy database optie in de dbForge Studio-tool, kunt u de volgende functies uitvoeren:

  • Kopieer databases van de bronserver naar de doelserver
  • Verplaats databases van de bronserver naar de doelserver
  • Kopieer en overschrijf databases van de bronserver naar de doelserver
  • Verplaats en overschrijf databases van de bronserver naar de doelserver

Conclusie

  • Met deze demo hebt u het gemak gezien waarmee een database van de ene SQL-instantie naar de andere kan worden gekopieerd met heel weinig gebruikersinvoer met dbForge Studio
  • Een ander voordeel van deze tool is dat meerdere databases tegelijk kunnen worden gekopieerd of verplaatst naar verschillende instanties
  • Er is zeer weinig technische expertise vereist om deze taken uit te voeren, aangezien de tool gebruiksvriendelijk en GUI-gebaseerd is
  • Deze tool kan erg handig zijn, vooral als u implementaties snel over verschillende serveromgevingen uitrolt en als de tijd een beperking is

Handig hulpmiddel:

dbForge Studio voor SQL Server – krachtige IDE voor beheer, administratie, ontwikkeling, gegevensrapportage en analyse van SQL Server.


  1. Zijn we klaar voor Nordic PGDay?

  2. MySQL Galera-clusterreplicatie gebruiken om een ​​geo-gedistribueerde cluster te maken:deel twee

  3. Methoden voor het instellen van NLS-parameters en hun prioriteiten (Oracle Database)

  4. Tips voor het upgraden van Percona XtraDB Cluster naar 8.0