Move-IpamDatabase

Move-IpamDatabase

Migrates the IPAM database to a SQL Server database.

Syntax

Parameter Set: MoveDatabaseConfig1
Move-IpamDatabase [-DatabaseServer] <String> [-DatabaseName] <String> [-DatabasePort] <UInt16> -DatabaseAuthType <AuthType> [-AsJob] [-CimSession <CimSession[]> ] [-DatabaseCredential <PSCredential> ] [-Force] [-PassThru] [-ThrottleLimit <Int32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Move-IpamDatabase cmdlet migrates the IP Address Management (IPAM) database to a Microsoft SQL Server database. You can migrate from Windows Internal Database (WID) or from a SQL Server database. The cmdlet creates a new IPAM schema and copies all data from the existing IPAM database. After the cmdlet completes copying data, it changes IPAM configuration settings to refer to the new database as the IPAM database. If you migrate from WID, the cmdlet renames the existing data and log files by appending a time stamp to the file names.

If the cmdlet cannot complete the migration for any reason, it returns an error and does not change the current database settings.

Verify that you can reach the database server from the IPAM server. Specify whether to connect to the destination server by using the account for the computer that hosts the IPAM server or by using a SQL Server database account. If you specify the IPAM server account, verify that the account has permissions necessary to write to the destination database. If the migration requires a new database, verify that the account has permissions to create and write to the database.

Use the Get-IpamDatabase cmdlet to view database configuration settings.

We recommend that you isolate the IPAM server and shut down all IPAM clients before you migrate a database.

NOTE: the collation of the source and destination databases should be the same. If the destination database is not present, this cmdlet creates a new database using the default collation for the destination SQL Server. This might cause errors if the default collation of the source SQL database is different. To avoid this, use the following steps to manually create the destination database.

Moving from WID to an external SQL Server

Create the destination database on external SQL Server by using the following command:

CREATE DATABASE [<DBName>] COLLATE <DB collation name>The parameter ‘DB collation name’ should be specified as SQL_LATIN1_GENERAL_CP1_CI_AS in this case.

Moving from one SQL Server database to another external SQL Server database

Read the collation of the existing database by using the following command:

SELECT collation_name FROM sys.databases WHERE name = N'<DBName>'

Create a new database on the destination SQL server by using the following command:

CREATE DATABASE [<DBName>] COLLATE <DB collation name>

Parameters

-AsJob

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CimSession<CimSession[]>

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Aliases

Session

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DatabaseAuthType<AuthType>

Specifies which type of authentication to use to connect to the computer that runs SQL Server. The acceptable values for this parameter are:

-- SQL. Use the database account. Specify this credential by using the DatabaseCredential parameter.
-- Windows. Use the account for the computer that runs the IPAM server.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DatabaseCredential<PSCredential>

Specifies credentials, as a PSCredential object, for the computer that runs SQL Server. To obtain a PSCredential object, use the Get-Credential cmdlet. For more information, type Get-Help Get-Credential.

Specify this parameter if you specified a value of SQL for the DatabaseAuthType parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DatabaseName<String>

Specifies the name of a SQL Server database. The cmdlet migrates the IPAM database to this database. If the database does not exist, IPAM creates a database that has this name on the destination server.

Aliases

none

Required?

true

Position?

3

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DatabasePort<UInt16>

Specifies the port that the IPAM server uses to connect to the database server.

Aliases

none

Required?

true

Position?

4

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DatabaseServer<String>

Specifies the fully qualified domain name (FQDN) or IP address of the database server. The cmdlet migrates the IPAM database to this server.

Aliases

none

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Force

Forces the command to run without asking for user confirmation.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PassThru

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ThrottleLimit<Int32>

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

Examples

Example 1: Move an IPAM database

This example moves an IPAM database to a database named IpamDB1 on a database server named ContosoDB22.

The first command uses the Get-IpamDatabase cmdlet to get the database configuration information. The console displays configuration information, including the type of database, WID.

PS C:\> Get-IpamDatabase

The second command moves the IPAM data to a database named IpamDB1 on the server named ContosoDB22. The database uses port 1433. The command specifies Windows as the authentication type, so the command uses credentials for the IPAM server. The cmdlet prompts you for confirmation.

PS C:\> Move-IpamDatabase -DatabaseServer "ContosoDB22" -DatabaseName "IpamDB1" -DatabasePort 1433 -DatabaseAuthType Windows

The third command repeats the first command. The console displays configuration information, including the type of database, now MSSQL. The database now has values for DatabaseServer, DatabaseName, and DatabasePort, as specified in the second command.

PS C:\> Get-IpamDatabase

Get-IpamDatabase

Set-IpamDatabase