วิธีลบรายการ“ ชื่อเซิร์ฟเวอร์” ออกจากประวัติของ SQL Server Management Studio


173

เมื่อพยายามเชื่อมต่อกับเซิร์ฟเวอร์ใน Management Studio (เฉพาะปี 2008) จะมีฟิลด์ที่คุณป้อนชื่อเซิร์ฟเวอร์ ฟิลด์นั้นยังมีรายการแบบหล่นลงซึ่งจะแสดงประวัติของเซิร์ฟเวอร์ที่คุณพยายามเชื่อมต่อด้วย

ผมอยากจะรู้ว่า:

  1. วิธีลบรายการแต่ละรายการออกจากประวัติ
  2. วิธีลบรายการออกจากประวัติฟิลด์ล็อกอินสำหรับแต่ละชื่อเซิร์ฟเวอร์

ขอบคุณ!

ssms 

3
ดูคำตอบของฉันสำหรับ UI เล็ก ๆ ที่ฉันเขียนเพื่อทำสิ่งนี้ฉันมาสายไปงานเลี้ยงเล็กน้อยดังนั้นคำตอบของฉันจึงอยู่ด้านล่างสุด
ทำเครื่องหมาย

1
ซน. ครั้งต่อไปใช้โหมดไม่ระบุตัวตนหากคุณกำลังจะค้นหาฐานข้อมูลซึ่งหลบใด ๆ
พันเอก Panic

ติดตั้งเครื่องมือทุกอย่างแล้วค้นหาไฟล์ mru.dat และลบมัน
KhaledDev

คำตอบ:


138

ตั้งแต่ SQL Server 2012 คุณไม่ต้องยุ่งยากกับการลบไฟล์ bin อีกต่อไป (ซึ่งเป็นสาเหตุของผลข้างเคียงอื่น ๆ ) คุณควรจะสามารถกดปุ่มลบภายในรายการ MRU ของชื่อเซิร์ฟเวอร์ดรอปดาวน์ในไดอะล็อกเชื่อมต่อกับเซิร์ฟเวอร์ นี่คือเอกสารในรายการเชื่อมต่อนี้และโพสต์บล็อกนี้

โปรดทราบว่าหากคุณมีหลายรายการสำหรับชื่อเซิร์ฟเวอร์เดียว (เช่นรายการที่มี Windows และรายการที่มี SQL Auth) คุณจะไม่สามารถบอกได้ว่าคุณกำลังลบรายการใด


ด้วย SSMS 11.0.3128.0 สิ่งนี้ไม่ทำงาน มันได้รับการผสมเพราะพฤติกรรมนำไปสู่ ​​UX ที่ไม่ดี?
JoeBrockhaus

6
@JoeBrockhaus ทำงานร่วมกับ 11.0.5058.0 เพียงแค่เปิดเมนูแบบเลื่อนลงเลื่อนการเลือกไปยังชื่อที่คุณต้องการลบแล้วกดปุ่ม Delete หากคุณมีหลายรายการคุณสามารถเลือกรายการเพื่อให้ ComboBox ปิดตรวจสอบว่ามันเป็นรายการที่คุณต้องการจากนั้นกดปุ่มเปิดบน ComboBox และกดลบ (รายการที่เลือกในปัจจุบันจะถูกลบ)
Trisped

5
อย่างจริงจัง? ทำไมฉันไม่ลองก่อน ฮ่าฮ่า สำหรับผู้ที่สนใจฉันสามารถยืนยันผลงานนี้ใน SSMS 2014
Jargs

3
ทำงานได้ดีในปี 2559 เช่นกัน ขอบคุณ! ฉันมีชื่อผู้ใช้แคชที่ไม่ถูกต้องและสิ่งนี้ได้รับการแก้ไข
ชาร์ล

1
ไม่แน่ใจว่าฉันรู้สึกอย่างไรเกี่ยวกับ "การชี้เคอร์เซอร์" เพื่อเลือกเป้าหมายของคีย์ลบ แต่ขอบคุณมันใช้งานได้
linhartr22

69

สำหรับ SQL 2005 ให้ลบไฟล์:

C:\Documents and Settings\<USER>\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

สำหรับ SQL 2008 ตำแหน่งไฟล์รูปแบบและชื่อเปลี่ยนแปลง:

C:\Documents and Settings\<USER>\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

วิธีล้างรายการ:

  1. ปิดอินสแตนซ์ทั้งหมดของ SSMS
  2. ลบ / เปลี่ยนชื่อไฟล์
  3. เปิด SSMS

คำขอนี้ลงทะเบียนใน Microsoft Connect


1
ฉันเปิด SqlStudio.bin ไฟล์มีขนาดใหญ่ดูเหมือนว่าเป็นไปได้ที่มีข้อมูลอื่น ๆ สิ่งที่จะหายไปกว่าประวัติการเชื่อมต่อ?
Cheung

4
ไฟล์มีการตั้งค่าผู้ใช้ - ทุกอย่างที่คุณกำหนดจะหายไป หากคุณมีทักษะ. Net หรือ Powershell ให้ดูที่คำตอบนี้stackoverflow.com/questions/6230159/…
ราชาเพิ่มเติม

5
ใน Widnows 7 อยู่ภายใต้ C: \ Users \ <USER> \ AppData \ Roaming \ Microsoft \ Microsoft SQL Server \ 100 \ Tools \ Shell SQL
Marwan

1
น่าเสียดายที่ฉันไม่สามารถลบกลุ่มของเซิร์ฟเวอร์ได้อย่างแน่นอนไม่ได้ตั้งค่าผู้ใช้ทั้งหมดของฉัน
Johnny_D

2
ดำเนินการด้วยความระมัดระวัง สิ่งนี้ไม่ได้ทำในสิ่งที่ OP ขอมาซึ่งเป็นการลบแต่ละรายการ สิ่งนี้จะพัดพาไอเท็มทั้งหมดและค่ากำหนดอื่น ๆ ด้วย
แอรอนเบอร์ทรานด์

68

นี่เป็นวิธีที่ง่ายที่สุดในการล้างรายการจากรายการนี้

  1. เปิดเวอร์ชันMicrosoft SQL Server Management Studio (SSMS) ที่คุณต้องการส่งผลกระทบ
  2. เปิดไดอะล็อกเชื่อมต่อกับเซิร์ฟเวอร์ (ไฟล์ -> เชื่อมต่อ Object Explorer, Object Explorer-> เชื่อมต่อ -> โปรแกรมฐานข้อมูลเป็นต้น)
  3. คลิกที่ฟิลด์ชื่อเซิร์ฟเวอร์เลื่อนลงลูกศรลงรายการ
  4. วางเมาส์เหนือรายการที่คุณต้องการลบ
  5. กดปุ่มลบ (DEL)บนแป้นพิมพ์ของคุณ

เราจะไปที่นั่น.


4
ทำงานร่วมกับ SQLServer 2014
jomarmen

1
ทำงานร่วมกับ SQL Server 2016 Management Studio
Poosh

2
BOOM! ทำงานร่วมกับ SQL Server Management Studio 17.9.1
edcincy

2
อะไรกันเนี่ย! ฉันอ่านมันและเป็นเหมือนอะไร! ใครจะคาดเดาสิ่งนี้ได้โดยสัญชาตญาณ ฉันพยายามแล้วก็ใช้งานได้ UX ไม่ใช่จุดแข็งของ Microsoft
DinoSaadeh

1
แม่ศักดิ์สิทธิ์ !! ง่ายสุด ๆ งานนี้สำหรับฉันด้วย SQL Server Management Studio 18.5
A3IOU

43

เหนือคำถามที่ซ้ำกัน @arcticdev นี้โพสต์รหัสบางอย่างที่จะกำจัดแต่ละรายการ (ตรงข้ามกับรายการทั้งหมดจะถูกลบไฟล์ bin) ฉันห่อมันด้วย UI ที่น่าเกลียดมากและวางไว้ที่นี่: http://ssmsmru.codeplex.com/


ทำงานได้ดีสำหรับฉันสำหรับ SSMS 2008 R2 (10.50.1777.0) แต่เพื่อให้แน่ใจว่าฉันได้เขียนทับ DLLs ที่รวมไว้กับตัวที่จากไดเรกทอรี SSMS เท่าที่ฉันสามารถบอกได้การตั้งค่าอื่น ๆ ยังคงไม่บุบสลาย ขอบคุณ!
jaraics

