Ma'lumotlar bazasining haqiqiy geografik joylashuvini qanday bilsam bo'ladi?

SQL Server ma'lumotlar bazamiz geografik joylashuvi C# kodi orqali joylashgan joyni olish vazifasi yuklatilgan, chunki ma'lumotlar bazamizni jismoniy va kiber zararlardan himoya qilish uchun vaqti-vaqti bilan ko'chirilishi sababli vaqti-vaqti bilan farq qilishi mumkin. Bu mumkinmi yoki xo'jayinimning yana bir orzusi oldindan rahmat.

9
Men oldindan javob bergan bo'lardim, lekin siz Azarga sizning JB mezbonligidan foydalanayotgan bo'lsangiz, buni aniqlay olasizmi? Yoki boshqa bulutli provaydermi?
qo'shib qo'ydi muallif Jeremy Thompson, manba
Nima uchun ma'lumotlar bazasi tez-tez almashinib turishayotganiga hayron bo'lishim kerakmi ... agar noqonuniy ish qilmasangiz ... bu serverni xavfsiz server xonasiga joylashtirish ancha xavfsiz bo'ladi ... chunki ehtimol siz Serverni DNS manzili yoki boshqa shunga o'xshash umumiy qarama-qarshi qo'ng'iroqlarni aniqlanganda kiber zararlardan himoya qilmaslik. Bundan tashqari, serveringiz vaqtini va vaqtini qayta joylashtirishning asl harakati serveringizni ishonchli va xavfsiz joyga ega bo'lishdan ko'ra ancha zaifroq bo'ladi.
qo'shib qo'ydi muallif Seph, manba
Nima deb o'ylayman? Nima uchun ma'lumotlar bazasining jismoniy joylashuvi muhim?
qo'shib qo'ydi muallif jro, manba
uning noqonuniy emasligi yaxshi sabab uchun;)
qo'shib qo'ydi muallif Allan Chua, manba
qo'shib qo'ydi muallif John Donn, manba

8 javoblar

1 - Bunga o'xshash biror narsa sotib oling. UPS GPS qabul qilish qurilmasi.

2 - Uni server mashinasiga ulang.

3 - GPS dasturini chaqiradigan va joriy pozitsiyasini qaytaradigan bir ommaviy yoki kabuk skript yozing.

4 - bu skriptni chaqirish va SQL Server so'rovi orqali joriy joylashuvni qaytarish uchun xp_cmdshell dan foydalaning.

7
qo'shib qo'ydi
- lekin agar u USB qurilmasini ulab olmasa, u bulut emas
qo'shib qo'ydi muallif Jeremy Thompson, manba
+1 bu qurilma salqin, lekin CLS Sproc xp_cmdshell mening taklifim kabi yoqimtoyga uchmasligi mumkin (lekin OP o'ta kamchilikni aniqlamadi)
qo'shib qo'ydi muallif Jeremy Thompson, manba
+1, siz telefonni sotib olishingizni qayd qiladi :)
qo'shib qo'ydi muallif Moo-Juice, manba
Bu fikrni do'stim yoqadi;)
qo'shib qo'ydi muallif Allan Chua, manba
@JeremyThompson - ha, bulutmi yoki yo'qmi, aniq emas. Shubhasiz, bu, albatta, ishlamaydi.
qo'shib qo'ydi muallif JNK, manba

IPhone/Android telefonini sotib oling va uni ma'lumotlar bazasiga ega bo'lgan mashinaning yuqori qismiga o'tkazing. GPS API-ga qarash va telefonning HTTPS orqali (xavfsizlik uchun) JSON/SOAP API-dan foydalanishga bog'liq bo'lgan ma'lumotlar bazasiga joylashuvini tezroq yozing.

Keyinchalik C# -dan foydalanadigan joydan GPS ma'lumotlariga kirishingiz mumkin.

Tartibga solish

Working with the GPS on Mono/iPhone: http://drdobbs.com/mobility/222600599

Example code, GPS on Mono/Android: https://github.com/gshackles/Sample-Projects/blob/master/MonoDroid/MonoDroidSamples/MonoDroidSamples/DemoActivities/LocationDemo/LocationActivity.cs

6
qo'shib qo'ydi
@DavidePiras Men buni jiddiy javob emasligini ta'kidlashim kerak edi, lekin bu butunlay amalga oshirilishi mumkin. Ammo, nima uchun juda ko'p qo'shimcha qurilmani sotib olish kerak? Bu faqat Android telefoni ... Siz ushbu dasturni Mono C# da hypothetically yozishingiz mumkin. Ma'lumotlar bazasi serveri allaqachon mavjud.
qo'shib qo'ydi muallif Moo-Juice, manba
@gbn menga ushbu GPS-dan qanday foydalanishni tushunyapsizmi?
qo'shib qo'ydi muallif Allan Chua, manba
@ Moo-Juice Men buni yaxshi fikr deb bilaman, lekin oddiy matnni va kodni oddiy ishlatish bilan bu erda biron-bir narsa olasizmi?
qo'shib qo'ydi muallif Allan Chua, manba
Ammo, buni hozirgi manzilidagi ma'lumotlar bazasidan javob olish uchun ishlatishim mumkinmi?
qo'shib qo'ydi muallif Allan Chua, manba
Yuzda til bo'lsa-da, bu e'tiborga sazovor. Joyni xohlaysizmi? GPSdan foydalaning. IP ishonchli emas.
qo'shib qo'ydi muallif gbn, manba
Xo'sh, bu aniqroq bo'lishi mumkin, ammo agar datacenter yaxshi ajratilgan bo'lsa va telefonlarda signal bo'lmasa-chi? shuningdek, sotib olish uchun juda ko'p qo'shimcha qurilmani talab qiladi ...
qo'shib qo'ydi muallif Davide Piras, manba

