ฉันจะถ่ายโอนข้อมูลเข้าสู่ระบบจาก 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 Bertrand

@Aaron ที่ดูดีมากในแวบแรกขอบคุณ
แจ็คบอกว่าลอง topanswers.xyz

1
@Aaron ฉันลงเอยด้วยการใช้สิ่งนี้ซึ่งเป็นสิ่งเดียวกัน ขอบคุณที่ชี้นำฉันในทิศทางที่ถูกต้อง
แจ็คบอกว่าลอง topanswers.xyz

คำตอบ:


8

ในการถ่ายโอนการเข้าสู่ระบบคุณจะต้องใช้สคริปต์และขั้นตอนsp_help_revlogin การทำเช่นนี้จะช่วยให้คุณสามารถโอนการเข้าสู่ระบบและเก็บรหัสผ่านจากบนไปยังอีกอินสแตนซ์


ฉันเคยไปที่หน้านั้น แต่ฉันไม่เข้าใจอย่างชัดเจน วิธีที่ 3 กล่าวว่า "สร้างสคริปต์การเข้าสู่ระบบที่มีรหัสผ่านว่างเปล่า" ดังนั้นสมมุติว่าไม่ใช่หรือ
แจ็คบอกว่าลอง topanswers.xyz

1
@JackDouglas ไม่แน่ใจว่าวลีนั้นหมายถึงอะไร แต่คุณเพียงแค่สร้างโพรซีเดอร์ที่เก็บไว้สองตัวบนเซิร์ฟเวอร์ต้นทางและในท้ายที่สุดเพียงแค่เรียกใช้ sp_help_revlogin ใช้เอาท์พุตจาก SSMS และดำเนินการบนเซิร์ฟเวอร์ใหม่ คุณจะได้เข้าสู่ระบบของคุณสร้างขึ้นใหม่ด้วย pwds ที่ถูกต้อง
แมเรียน

ฉันได้ทดสอบสิ่งนี้บน SQL 2014 แต่ไม่ทำงานวิธีเดียวกันนี้ใช้ได้จนถึง sql 2012 ที่ได้กล่าวถึงในsupport.microsoft.com/kb/91899
Iman Abidi

ฉันทดสอบแล้วsp_help_revloginแต่ใช้งานไม่ได้ใน SQL 2014 SP1 CU1 (12.0.4416) บทความ KB นี้กล่าวถึงว่าสามารถใช้งานได้จนถึง SQL Server 2012
Iman Abidi

6

ฉันไม่สามารถรอให้ทุกคนเรียนรู้เกี่ยวกับสิ่งนี้:

https://dbatools.io/

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

โดยย่อ: ติดตั้งสคริปต์ dbatools Powershell

ตอนนี้คุณมีชุดคำสั่งที่ยอดเยี่ยมที่ไม่เพียง แต่คัดลอกผู้ใช้ 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.#>

แจ้งให้เราทราบหากคุณต้องการความช่วยเหลือ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.