Benutzer exportieren/importieren

15. Mai 2017 11:13

Hallo,

da wir in der Migrationsphase regelmäßig eine neue Datenmigration über eine „frische“ SQL-Datenbank erhalten, muss ich jedes Mal alle User neu anlegen. Rechte und Gruppen kann ich ja zum Glück ex- und wieder importieren. Gibt das nicht auch für Benutzer?

P:S: Mit RapidStart wahrscheinlich? Aber ein XML-Export wäre mir lieber

Gruß
Peter

Re: Benutzer exportieren/importieren

15. Mai 2017 13:11

Einen XMLport für User Groups (9000) gibt es ja schon, den kann man kopieren und für User umarbeiten.

Alternativ kann man auch per PowerShell User stapelweise anlegen : New-NAVServerUser

Re: Benutzer exportieren/importieren

15. Mai 2017 14:27

Hallo,

wenn die vorheringe Migrations-DB existiert, dann können alle Benutzer und die dazugehörigen Einstellungen per SQL-Skript in die neue DB übernommen werden.

Gruß

Michael

Re: Benutzer exportieren/importieren

15. Mai 2017 14:30

Hallo Michael,

hört sich gut an. Hast Du so ein Script?:-)

Gruß
Peter

Re: Benutzer exportieren/importieren

16. Mai 2017 08:28

Hallo,

dies wäre ein exemplarisches Skript dafür. Es kann beliebig (z.B. durch [User Setup] Tabelle) erweitert werden.

Code:
-- Restore Users and user data from previous upgrade db

DELETE FROM [NewMigDB].[dbo].[Permission Set]

INSERT INTO [NewMigDB].[dbo].[Permission Set]
           ([Role ID]
           ,[Name])
   SELECT [Role ID]
        ,[Name]
     FROM [PrevMigDB].[dbo].[Permission Set]

DELETE FROM [NewMigDB].[dbo].[Permission]

INSERT INTO [NewMigDB].[dbo].[Permission]
           ([Role ID]
           ,[Object Type]
           ,[Object ID]
           ,[Read Permission]
           ,[Insert Permission]
           ,[Modify Permission]
           ,[Delete Permission]
           ,[Execute Permission]
           ,[Security Filter])
   SELECT [Role ID]
        ,[Object Type]
        ,[Object ID]
        ,[Read Permission]
        ,[Insert Permission]
        ,[Modify Permission]
        ,[Delete Permission]
        ,[Execute Permission]
        ,[Security Filter]
     FROM [PrevMigDB].[dbo].[Permission]



DELETE FROM [NewMigDB].[dbo].[User]

INSERT INTO [NewMigDB].[dbo].[User]
           ([User Security ID]
           ,[User Name]
           ,[Full Name]
           ,[State]
           ,[Expiry Date]
           ,[Windows Security ID]
           ,[Change Password]
           ,[License Type]
           ,[Authentication Email])
   SELECT [User Security ID]
        ,[User Name]
        ,[Full Name]
        ,[State]
        ,[Expiry Date]
          ,[Windows Security ID]
        ,[Change Password]
        ,[License Type]
        ,[Authentication Email]
     FROM [PrevMigDB].[dbo].[User]


DELETE FROM [NewMigDB].[dbo].[Access Control]

INSERT INTO [NewMigDB].[dbo].[Access Control]
           ([User Security ID]
           ,[Role ID]
           ,[Company Name])
   SELECT [User Security ID]
        ,[Role ID]
        ,[Company Name]
     FROM [PrevMigDB].[dbo].[Access Control]


DELETE FROM [NewMigDB].[dbo].[User Metadata]

INSERT INTO [NewMigDB].[dbo].[User Metadata]
           ([User SID]
           ,[Page ID]
           ,[Personalization ID]
           ,[Date]
           ,[Time]
           ,[Page Metadata Delta])
   SELECT [User SID]
        ,[Page ID]
        ,[Personalization ID]
        ,[Date]
        ,[Time]
        ,[Page Metadata Delta]
     FROM [PrevMigDB].[dbo].[User Metadata]