Eng sodda yechim - DNS tekshiruvini bajarish, keyin Cody-ning taklifi sifatida IP-manzil xizmatidan foydalanish. Buni ko'ring:

var foo = Dns.GetHostEntry("database.windows.net");

Sizning IP manzilingizni olganingizdan so'ng, sizga http: //www.iplocationfinder. MAQOMOTI/65.55.23.107 bir IP-manzil ma'lumotlar bazasini to'lashni istamasangiz HttpWebRequest-dan foydalaning. HttpWebRequestga javobni olganingizdan so'ng, o'rniga kerakli manzilni yoki kenglik va uzunlikni ajratish uchun muntazam ifodani ishlatishingiz mumkin.

6
qo'shib qo'ydi

Sizning kompaniyangizda bir kecha-kunduzda ko'chiriladigan yoki bulutli fayllarni sozlash uchun shu qadar ko'p serverlar mavjudmi? IP-manzili, ehtimol, asosiy noto'g'ri - boshlang'ich nuqtadan yaxshiroqdir.

4
qo'shib qo'ydi
Buni sizga yaxshi maslahat sifatida beraman +1
qo'shib qo'ydi muallif Allan Chua, manba

Davide Pirasning ta'kidlashicha, siz ushbu saytni foydalanishingiz mumkin: http://ip-lookup.net/ Sizning IP-manzilingiz DB Server deb ataladi va siz Chiqishni muntazam ravishda ochishingiz mumkin yoki http: //htmlagilitypack.codeplex. MAQOMOTI/.

Bu siz faqatgina sizning JB Server IP-manziliga ega bo'lishingiz mumkin bo'lsa, u holda ishlaydi, chunki sizda muammo bo'lmasligi kerak deb hisoblayman.

Bunga erishish uchun WebBrowser Control foydalaning, webbrowser1.navigate ("http://ip-lookup.net/"); undan ko'ra:

HtmlElementCollection elc = this.webBrowser1.Document.GetElementsByTagName("input");
            foreach (HtmlElement el in elc)
            {
                if (el.GetAttribute("type").Equals("text") && el.GetAttribute("name").Equals("ip"))
                {
                    el.InnerText = "Server IP";
                }
            }

Keyingi :

HtmlElement form = webBrowser1.Document.GetElementById("form_single_IP");
            if (form != null)
                form.InvokeMember("submit");
             //Submit the form

and try to filter the output because im not very good using Regex .You can capture the Output by using webbrowser1.DocumentText;

2
qo'shib qo'ydi
@AllanChua i`ll Mening savolim yangilang
qo'shib qo'ydi muallif Burimi, manba
@AllanChua Yo'q, ma'lumotlar bazasi serveri IP-manzilini olish va ushbu turdagi Internet-saytni (xizmatlarni) ishlatishingiz kerak, ammo DataBase-ning geografik joylashuvini topishingiz mumkin (aniq emas, lekin u ishlaydi)
qo'shib qo'ydi muallif Burimi, manba
Bu jd39urj4j4.database.windows.net azure mijozlarining namunali aloqasi
qo'shib qo'ydi muallif Allan Chua, manba
Agar sizda mavjud bo'lgan barcha ma'lumotlar bazasiga boshqa birlashma belgisi bo'lsa, buni qanday qilish kerakligini menga bera olasizmi?
qo'shib qo'ydi muallif Allan Chua, manba
Lekin bu men uchunmi? ma'lumotlar bazasi joylashgan server uchun to'g'ri emasmi?
qo'shib qo'ydi muallif Allan Chua, manba

Ma'lumotlar bazasini joylashuvni aytib berish uchun nima uchun ishlatmaslik kerak? Nima demoqchi ekanimni aniqlash uchun:

Using SQL CLR Stored Procedure To Track IP Address - but make the CLR sproc return the ipaddress of the server its hosted on.

I saw the azure connection string you mentioned to Cody and thought these would be a handy links: http://blogs.msdn.com/b/windowsazure/archive/2011/07/06/windows-azure-deployments-and-the-virtual-ip-address.aspx

Ilova qilingan ilovadan Azure umumiy IP-manzilini oling

1
qo'shib qo'ydi

Vaqt mintaqasini belgilash, ehtimol sizning SQL Server-dan qilishingiz mumkin bo'lgan eng yaxshisidir, ammo sizning tavsifingiz asosida bu siz uchun etarlicha bo'lishi mumkin. Serverni joylashgan vaqt mintaqasining GMT formatini olish uchun ushbu so'rovdan foydalanishingiz mumkin:

SELECT DATEDIFF(hh, GETUTCDATE(), GETDATE()) AS ServerTimeZone

Ushbu natija tufayli vaqt mintaqasi qisqartmasi, ya'ni EST , CST va hokazolarni qaytarib olish uchun ba'zi bir mantiqni osongina qo'shishingiz mumkin. Men buni bilmayman, lekin umid qilamanki, bu yordam beradi .

1
qo'shib qo'ydi
Ha ... bu ham gadjetlar tomonidan qaytarilgan GPS pozitsiyasini to'g'ri tekshirish uchun tekshirishga yordam beradi :)
qo'shib qo'ydi muallif Allan Chua, manba

Kimdir allaqachon jismoniy ravishda serverni harakatga keltirsa, nega JBga tegishli manzilni yozadigan ba'zi bir skriptni yozmasligingiz kerak? Mashina ishga tushirilganda, ushbu vositani avtomatik ravishda ishga tushiring va "harakatlanuvchi" manzilni tanlang.

0
qo'shib qo'ydi