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?


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.


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!


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

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.