DELETE FROM [NewMigDB].[dbo].[Page Data Personalization]
INSERT INTO [NewMigDB].[dbo].[Page Data Personalization]
           ([User SID]
           ,[Object Type]
           ,[Object ID]
           ,[Personalization ID]
           ,[ValueName]
           ,[Date]
           ,[Time]
           ,[Value])
   SELECT [User SID]
        ,[Object Type]
        ,[Object ID]
        ,[Personalization ID]
        ,[ValueName]
        ,[Date]
        ,[Time]
        ,[Value]
     FROM [PrevMigDB].[dbo].[Page Data Personalization]


DELETE FROM [NewMigDB].[dbo].[User Property]

INSERT INTO [NewMigDB].[dbo].[User Property]
           ([User Security ID]
           ,[Password]
           ,[Name Identifier]
           ,[Authentication Key]
           ,[WebServices Key]
           ,[WebServices Key Expiry Date]
           ,[Authentication Object ID])
   SELECT [User Security ID]
        ,[Password]
        ,[Name Identifier]
        ,[Authentication Key]
        ,[WebServices Key]
        ,[WebServices Key Expiry Date]
        ,[Authentication Object ID]
     FROM [PrevMigDB].[dbo].[User Property]


DELETE FROM [NewMigDB].[dbo].[Profile]

INSERT INTO [NewMigDB].[dbo].[Profile]
           ([Profile ID]
           ,[Description]
           ,[Role Center ID]
           ,[Default Role Center]
           ,[Use Comments]
           ,[Use Notes]
           ,[Use Record Notes]
           ,[Record Notebook]
           ,[Use Page Notes]
           ,[Page Notebook]
           ,[Disable Personalization])
   SELECT [Profile ID]
        ,[Description]
        ,[Role Center ID]
        ,[Default Role Center]
        ,[Use Comments]
        ,[Use Notes]
        ,[Use Record Notes]
        ,[Record Notebook]
        ,[Use Page Notes]
        ,[Page Notebook]
        ,[Disable Personalization]
     FROM [PrevMigDB].[dbo].[Profile]


DELETE FROM [NewMigDB].[dbo].[User Personalization]

INSERT INTO [NewMigDB].[dbo].[User Personalization]
           ([User SID]
           ,[Profile ID]
           ,[Language ID]
           ,[Company]
           ,[Debugger Break On Error]
           ,[Debugger Break On Rec Changes]
           ,[Debugger Skip System Triggers])
   SELECT [User SID]
        ,[Profile ID]
        ,[Language ID]
        ,[Company]
        ,[Debugger Break On Error]
        ,[Debugger Break On Rec Changes]
        ,[Debugger Skip System Triggers]
     FROM [PrevMigDB].[dbo].[User Personalization]

DELETE FROM [NewMigDB].[dbo].[Profile Metadata]

INSERT INTO [NewMigDB].[dbo].[Profile Metadata]
           ([Profile ID]
           ,[Page ID]
           ,[Personalization ID]
           ,[Date]
           ,[Time]
           ,[Page Metadata Delta])
   SELECT [Profile ID]
        ,[Page ID]
        ,[Personalization ID]
        ,[Date]
        ,[Time]
        ,[Page Metadata Delta]
     FROM [PrevMigDB].[dbo].[Profile Metadata]


-- Restore Client Add-in
DELETE FROM [NewMigDB].[dbo].[Add-in]

INSERT INTO [NewMigDB].[dbo].[Add-in]
         ([Add-in Name]
         ,[Public Key Token]
         ,[Version]
         ,[Category]
         ,[Description]
         ,[Resource])
   SELECT [Add-in Name]
         ,[Public Key Token]
         ,[Version]
         ,[Category]
         ,[Description]
         ,[Resource]
      FROM [PrevMigDB].[dbo].[Add-in]

GO


Gruß

Michael

Re: Benutzer exportieren/importieren

16. Mai 2017 09:14

Wenn man das direkt auf dem SQL-Server machen möchte, geht es alternativ auch mit dem dortigen Import/Export-Assistenten (über Tasks>Daten exportieren), der Daten zwischen Datenbanktabellen kopieren kann.
CopyUser.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.