Bagaimana cara mengubah nama contoh SQL Server 2008?

28

Bagaimana saya bisa mengganti nama contoh SQL Server 2008 tanpa menginstal ulang?

Sebagai contoh, jika db direferensikan sebagai "MySQLServer \ MSSQL2008", bagaimana saya bisa mengganti nama menjadi "MySQLServer \ SQL2008"?

Scott Marlowe
sumber

Jawaban:

31

Saya rasa tidak mungkin untuk mengganti nama tanpa menginstal.

Ada jejak yang tersisa untuk nama di beberapa basis data internal seperti replikasi dan Anda mungkin menemukan kesalahan di kemudian hari.

Jika Anda bisa, kecuali Anda memiliki lebih dari satu contoh, Anda sebaiknya menginstal ulang dan kemudian mengimpor semua basis data Anda lagi.

William Hilsum
sumber
3
Wil benar. Tidak ada cara untuk mengubah nama instance. Anda harus menghapus instalan instance, dan kemudian menginstal instance baru. (Atau instal instance baru, pindahkan database ke instance baru, lalu nonaktifkan atau hapus instalan instance lama).
mrdenny
melakukan uninstall dan menginstal ulang dengan instance bernama tidak terlalu sulit. hanya memegang direktori Data (dan mungkin direktori Backups) dalam contoh lama.
Djangofan
9

Saya tahu bahwa skrip ini ada di mana-mana di 'internet, tetapi setiap kali saya google untuk itu saya datang dengan proc tersimpan rumit yang berlebihan untuk kebutuhan saya - jadi di sini adalah perintah yang diperlukan untuk mengubah nama contoh SQL Server, untuk anak cucu:

  • Dapatkan nama saat ini dari contoh SQL Server untuk perbandingan nanti.
    SELECT @@servername
  • Hapus server dari daftar server jauh dan terhubung yang dikenal pada contoh lokal SQL Server.
    EXEC master.dbo.sp_dropserver ‘[SERVER NAME]‘
  • Definisikan nama instance SQL Server lokal.
    EXEC master.dbo.sp_addserver ‘[NEW SERVER NAME]‘, ‘local’
  • Dapatkan nama baru dari contoh SQL Server untuk perbandingan. SELECT @@servername

Dan beberapa catatan yang berkaitan dengan penggunaannya:
sp_dropserver :

  1. Prosedur tersimpan ini dapat menghapus server jauh dan tertaut;
  2. Menggunakan parameter droplogins menunjukkan bahwa login server jauh dan terkait terkait untuk [SERVER NAME] juga harus dihapus.

sp_addserver :

  1. Untuk mendefinisikan server tertaut, gunakan sp_addlinkedserver (karena fungsi ini akan disusutkan dalam versi di atas SQL Server 2005);
  2. sp_addserver tidak dapat digunakan di dalam transaksi yang ditentukan pengguna.

Saya juga akan merekomendasikan yang berikut ini saat mengganti nama SQL Server:
Jika Anda melakukan tugas ini sebagai bagian dari nama mesin, ganti nama mesin terlebih dahulu kemudian ganti nama SQL Server. Setelah Anda mengganti nama SQL Server, lakukan restart penuh SQLServer, termasuk layanan dependen.

Saya mendapat informasi ini dari tautan di bawah:

https://web.archive.org/web/20141116031942/http://modhul.com/2008/01/15/renaming-a-sql-server-instance/

Charles Roper
sumber
1

Hanya catatan singkat bahwa Anda dapat menambahkan "alias" dan menggunakannya dengan kedua nama:

masukkan deskripsi gambar di sini

jitbit
sumber
0

select @@servername akan menampilkan nama baru tetapi nama server di ERRORLOG akan menunjukkan nama lama dan Anda tidak dapat terhubung menggunakan nama baru.

Satu-satunya solusi adalah menginstal ulang.

Ben
sumber
-4

Anda ingin menggunakan ALTER DATABASE.

http://msdn.microsoft.com/en-us/library/ms174269.aspx

Dalam situasi ini, untuk contoh Anda di atas, saya akan mencoba:

ALTER DATABASE MSSQL2008 MODIFY NAME = 'SQL2008'

Semoga berhasil!

Nicolas Webb
sumber
6
Saya pikir ini berkaitan dengan memodifikasi nama database daripada contoh dari SQL server
William Hilsum
ya ... Saya ingin mengganti nama mesin engine sql server, bukan hanya nama tabel atau database.
Scott Marlowe
Kamu benar. Dan saya setuju dengan @Wil - Saya tidak mengetahui cara untuk melakukan ini tanpa menginstal ulang.
Nicolas Webb