< Back
Copy-DbaLinkedServer
Post
NAME Copy-DbaLinkedServer
SYNOPSIS
Copy-DbaLinkedServer migrates Linked Servers from one SQL Server to another. Linked Server logins and passwords
are migrated as well.
SYNTAX
Copy-DbaLinkedServer [-Source] <DbaInstanceParameter> [[-SourceSqlCredential] <Pscredential>] [-Destination]
<Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter[]> [[-DestinationSqlCredential] <Pscredential>]
[[-LinkedServer] <System.Object[]>] [[-ExcludeLinkedServer] <System.Object[]>] [-UpgradeSqlClient <Switch>]
[-Force <Switch>] [-EnableException <Switch>] [<CommonParameters>]
DESCRIPTION
By using password decryption techniques provided by Antti Rantasaari (NetSPI, 2014), this script migrates SQL
Server Linked Servers from one server to another, while maintaining username and password.
Credit: https://blog.netspi.com/decrypting-mssq ... passwords/
PARAMETERS
-Destination [<Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter[]>]
Destination SQL Server (2005 and above). You must have sysadmin access to both SQL Server and Windows.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-DestinationSqlCredential [<Pscredential>]
Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory -
Integrated are all supported.
For MFA support, please use Connect-DbaInstance.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-EnableException [<Switch>]
By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.
This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables
advanced scripting.
Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own
try/catch.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-ExcludeLinkedServer [<System.Object[]>]
The linked server(s) to exclude - this list is auto-populated from the server
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-Force [<Switch>]
By default, if a Linked Server exists on the source and destination, the Linked Server is not copied over.
Specifying -force will drop and recreate the Linked Server on the Destination server.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-LinkedServer [<System.Object[]>]
The linked server(s) to process - this list is auto-populated from the server. If unspecified, all linked
servers will be processed.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-Source [<DbaInstanceParameter>]
Source SQL Server (2005 and above). You must have sysadmin access to both SQL Server and Windows.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-SourceSqlCredential [<Pscredential>]
Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory -
Integrated are all supported.
For MFA support, please use Connect-DbaInstance.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-UpgradeSqlClient [<Switch>]
Upgrade any SqlClient Linked Server to the current Version
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer, PipelineVariable, and OutVariable. For more information, see
about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216).
INPUTS
OUTPUTS
NOTES
Tags: WSMan, Migration, LinkedServer
Author: Chrissy LeMaire (@cl), netnerds.net
Website: https://dbatools.io
Copyright: (c) 2018 by dbatools, licensed under MIT
License: MIT https://opensource.org/licenses/MIT
Requires: sysadmin access on SQL Servers
Limitations: This just copies the SQL portion. It does not copy files (i.e. a local SQLite database, or
Microsoft Access DB), nor does it configure ODBC entries.
-------------------------- EXAMPLE 1 --------------------------
PS C:\\>Copy-DbaLinkedServer -Source sqlserver2014a -Destination sqlcluster
Copies all SQL Server Linked Servers on sqlserver2014a to sqlcluster. If Linked Server exists on destination, it
will be skipped.
-------------------------- EXAMPLE 2 --------------------------
PS C:\\>Copy-DbaLinkedServer -Source sqlserver2014a -Destination sqlcluster -LinkedServer SQL2K5,SQL2k -Force
Copies over two SQL Server Linked Servers (SQL2K and SQL2K2) from sqlserver to sqlcluster. If the credential
already exists on the destination, it will be dropped.
RELATED LINKS
https://dbatools.io/Copy-DbaLinkedServer
SYNOPSIS
Copy-DbaLinkedServer migrates Linked Servers from one SQL Server to another. Linked Server logins and passwords
are migrated as well.
SYNTAX
Copy-DbaLinkedServer [-Source] <DbaInstanceParameter> [[-SourceSqlCredential] <Pscredential>] [-Destination]
<Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter[]> [[-DestinationSqlCredential] <Pscredential>]
[[-LinkedServer] <System.Object[]>] [[-ExcludeLinkedServer] <System.Object[]>] [-UpgradeSqlClient <Switch>]
[-Force <Switch>] [-EnableException <Switch>] [<CommonParameters>]
DESCRIPTION
By using password decryption techniques provided by Antti Rantasaari (NetSPI, 2014), this script migrates SQL
Server Linked Servers from one server to another, while maintaining username and password.
Credit: https://blog.netspi.com/decrypting-mssq ... passwords/
PARAMETERS
-Destination [<Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter[]>]
Destination SQL Server (2005 and above). You must have sysadmin access to both SQL Server and Windows.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-DestinationSqlCredential [<Pscredential>]
Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory -
Integrated are all supported.
For MFA support, please use Connect-DbaInstance.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-EnableException [<Switch>]
By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.
This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables
advanced scripting.
Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own
try/catch.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-ExcludeLinkedServer [<System.Object[]>]
The linked server(s) to exclude - this list is auto-populated from the server
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-Force [<Switch>]
By default, if a Linked Server exists on the source and destination, the Linked Server is not copied over.
Specifying -force will drop and recreate the Linked Server on the Destination server.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-LinkedServer [<System.Object[]>]
The linked server(s) to process - this list is auto-populated from the server. If unspecified, all linked
servers will be processed.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-Source [<DbaInstanceParameter>]
Source SQL Server (2005 and above). You must have sysadmin access to both SQL Server and Windows.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-SourceSqlCredential [<Pscredential>]
Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory -
Integrated are all supported.
For MFA support, please use Connect-DbaInstance.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-UpgradeSqlClient [<Switch>]
Upgrade any SqlClient Linked Server to the current Version
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer, PipelineVariable, and OutVariable. For more information, see
about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216).
INPUTS
OUTPUTS
NOTES
Tags: WSMan, Migration, LinkedServer
Author: Chrissy LeMaire (@cl), netnerds.net
Website: https://dbatools.io
Copyright: (c) 2018 by dbatools, licensed under MIT
License: MIT https://opensource.org/licenses/MIT
Requires: sysadmin access on SQL Servers
Limitations: This just copies the SQL portion. It does not copy files (i.e. a local SQLite database, or
Microsoft Access DB), nor does it configure ODBC entries.
-------------------------- EXAMPLE 1 --------------------------
PS C:\\>Copy-DbaLinkedServer -Source sqlserver2014a -Destination sqlcluster
Copies all SQL Server Linked Servers on sqlserver2014a to sqlcluster. If Linked Server exists on destination, it
will be skipped.
-------------------------- EXAMPLE 2 --------------------------
PS C:\\>Copy-DbaLinkedServer -Source sqlserver2014a -Destination sqlcluster -LinkedServer SQL2K5,SQL2k -Force
Copies over two SQL Server Linked Servers (SQL2K and SQL2K2) from sqlserver to sqlcluster. If the credential
already exists on the destination, it will be dropped.
RELATED LINKS
https://dbatools.io/Copy-DbaLinkedServer