Como transfiro logins de 2008R2 para 2014 com senhas?

12

Eu tentei Tasks> Generate Scripts...e defina 'Script Logins' nas Opções avançadas de script, mas recebo isso na saída:

/* For security reasons the login is created disabled and with a random password. */

Existe uma maneira simples de script desses logons com senhas ou outra maneira de transferir logins de uma instância 2008R2 para uma instância de 2014?

Jack diz que tenta topanswers.xyz
fonte
4
sqlsoldier.com/wp/sqlserver/… (apenas ignore as referências de espelhamento - isso funciona para mover qualquer logon entre qualquer instância).
Aaron Bertrand
@ Aaron, que parece muito agradável à primeira vista, obrigado.
Jack diz que tente topanswers.xyz 19/04
1
@ Aaron Acabei usando isso, que é basicamente a mesma coisa. Obrigado por me apontar na direção certa.
Jack diz que tente topanswers.xyz 19/04

Respostas:

8

Para transferir logins, você precisará usar o script e o procedimento sp_help_revlogin . Isso permitirá que você transfira logons e retenha a senha de uma instância para outra.

Mike Fal
fonte
Estive nessa página, mas evidentemente não a entendo. O método 3 diz "Criar um script de logon que tenha uma senha em branco", presumivelmente não é?
Jack diz que tente topanswers.xyz 19/04
1
@JackDouglas Não sabe o que significa essa frase, mas você só precisa criar esses dois procedimentos armazenados no servidor de origem e, no final, executar sp_help_revlogin, pegar sua saída do SSMS e executá-la no novo servidor. Você terá seus logins recriados com os pwds corretos.
Marian
Eu testei isso no SQL 2014, mas não funcionar, o mesmo método funciona até sql 2012. Também mencionado no support.microsoft.com/kb/91899
Iman Abidi
Eu testei, sp_help_revloginmas ele não funciona no SQL 2014 SP1 CU1 (12.0.4416). Este artigo KB menciona que ele funciona até que o SQL Server 2012.
Iman Abidi
6

Mal posso esperar para que todos aprendam sobre isso:

https://dbatools.io/

https://blog.netnerds.net/2016/06/its-2016-why-is-sp_help_revlogin-a-thing/

Resumindo: instale os scripts do dbatools Powershell.

Agora você tem um conjunto maravilhoso de comandos que não podem apenas copiar usuários, senhas, permissões, etc; mas também um conjunto exaustivo de comandos para copiar bancos de dados, trabalhos e até instâncias inteiras: D

Exemplo de uso:

Copy-DbaLogin -Source sqlsvr2000 -Destination newsql2016

ou:

Export-DbaLogin -SqlServer sql2005 -FileName C:\temp\sql2005-logins.sql

Felicidades!

CyDharttha
fonte
1

você ainda pode usar o script e o procedimento sp_help_revlogin para o SQL 2014, conforme respondido anteriormente ( como transferir logons e senhas entre instâncias do SQL Server ). Mas ele precisa de modificações manuais (ampliando o comprimento das variáveis ​​de valor de hash):

  • substituir 256 -> 512
  • substituir 514 -> 1028
  • substituir 1024 -> 2048
miha
fonte
0

Sim, você pode usar o Powershell usando vários módulos:

1- Usando o DBATools: Open Powershell

<# Install-Module dbatools#> #only if not installed

<# Load the module#>

Import-module dbatools

export-dbalogin -SqlInstance ServerName f:\floginsdba.txt

2- Usando o módulo SQLSERVER:

<# Install-Module sqlserver#> #only if not installed

<# Load the module#>

Import-module sqlserver

cd sqlserver:\serverA\default\logins   # replace the default with any named Inst

dir | %{$_.script()}                   

<# For security, it will create disabled  logins and hashed passwords for sql logins.#>

Deixe-me saber se você precisar de alguma ajuda.

Kaawach Said
fonte