ฉันจะเปลี่ยนชื่ออินสแตนซ์ของ SQL Server 2008 โดยไม่ต้องติดตั้งใหม่ได้อย่างไร
ตัวอย่างเช่นหาก db ถูกอ้างอิงเป็น "MySQLServer \ MSSQL2008" ฉันจะเปลี่ยนชื่อเป็น "MySQLServer \ SQL2008" ได้อย่างไร
ฉันจะเปลี่ยนชื่ออินสแตนซ์ของ SQL Server 2008 โดยไม่ต้องติดตั้งใหม่ได้อย่างไร
ตัวอย่างเช่นหาก db ถูกอ้างอิงเป็น "MySQLServer \ MSSQL2008" ฉันจะเปลี่ยนชื่อเป็น "MySQLServer \ SQL2008" ได้อย่างไร
คำตอบ:
ฉันไม่คิดว่าเป็นไปได้ที่จะเปลี่ยนชื่อโดยไม่ต้องติดตั้ง
มีร่องรอยเหลืออยู่ในชื่อฐานข้อมูลภายในไม่กี่แห่งเช่นการจำลองแบบและคุณอาจพบข้อผิดพลาดในภายหลัง
หากคุณสามารถทำได้เว้นแต่คุณมีมากกว่าหนึ่งอินสแตนซ์คุณควรทำการติดตั้งใหม่และนำเข้าฐานข้อมูลทั้งหมดอีกครั้ง
ฉันรู้ว่าสคริปต์นี้แพร่หลายทั่วทั้ง 'net แต่เมื่อใดก็ตามที่ฉันใช้ google ฉันจะพบกับ proc ที่จัดเก็บอย่างละเอียดที่เกินความต้องการของฉัน - ดังนั้นนี่คือคำสั่งที่จำเป็นในการเปลี่ยนชื่ออินสแตนซ์ของ SQL Server สำหรับลูกหลาน:
SELECT @@servername
EXEC master.dbo.sp_dropserver ‘[SERVER NAME]‘
EXEC master.dbo.sp_addserver ‘[NEW SERVER NAME]‘, ‘local’
SELECT @@servername
และหมายเหตุบางประการที่เกี่ยวข้องกับการใช้งานของพวกเขา:
sp_dropserver :
sp_addserver :
ฉันจะแนะนำต่อไปนี้เมื่อเปลี่ยนชื่อ SQL Server:
หากคุณกำลังทำงานนี้เป็นส่วนหนึ่งของการเปลี่ยนชื่อเครื่องให้เปลี่ยนชื่อเครื่องก่อนแล้วเปลี่ยนชื่อ SQL Server เมื่อคุณเปลี่ยนชื่อ SQL Server แล้วให้รีสตาร์ท SQLServer เต็มรูปแบบรวมถึงบริการที่ต้องพึ่งพา
ฉันได้รับข้อมูลนี้จากลิงค์ด้านล่าง:
เพียงบันทึกย่อที่คุณสามารถเพิ่ม "นามแฝง" และใช้ภายใต้ชื่อทั้งสอง:
select @@servername
จะแสดงชื่อใหม่ แต่ชื่อเซิร์ฟเวอร์ใน ERRORLOG จะแสดงชื่อเก่าและคุณไม่สามารถเชื่อมต่อโดยใช้ชื่อใหม่ได้
ทางออกเดียวคือติดตั้งใหม่
บล็อกนี้ดูเหมือนจะบ่งบอกว่ามันค่อนข้างง่าย
http://www.modhul.com/2008/01/15/renaming-a-sql-server-instance/
คุณต้องการใช้ ALTER DATABASE
http://msdn.microsoft.com/en-us/library/ms174269.aspx
ในสถานการณ์นี้สำหรับตัวอย่างของคุณด้านบนฉันลอง:
ALTER DATABASE MSSQL2008 MODIFY NAME = 'SQL2008'
โชคดี!