2017-06-21 1 views
0

Wie kann ich meine Instanz in SQL Server duplizieren?Doppelte Instanzen auf SQL-Server

Ich möchte eine Testinstanz auf meinem Server nur zu Testzwecken haben, anstatt alle Tests auf die echten Daten anzuwenden.

ist es möglich, eine neue Instanz zu erstellen und dieselben Daten und Benutzer mit Berechtigungen für eine neue Instanz zu kopieren?

Oder gibt es einen anderen Weg als VM, weil meine DB läuft und von einem anderen Benutzer benutzt wird, aber ich möchte meine Testumgebung machen, ohne andere Benutzer zu stören. Und das alles auf demselben Server.

+0

Ja, es ist möglich, eine Testinstanz auf demselben Server zu erstellen – TheGameiswar

+0

Installieren Sie einfach den SQL Server vom Installer und stellen Sie, wenn Sie zum Beispiel gefragt werden, einen neuen Instanznamen zur Verfügung. Daten und Benutzer können kopiert werden. –

+0

Hoffe, diese Informationen von Microsoft hilft: https://docs.microsoft.com/en-us/sql/sql-server/install/work-with-multiple-versions-and-instances-of-sql-server –

Antwort

2

Sie können entweder eine neue Instanz installieren, indem Sie das Installationsprogramm erneut starten, oder einfach dieselbe Instanz verwenden und eine Sicherung Ihrer Produktdatenbank in einer Testdatenbank wiederherstellen.

0

Ja, Sie können es tun. Nur create new instance, und dann stellen Sie Ihre Prod. Datenbank für diese Instanz. Möglicherweise müssen Sie dort Benutzer erstellen.

Folgendes hilft beim Erstellen von Benutzern und deren Zuordnung zu Benutzern in DB.

USE [master] 
GO 
CREATE LOGIN [myDBUser] WITH PASSWORD=N'myPassword' MUST_CHANGE, DEFAULT_DATABASE=[myDB], CHECK_EXPIRATION=ON, CHECK_POLICY=ON 
GO 
USE mdb 
exec sp_change_users_login @Action = 'Update_One',@UserNamePattern = 'myDBUser', @LoginName = 'myDBUser' 
+0

Ich spreche von 150 DBs, so dass jeder kopieren wird viel Zeit brauchen. – NFAL

+0

der DB ist 100 GB. Wie kann ich den gesamten INSTANCE mit allem und Benutzern (LDAP) sichern ??? – NFAL

+0

Sie sind DB-Administrator. Sie wissen, wie man Skripte schreibt. BACKUP DATABASE-Datenbank TO backup_device [, ... n] [WITH with_options [, ... o]]; Und bezüglich der Benutzer. Sie sind an zwei Stellen definiert - in der Datenbank selbst und die Sicherung wird sich darum kümmern und in der Instanz, für die der obige Befehl nützlich ist, da sie eine Zuordnung zwischen dem Benutzer in der DB und dem Benutzer im Server erzeugt. Vor allem, wenn der Serverbenutzer nicht existiert.AFAIK - BACKUP INSTANCE gibt es nicht. Aber [Backup aller Datenbanken] (https://www.mssqltips.com/sqlservertip/1070/simple-script-to-backup-all-sql-server-databases/) kann nützlich sein. –

0

Sie können Start-SqlMigration Power Commandlet diese Arbeit mit DBATools des automatisieren.

Allerdings warne ich davor, sowohl die Produktion & der Test-Instanzen auf der gleichen physischen Hardware zu laufen, als Sie die Produktion Instanz von Ressourcen verhungern werden.

1

ohne andere Benutzer zu stören

Diese Anforderung allein bedeutet, dass Sie Ihre Instanz auf einem anderen Computer oder VM muss laufen. Sie können nicht erwarten, dass eine Instanz auf einem Server verwaltet wird, ohne dass bestimmte Dinge den Server als Ganzes und jede andere Instanz, die darauf ausgeführt wird, beeinflussen. (z. B. Neustarts zum Patchen oder zur Fehlerbehebung)

Es gibt keinen Grund, wenn Sie die Ressourcen nicht nur auf eine andere VM setzen, sondern alles hängt davon ab, was Sie testen möchten (z. B. Einheits-, Integrations- oder Leistungstests).

In Bezug auf die Duplizierung Ihres Servers können Sie dbatools verwenden. Die würde die Arbeit durchführen, um die wichtigsten Teile zu bringen. Um dies zu vereinfachen, können Sie sicherstellen, dass Ihre neue SQL Server-Instanz dieselbe Laufwerkkonfiguration aufweist.