Cara membuat alias untuk instance SQL Server bernama

8

Di komputer pengembang saya, saya memiliki contoh SQL Server bernama developer_2005 . Dalam file pengaturan sumber daya dari aplikasi C # yang kita buat, nama instance diatur ke foobar (tidak juga, tetapi hanya sebagai contoh). Jadi ketika saya menjalankan aplikasi (dalam debug atau realease) ia mencoba untuk terhubung ke SQL Server di localhost, bernama foobar .

Saya bertanya-tanya apakah mungkin untuk membuat alias atau sesuatu seperti itu, sehingga aplikasi benar-benar menemukan SQL Server di localhost bernama foobar , tetapi sebenarnya terhubung ke contoh bernama developer_2005 .

String koneksi dalam file konfigurasi aplikasi adalah Data Source = localhost \ foobar; Katalog Awal = barfoo; Keamanan Terpadu = Benar dengan nama penyedia System.Data.SqlClient . Jika saya mengubah localhost \ foobar ke localhost \ developer_2005 maka aplikasi dapat terhubung seperti seharusnya. Bagaimana saya bisa membuat alias sehingga saya tidak perlu mengubah string dalam file?

Saya mencoba, di SQL Server Management Studio, untuk membuat Registrasi Server dengan nama server terdaftar "localhost \ developer", tetapi ini sepertinya tidak ada gunanya. Bahkan tidak yakin apa yang sebenarnya terjadi ... Tapi kemudian saya menemukan Manajer Konfigurasi Server SQL \ SQL Konfigurasi Asli Klien \ Alias. Dan saya agak berasumsi di sinilah solusinya. Tapi saya tidak tahu bagaimana cara menambahkan yang baru ... Ketika membuat yang baru, saya harus memberikan Nama Alias, Port No, Protokol dan Server, dan saya tidak benar-benar tahu apa yang harus dimasukkan ke dalam salah satu dari mereka.

Svish
sumber

Jawaban:

6

Nama alias: foobar (nama yang ingin Anda gunakan)

Nama server: nama aktual komputer Anda atau alamat IP (bukan localhost atau 127.0.0.1)

Protokol: TCP / IP

Port: yang standar (1433)

Pastikan protocoll TCP / IP diaktifkan (dinonaktifkan secara default)

Ubah string koneksi Anda untuk menggunakan alias baru Anda (Sumber Data = foobar)

Hakan Winther
sumber
Nama server, localhost , sudah benar. Ini adalah nama instance bernama Saya harus membuat alias untuk.
Svish
Maka Anda harus menggunakan localhost \ instancename sebagai nama server.
Massimo
bagaimana dengan nama alias? Haruskah saya menggunakan localhost \ developer_2005 sebagai nama server dan localhost \ foobar sebagai alias? Apakah itu akan berhasil?
Svish
Saya memeriksa lebih baik ... sepertinya Anda benar - benar dapat melakukannya. Setidaknya dalam SQL server 2008 (tidak tahu apakah itu akan berfungsi pada 2005).
Massimo
Saya mengedit jawaban saya, coba itu.
Massimo
1

Anda benar, apa yang perlu Anda lakukan adalah mendefinisikan alias baru dalam konfigurasi Native Client.

  • Nama alias: alias yang ingin Anda buat
  • Nama server: nama server aktual
  • Protokol: TCP / IP
  • Port: yang standar (1433)

Coba ini:

  • Nama alias: localhost \ foobar
  • Nama server: localhost \ developer_2005
  • Protokol: TCP / IP
  • Port: 1433
Massimo
sumber
Dan di situlah saya berada. Tapi apa yang harus saya tempatkan di bidang itu? Saya tidak mengerti ...
Svish
String koneksi dalam file konfigurasi adalah Sumber Data = localhost \ foobar; Katalog Awal = barfoo; Keamanan Terpadu = Benar dengan nama penyedia System.Data.SqlClient . Agar dapat terhubung dengan benar, saya harus mengubah localhost \ foobar menjadi localhost \ developer_2005 . Bagaimana saya bisa membuat alias sehingga saya tidak perlu melakukan itu?
Svish
Ini tidak bisa dilakukan; string koneksi Anda mencari instance bernama foobar , alias hanya dapat digunakan sebagai nama tingkat atas, bukan karena mereka bernama instance sendiri.
Massimo
Jadi tidak ada cara untuk menyelesaikan ini, selain mengubah string koneksi dalam aplikasi?
Svish
Saya memeriksa lebih baik ... sepertinya Anda benar-benar dapat melakukannya. Setidaknya dalam SQL server 2008 (tidak tahu apakah itu akan berfungsi pada 2005).
Massimo