@ Mark - ขอบคุณมาก หมายเหตุด้านข้าง: หากคุณมีเซิร์ฟเวอร์สองเครื่องที่มีชื่อเดียวกันแม้ว่าพวกเขาจะมีประเภทการรับรองความถูกต้องเข้าสู่ระบบที่แตกต่างกันและคุณลบมันก็จะลบพวกเขาทั้งสอง
Keith

ฉันรู้ว่านี่ถูกสร้างขึ้นสำหรับปี 2008 แต่ในกรณีที่ใครสนใจฉันลองใช้เครื่องมือนี้ใน SSMS 2014 ฉันต้องเปลี่ยนไฟล์กำหนดค่าให้ดูในไดเรกทอรีที่ถูกต้องและสามารถค้นหาเซิร์ฟเวอร์ในไฟล์ bin ได้ แต่เมื่อฉันคลิกที่บันทึกแล้วเปิด SSMS เซิร์ฟเวอร์ทั้งหมดของฉันหายไปแทนที่จะเป็นเพียงเซิร์ฟเวอร์ที่ฉันลบไป โชคดีที่ฉันสำรองไฟล์ bin ของฉันก่อน :)
Jargs

ไบนารีนั้นแตกต่างกันไปในปี 2014 - ฉันยังไม่ได้ทำเวอร์ชัน 2012/2014 เนื่องจากเป็นไปได้ที่จะลบเซิร์ฟเวอร์ออกจาก SSMS หากมีความสนใจฉันสามารถลองและหาเวลาสร้าง
ทำเครื่องหมาย

@ Mark มันทำงานได้อย่างสมบูรณ์แบบสำหรับ MSSQL 2008 R2 Management Studio ฉันดีใจที่ฉันอ่านความคิดเห็น / คำตอบและพบสิ่งนี้
HPWD

20

สำหรับ Studio การจัดการ SQL Server 2012 ไฟล์นี้ได้ถูกย้าย ตอนนี้อยู่ที่:

C:\Users\<username>\AppData\Roaming\Microsoft\
    SQL Server Management Studio\11.0\SqlStudio.bin

6
และสำหรับ SSMS 2014 ตอนนี้ก็อยู่ที่c:\Users\<username>\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.binแต่ฉันเดาว่ามันชัดเจนมาก
charlie

เข้าถึงได้เร็วขึ้นโดยใช้:%appdata%\Roaming\Microsoft\ SQL Server Management Studio\11.0\SqlStudio.bin
Patrick Honorez

15

ในมาตรฐาน Windows Server 2008 ด้วย SQL Express 2008 ไฟล์ "SqlStudio.bin" จะอยู่ที่นี่:

%UserProfile%\Microsoft\Microsoft SQL Server\100\Tools\Shell\

มันไม่ได้ช่วยอะไร ไฟล์จะถูกสร้างขึ้นใหม่โดยมีผู้ใช้คนเดียวกันอยู่ในนั้น
nima

2
@nima คุณอาจต้องปิด SSMS ก่อนที่จะลบไฟล์ ดูคำตอบของฉันสำหรับวิธีการลบแต่ละรายการ
Mark

11

ลบไฟล์จากพา ธ ด้านบน: (ก่อนลบโปรดปิด SSMS)

แฟ้มเส้นทางสถานที่สำหรับผู้ใช้ของSQL Server 2005 ,

C:\Documents and Settings\%USERNAME%\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

แฟ้มเส้นทางสถานที่สำหรับผู้ใช้ของSQL Server 2008 ,

หมายเหตุ: ชื่อรูปแบบมีการเปลี่ยนแปลง

C:\Documents and Settings\%USERNAME%\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

เส้นทางตำแหน่งไฟล์สำหรับผู้ใช้มาตรฐาน Server 2008 / SQL Express 2008

C:\Documents and Settings\%USERNAME%\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin

แฟ้มเส้นทางสถานที่สำหรับผู้ใช้ของSQL Server 2012 ,

C:\Users\%USERNAME%\AppData\Roaming\Microsoft\SQL Server Management Studio\11.0\SqlStudio.bin

แฟ้มเส้นทางสถานที่สำหรับผู้ใช้ของSQL Server 2014 ,

C:\Users\%USERNAME%\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin

หมายเหตุ:ในSSMS 2012 ( Version 10.50.1600.1 OR Above) DELETEโอ๊ยคุณสามารถลบชื่อเซิร์ฟเวอร์โดยเลือกจากเมนูแบบเลื่อนลงและกด


9

ใน SSMS 2012 มีวิธีบันทึกไว้ในการลบชื่อเซิร์ฟเวอร์จากกล่องโต้ตอบ "เชื่อมต่อกับเซิร์ฟเวอร์" ตอนนี้เราสามารถลบชื่อเซิร์ฟเวอร์โดยเลือกในกล่องโต้ตอบและกด DELETE


ตรวจสอบกับ SSMS 11.0.3128.0 สิ่งนี้ไม่ทำงาน อาจจะเป็นปมได้เพราะมันทำให้พฤติกรรมการลบแบบเนทีฟ (โพสต์ MSDN ทำให้การบอกว่าข้อความรายการก่อนหน้าจะยังคงอยู่ในกล่องหลังจากลบซึ่งเป็นการตัดสินใจ UX ที่ไม่ดีถ้าฉันแค่อยากจะลบข้อความไม่ใช่รายการที่บันทึกไว้?)
JoeBrockhaus

ในกรณีของฉันฉันมีรุ่น 11.0.3000.0 และใช้งานได้ดี เพียงคุณต้องคลิกที่เลื่อนลงเลือกเซิร์ฟเวอร์แล้วคลิกลบ ใช่มันสับสนเล็กน้อย
Chintak Chhapia

1
คุณ 'คลิก' ลบอยู่ที่ไหน ไม่มีปุ่มลบใน UI ของฉัน แต่ถึงกระนั้นเพียงแค่กดปุ่ม Delete ก็เพียงแค่ลบข้อความใน ComboBox และรายการยังคงอยู่ในแบบเลื่อนลง
JoeBrockhaus

ขออภัยความผิดพลาดของฉันแทนที่จะเป็น "คลิกลบ" ฉันควรเขียนว่า "กดปุ่มลบ" ไม่มีปุ่มสำหรับลบคุณต้องกดปุ่ม Delete จากคีย์บอร์ด
Chintak Chhapia

7

ไฟล์ SqlStudio.bin จริง ๆ แล้วประกอบด้วยข้อมูลแบบอนุกรมที่เป็นเลขฐานสองของประเภท "Microsoft.SqlServer.Management.UserSettings.SqlStudio"

การใช้คลาส BinaryFormatter คุณสามารถเขียนแอปพลิเคชั่น. NET แบบธรรมดาเพื่อแก้ไขเนื้อหาไฟล์


ดูคำตอบของฉันสำหรับ UI ที่เรียบง่ายที่ฉันได้ล้อมรอบรหัสนี้
Mark


5

นี่เป็นวิธีที่ง่ายเปิดหน้าต่างการเชื่อมต่อคลิกที่ชื่อเซิร์ฟเวอร์แบบหล่นลงและโฮเวอร์เหนือสตริงการเชื่อมต่อที่คุณต้องการลบจากนั้นกดลบ



3

สำหรับ Windows Vista และ SQL Server 2005

ลบไฟล์นี้หรือเปิดด้วย Notepad และล้างชื่อเซิร์ฟเวอร์ที่คุณต้องการล้างออกจากประวัติ

%UserProfile%\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat


0

แทนที่จะลบหรือเปลี่ยนชื่อไฟล์นี้:
1) ปิด SQL Management Studio
2) ค้นหาไฟล์ที่เหมาะสม (ดูโพสต์หรือคำตอบด้านบน)
3) เปิด. bin ในตัวแก้ไขข้อความ / ฐานสิบหกเช่น NotePad ++
4) ค้นหาชื่อของหนึ่งใน เซิร์ฟเวอร์และระบุหมายเลขบรรทัด
5) ทำสำเนาของไฟล์. bin / .dat
6) ลบบรรทัดนั้นตรวจสอบให้แน่ใจว่าคุณลบทั้งบรรทัดอาจเป็นไปได้หากคุณมีหลายบรรทัดที่สามารถตัดคำได้
7) เปิด SQL Management Studio รายการแบบหล่นลงของคุณจะว่างเปล่า

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