< Back
Sync-DbaLoginPermission
Post
NAME Sync-DbaLoginPermission
SYNOPSIS
Copies SQL login permissions from one server to another.
SYNTAX
Sync-DbaLoginPermission [-Source] <DbaInstanceParameter> [[-SourceSqlCredential] <Pscredential>] [-Destination]
<Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter[]> [[-DestinationSqlCredential] <Pscredential>]
[[-Login] <System.String[]>] [[-ExcludeLogin] <System.String[]>] [-EnableException <Switch>] [<CommonParameters>]
DESCRIPTION
Syncs only SQL Server login permissions, roles, etc. Does not add or drop logins. If a matching login does not
exist on the destination, the login will be skipped. Credential removal is not currently supported for this
operation.
PARAMETERS
-Destination [<Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter[]>]
Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.
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
-ExcludeLogin [<System.String[]>]
The login(s) to exclude. Options for this list are auto-populated from the server.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-Login [<System.String[]>]
The login(s) to process. Options for this list are auto-populated from the server. If unspecified, all logins
will be processed.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-Source [<DbaInstanceParameter>]
Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.
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
<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: Migration, Login
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
-------------------------- EXAMPLE 1 --------------------------
PS C:\\>Sync-DbaLoginPermission -Source sqlserver2014a -Destination sqlcluster
Syncs only SQL Server login permissions, roles, etc. Does not add or drop logins or users. To copy logins and
their permissions, use Copy-SqlLogin.
-------------------------- EXAMPLE 2 --------------------------
PS C:\\>Sync-DbaLoginPermission -Source sqlserver2014a -Destination sqlcluster -Exclude realcajun
-SourceSqlCredential $scred -DestinationSqlCredential $dcred
Copies all login permissions except for realcajun using SQL Authentication to connect to each server. If a login
already exists on the destination, the permissions will not be migrated.
-------------------------- EXAMPLE 3 --------------------------
PS C:\\>Sync-DbaLoginPermission -Source sqlserver2014a -Destination sqlcluster -Login realcajun, netnerds
Copies permissions ONLY for logins netnerds and realcajun.
RELATED LINKS
https://dbatools.io/Sync-DbaLoginPermission
SYNOPSIS
Copies SQL login permissions from one server to another.
SYNTAX
Sync-DbaLoginPermission [-Source] <DbaInstanceParameter> [[-SourceSqlCredential] <Pscredential>] [-Destination]
<Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter[]> [[-DestinationSqlCredential] <Pscredential>]
[[-Login] <System.String[]>] [[-ExcludeLogin] <System.String[]>] [-EnableException <Switch>] [<CommonParameters>]
DESCRIPTION
Syncs only SQL Server login permissions, roles, etc. Does not add or drop logins. If a matching login does not
exist on the destination, the login will be skipped. Credential removal is not currently supported for this
operation.
PARAMETERS
-Destination [<Sqlcollaborative.Dbatools.Parameter.DbaInstanceParameter[]>]
Destination SQL Server. You must have sysadmin access and the server must be SQL Server 2000 or higher.
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
-ExcludeLogin [<System.String[]>]
The login(s) to exclude. Options for this list are auto-populated from the server.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-Login [<System.String[]>]
The login(s) to process. Options for this list are auto-populated from the server. If unspecified, all logins
will be processed.
Required? false
Position? named
Default value
Accept pipeline input? False
Accept wildcard characters? false
-Source [<DbaInstanceParameter>]
Source SQL Server. You must have sysadmin access and server version must be SQL Server version 2000 or higher.
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
<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: Migration, Login
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
-------------------------- EXAMPLE 1 --------------------------
PS C:\\>Sync-DbaLoginPermission -Source sqlserver2014a -Destination sqlcluster
Syncs only SQL Server login permissions, roles, etc. Does not add or drop logins or users. To copy logins and
their permissions, use Copy-SqlLogin.
-------------------------- EXAMPLE 2 --------------------------
PS C:\\>Sync-DbaLoginPermission -Source sqlserver2014a -Destination sqlcluster -Exclude realcajun
-SourceSqlCredential $scred -DestinationSqlCredential $dcred
Copies all login permissions except for realcajun using SQL Authentication to connect to each server. If a login
already exists on the destination, the permissions will not be migrated.
-------------------------- EXAMPLE 3 --------------------------
PS C:\\>Sync-DbaLoginPermission -Source sqlserver2014a -Destination sqlcluster -Login realcajun, netnerds
Copies permissions ONLY for logins netnerds and realcajun.
RELATED LINKS
https://dbatools.io/Sync-DbaLoginPermission