Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Renaming an instance of SQL Server 2005

Îåêßíçóå áðü ôï ìÝëïò pap. Τελευταία δημοσίευση από το μέλος pap στις 07-11-2008, 10:09. Υπάρχουν 29 απαντήσεις.
Σελίδα 1 από 2 (30 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  04-11-2008, 10:16 45954

    Renaming an instance of SQL Server 2005

    Γεια σας παιδιά,

    απ' ότι ξέρω ο SQL Server με το που εγκατασταθεί, έχει πάντοτε ως instance name, το name του pc. Πως γίνεται να αλλάξω το instance name κατά την εγκατάσταση, ώστε να του δίνω όποιο όνομα θέλω εγώ. Και αν δε γίνεται αυτό, αφού γίνει η εγκατάσταση, πως μπορώ να αλλάξω το instance name του SQL Server;

  •  04-11-2008, 10:42 45957 σε απάντηση της 45954

    Απ: Renaming an instance of SQL Server 2005

    Το όνομα του instance το δίνεις κατά την εγκατάσταση. Σε κάποια οθόνη σε ρωτάει αν θα φτιάξει ένα default instance ή ένα με διαφορετικό όνομα. Δεν θυμάμαι αυτή τη στιγμή αν αυτό γίνεται όταν πατήσεις το κουμπί "Advanced Settings" ή γίνεται και στην κανονική ροή της εγκατάστασης, αλλά νομίζω ότι γίνεται και στην κανονική ροή.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  04-11-2008, 10:46 45958 σε απάντηση της 45957

    Απ: Renaming an instance of SQL Server 2005

    Ωραία, ευχαριστώ για την απάντησή σου. Αν όμως θέλω να το αλλάξω μετά την εγκατάσταση γίνεται;
  •  04-11-2008, 11:19 45960 σε απάντηση της 45958

    Απ: Renaming an instance of SQL Server 2005

    Απ' όσο γνωρίζω γίνεται, ή για την ακρίβεια μπορούσε να γίνει στον 2000 τρέχοντας δύο stored procedures :

    sp_dropserver <old instance name>

    sp_addserver <new instance name>,local

    Restart το service του SQL.

    Από ότι είδα αυτές τις sp τις έχει και ο 2005. Επειδή όμως δεν είναι κάτι που θα χρησιμοποιήσει κανείς συχνά, σε παραπαίμπω στα documentation των εντολών πριν τις τρέξεις.

  •  04-11-2008, 11:26 45961 σε απάντηση της 45960

    Απ: Renaming an instance of SQL Server 2005

    Άψογα ευχαριστώ!

  •  04-11-2008, 12:11 45963 σε απάντηση της 45961

    Απ: Renaming an instance of SQL Server 2005

    Δοκίμασε πρώτα αν δουλεύει η λύση σε κάποιο test μηχάνημα, γιατί οι εντολές sp_dropserver, sp_addserver χρησιμοποιούνται για να αλλάξεις το όνομα του μηχανήματος/instance στα system tables. Το όνομα του instance όμως υπάρχει και σε registry keys τα οποία δεν επηρεάζονται από τις sp_addserver, sp_dropserver. Αντιγράφω την πλήρη διαδικασία από το http://groups.google.com/group/microsoft.public.sqlserver.server/browse_thread/thread/544c4eaf43ddfaf3/e9065e05718e984e?pli=1

    1. drop current instname (sp_dropserver)
    2. add new instance name (sp_addserver 'new name','local')
    3. stop sqlserver
    4. modify hklm\software\microsoft\microsoft sql server\
    5. modify hklm\system\currentcontrolset\services\mssql$inst
    6. use "sc create" to add new mssql$<inst>
    7. start up with new inst_name - voila!

    -- 

    Και φυσικά ισχύουν τα "Use at your own peril κλπ, κλπ". Αλλάζοντας το όνομα πάντως μπορεί να εμφανιστούν προβλήματα με linked servers και replication όπου έχει χρησιμοποιηθεί το παλιό όνομα.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  04-11-2008, 12:36 45966 σε απάντηση της 45963

    Απ: Renaming an instance of SQL Server 2005

    Αυτό που θέλω να κάνω είναι να εγκαταστήσω την εφαρμογή μου μαζί με τον SQL Server 2005 Express (ξεχωριστά ο SQL Server - όχι όλα μαζί σε ένα setup πακέτο προς το παρόν) και επειδή έχω δώσει μέσα στην εφαρμογή ένα στάνταρ instance name που θα αναγνωρίζει, θέλω στο target μηχάνημα να αναγνωρίζει το instance name που έχω στην εφαρμογή. Πχ. αν το όνομα του SQL Server θα γίνει με την εγκατάσταση 'PC1\SQLEXPRESS', θέλω να το κάνω 'MITSOS\SQLEXPRESS'. Στη δικιά μου περίπτωση τι λες, χρειάζεται να κάνω αλλαγές και στα registry keys;
  •  04-11-2008, 12:44 45967 σε απάντηση της 45966

    Απ: Renaming an instance of SQL Server 2005

    Είναι πολύ πιο εύκολο να κάνεις την εφαρμογή σου παραμετρική ως προς το όνομα του server παρά να μπεις στη διαδικασία renaming του SQL Server. Μια φορά θα το κάνεις και θα το μάθεις, δεν είναι τίποτα το ιδιαίτερο. Έξάλλου κάποια στιγμή θα αναγκαστείς καθώς ο πελάτης θα έχει ήδη SQL Server που θα εξυπηρετεί και άλλους σκοπούς και δεν θα μπορείς να τον κάνεις rename.


    Vir prudens non contra ventum mingit
  •  04-11-2008, 12:48 45969 σε απάντηση της 45967

    Απ: Renaming an instance of SQL Server 2005

    KelMan:

    Έξάλλου κάποια στιγμή θα αναγκαστείς καθώς ο πελάτης θα έχει ήδη SQL Server που θα εξυπηρετεί και άλλους σκοπούς και δεν θα μπορείς να τον κάνεις rename.

    Σωστός.

    Πως θα κάνω όμως την εφαρμογή παραμετρική; Μήπως να κάνω το....... Select SERVERPROPERTY('InstanceName')???? Αυτό όμως πχ. από το: 'PC1\SQLEXPRESS' παίρνει το 'SQLEXPRESS'. Εγώ θέλω να πάρω το 'PC1'.

  •  04-11-2008, 13:04 45970 σε απάντηση της 45969

    Απ: Renaming an instance of SQL Server 2005

    Λοιπόν, βρήκα άκρη. Το servername χρειάζομαι τελικά Stick out tongue και βρήκα αυτό 'SELECT @@SERVERNAME'. Μου γεννήθηκε όμως άλλη απορία... Πως θα πάρω το servername ενώ η εφαρμογή δεν θα έχει καν συνδεθεί με τον SQL SERVER; Πως θα εκτελεστεί δηλαδή η παραπάνω εντολή πριν γίνει το Connection;

  •  04-11-2008, 13:14 45971 σε απάντηση της 45970

    Απ: Renaming an instance of SQL Server 2005

    Μα αν μπορείς να στέλνεις queries στον SQL Server, τότε τί χρειάζεσαι το instance name?

    Εγώ μιλούσα για το σενάριο που αποθηκεύσεις το connection string στο config και την πρώτη φορά που τρέχει η εφαρμογή, ρωτάς τον χρήστη για το instance του SQL Server.


    Vir prudens non contra ventum mingit
  •  04-11-2008, 13:20 45972 σε απάντηση της 45971

    Απ: Renaming an instance of SQL Server 2005

    Τελικά κατάλαβα ότι χρειάζομαι το servername συνολικά, δηλαδή 'PC1\SQLEXPRESS' <-- ΑΥΤΟ ΘΕΛΩ ΝΑ ΕΧΩ.

    Και πως θα δει τα instance χωρίς να έχει συνδεθεί στον SQL Server; Γίνεται; Εγώ κάνω τα εξής για να γίνει σύνδεση. Έχω ένα struct με members τα server_name, database, trusted_connection (δεν χρησιμοποιώ το config για να πάρω τις τιμές τις δίνω μέσα στην κλάση "χεράτα"). Database και trusted_connection είμαστε ΟΚ, με το server_name κολλάω τώρα.

  •  04-11-2008, 13:33 45973 σε απάντηση της 45972

    Απ: Renaming an instance of SQL Server 2005

    Θα πρέπει να αφήσεις τον χρήστη να χρησιμοποιήσει ό,τι connection string θέλει. Όπως δεν μπορείς να τον υποχρεώσεις να χρησιμοποιήσει ένα συγκεκριμένο όνομα για instance, έτσι και δεν μπορείς να τον υποχρεώσεις να χρησιμοποιήσει integrated security. Μπορεί ο χριστιανός να θέλει να χρησιμοποιήσει SQL Server security, άσε που το connection string έχει και άλλα settings (μπορεί να μην χρησιμοποιούνται πάντοτε ωστόσο ποτέ δεν ξέρεις). Θα πρέπει να κάνεις redesign αυτό το κομμάτι της εφαρμογής σου. Ο ενδεικνυόμενος τρόπος είναι τα application settings, βολεύει τους administrators γιατί ξέρουν τι και που να πειράξουν, βολεύει και από άποψη security, βολεύει και από άποψη ευκολίας στο development.


    Vir prudens non contra ventum mingit
  •  04-11-2008, 13:34 45974 σε απάντηση της 45973

    Απ: Renaming an instance of SQL Server 2005

    Μπορείς να δώσεις κάποιο παράδειγμα με κώδικα ή ένα κομμάτι ενός project που περιλαμβάνει το συγκεκριμένο; Χάθηκα λίγο... Ευχαριστώ για την υπομονή σου.
  •  04-11-2008, 13:51 45975 σε απάντηση της 45974

    Απ: Renaming an instance of SQL Server 2005

    Αρχικά, πας στα Application Settings και ορίζεις το connection string.

    Μετά μέσα στον κώδικα, κάνεις κάτι σαν το παρακάτω:

    Sub SetConnectionString()
       Dim name As String = "MyAppName.My.MySettings.XYZConnectionString"
       Dim connectionStringSettingsItem As ConnectionStringSettings
       connectionStringSettingsItem = ApplicationConfiguration.ConnectionStrings.ConnectionStrings.Item(name)

       Dim newConnectionString As String = GetConnectionStringFromUI()

       If connectionStringSettingsItem Is Nothing Then
          connectionStringSettingsItem = New ConnectionStringSettings(name, newConnectionString)
          ApplicationConfiguration.ConnectionStrings.ConnectionStrings.Add(connectionStringSettingsItem)
       Else
          connectionStringSettingsItem.ConnectionString = newConnectionString
       End If
    End Sub

    Αυτή η ρουτίνα μπορεί να τρέξει την πρώτη φορά ή όταν ο χρήστης θέλει να αλλάξει το connection string. Χρειάζεται να κατασκευάσεις το GetConnectionStringFromUI function όπου θα παίρνεις από μια φόρμα όλες τις πιθανές ρυθμίσεις και θα κάνεις construct το connection string. Φαντάσου ότι αυτή η φόρμα θα είναι κάπως σαν κι αυτές που κάνεις ένα νέο connection στο Visual Studio.

     


    Vir prudens non contra ventum mingit
Σελίδα 1 από 2 (30 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems