none
מזהה ייחודי לשרת RRS feed

  • שאלה

  • ב"ה

     

    שלום 

     

    האם יש איזה משתנה / פונקציה שמחזירה מזהה ייחודי GUID לשרת?

    ( משהו כמו הדברים הללו: select @@Servicename, @@Servername, @@Version )

     

    תודה

     

    יום חמישי 08 ספטמבר 2011 08:59

תשובות

  • תודה איתי

     

    בדקתי את זה בכמה שרתים, בחלק זה עובד ובחלק אני מקבל:

    RegOpenKeyEx() returned error 2, 'The system cannot find the file specified.' Msg 22001, Level 1, State 1 ככול הנראה שהמיקום ברג'סטרי שונה בין הגרסאות וגם אל תשכח שפה בארץ אנחנו "מדינת דיסק אחד" לכולם יש את אותו CD_KEY

    אך בכול מקרה עזרת לי מאוד כי לא הכרתי את xp_regread ועכשיו אוכל לשתול בעצמי ערך ייחודי ברג'סטרי באמצעות NEWID ולקרוא אותו עם xp_regread

     

    תודה ולהתראות :-)


     

    • סומן כתשובה על-ידי saryoram יום חמישי 08 ספטמבר 2011 12:15
    יום חמישי 08 ספטמבר 2011 12:15

כל התגובות

  • לא בטוח שאני מבין למה אתה מתכוון אבל אם אתה מתכוון למזהה יחודי של שרת שמוגדר במערכת כ linked server אז אפשר להישתמש בשדה המתאים

    select srvid,srvname from sysservers

    במקרה זה יש 2 בלוגים קצרים בנושא linked server שיכולים לעזור מעט בעבודה עם התחברות לשרתים
    http://ariely.info/dnn/Blog/tabid/83/EntryId/46/linked-server.aspx
    http://ariely.info/dnn/Blog/tabid/83/EntryId/47/linked-server-part-2.aspx

    אם מה שאתה מחפש הוא שם שרת למשל או מאפיין אחר של פרמטר מובנה אז בקישור הבא תוכל לראות כמה מהמאפיינים המרכזיים של פרמטרים מובנים בשרת:
    http://msdn.microsoft.com/en-us/library/aa299742%28v=SQL.80%29.aspx

    שם השרת למשל נמצא לפי @@SERVERNAME

    יום חמישי 08 ספטמבר 2011 09:44
    מנחה דיון
  • תודה על תגובתך אך זה לא מה שאני מחפש. אני אנסה להסביר יותר

     

    כאשר אני מקבל מידע מלקוחות שונים העובדים על שרתים שונים אני רוצה שיהיה לכל לשרת מזהה ייחודי. אני לא רוצה להשתמש בנתון שמור בתוך טבלה מסיבות שונות.

    לדוגמה: בכל התקנת מערכת הפעלה נוצר איזה מספר ייחודי שונה בכל מחשב ומחשב, כנ"ל לכל כרטיס רשת יש מספר מק ייחודי לכל כרטיס וכרטיס (הסבירות ששני כרטיסים יהיו עם אותו מספר הם קטנים ביותר)

    לכן אני מחפש איזה מספר ייחודי שנוצר בעת התקנת השרת וניתן לקבל אותו באמצעות איזה SELECT (כלומר אני צריך שמכל תחנה שמחוברת לשרת זה יהי ניתן לקבל ערך זה ולא רק בשרת עצמו) ובאמצעותו אני אוכל לאמת שהמידע מגיע מהלקוח במסויים.

    יום חמישי 08 ספטמבר 2011 10:07
  • יורם שלום רב,

     

    אתה יכול להשתמש ב- sql server key ברמת המכונה.

    שים לב שכדי להריץ את הפקודה אתה צריך הרשאה גבוהה.

    http://blog.sqlauthority.com/2007/02/28/sql-server-t-sql-script-to-find-the-cd-key-from-registry/

    USE master
    GO
    EXEC xp_regread 'HKEY_LOCAL_MACHINE',
    'SOFTWARE\Microsoft\Microsoft
    SQL Server\80\Registration'
    ,
    'CD_KEY'
    GO


    Best Regards,

    Itai Binyamin
    SQL Server Group Manager
    Veracity Group

    www.Veracity-Group.com
    www.ItaiBinyamin.Blogspot.com
    • הוצע כתשובה על-ידי Itai Binyamin יום חמישי 08 ספטמבר 2011 11:39
    יום חמישי 08 ספטמבר 2011 11:39
  • תודה איתי

     

    בדקתי את זה בכמה שרתים, בחלק זה עובד ובחלק אני מקבל:

    RegOpenKeyEx() returned error 2, 'The system cannot find the file specified.' Msg 22001, Level 1, State 1 ככול הנראה שהמיקום ברג'סטרי שונה בין הגרסאות וגם אל תשכח שפה בארץ אנחנו "מדינת דיסק אחד" לכולם יש את אותו CD_KEY

    אך בכול מקרה עזרת לי מאוד כי לא הכרתי את xp_regread ועכשיו אוכל לשתול בעצמי ערך ייחודי ברג'סטרי באמצעות NEWID ולקרוא אותו עם xp_regread

     

    תודה ולהתראות :-)


     

    • סומן כתשובה על-ידי saryoram יום חמישי 08 ספטמבר 2011 12:15
    יום חמישי 08 ספטמבר 2011 12:15