Як я можу передати логіни з 2008R2 на 2014 рік за допомогою паролів?


12

Я спробував Tasks> Generate Scripts...і встановив 'Вхід до сценарію' у Розширених параметрах сценаріїв, але я отримую це у висновку:

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

Чи є простий спосіб скриптування цих логінів паролями чи інший спосіб перенесення логінів з екземпляра 2008R2 в екземпляр 2014 року?


4
sqlsoldier.com/wp/sqlserver/… (просто ігноруйте дзеркальні посилання - це працює для переміщення будь-яких входів між будь-якими екземплярами).
Аарон Бертран

@Aaron, що виглядає дуже приємно на перший погляд, дякую.
Джек каже, спробуйте topanswers.xyz

1
@Aaron Я в кінцевому рахунку використовував це, в основному те саме. Дякую, що вказали на мене в правильному напрямку.
Джек каже, спробуйте topanswers.xyz

Відповіді:


8

Для передачі входів вам потрібно буде використовувати сценарій і процедуру sp_help_revlogin . Це дозволить вам перенести логіни та зберегти пароль від примірника до іншого.


Я був на цій сторінці, але я, очевидно, її не розумію. Метод 3 говорить "Створити журнал у скрипті з порожнім паролем", так що, мабуть, це не так?
Джек каже, спробуйте topanswers.xyz

1
@JackDouglas Не впевнений, що означає ця фраза, але вам просто потрібно створити ці дві збережені процедури на вихідному сервері і, врешті-решт, просто виконати sp_help_revlogin, взяти його вихід із SSMS та виконати його на новому сервері. У вас будуть відтворені ваші входи за допомогою правильних файлів.
Мар’ян

я перевірив це на SQL 2014, але не працює, той самий метод працює до sql 2012. Також згадується у support.microsoft.com/kb/91899
Іман Абіді

Я протестував, sp_help_revloginале він не працює в SQL 2014 SP1 CU1 (12.0.4416). У цій статті KB згадується, що вона працює до SQL Server 2012.
Іман Абіді

6

Я не можу чекати, коли всі дізнаються про це:

https://dbatools.io/

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

Коротше кажучи: встановіть сценарії Powershell dbatools.

Тепер у вас є чудовий набір команд, який може не лише копіювати користувачів SQL, паролі, дозволи тощо; але також вичерпний набір команд для копіювання баз даних, завдань, навіть цілих примірників: D

Приклад використання:

Copy-DbaLogin -Source sqlsvr2000 -Destination newsql2016

або:

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

Ура!


1

ви все ще можете використовувати скрипт sp_help_revlogin та процедуру для SQL 2014, як відповіли раніше ( Як передавати логіни та паролі між екземплярами SQL Server ). Але для цього потрібні ручні модифікації (збільшення довжини змінних хеш-значень):

  • замінити 256 -> 512
  • замінити 514 -> 1028
  • замінити 1024 -> 2048

0

Так, Ви можете через Powershell, використовуючи різні модулі:

1- Використання DBATools: Відкрийте Powershell

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

<# Load the module#>

Import-module dbatools

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

2- Використання модуля 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.#>

Повідомте мене, якщо вам потрібна допомога.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.