Sayt bo'limlari
Muharrir tanlovi:
- 1c chakana savdoda tovarlarni taqqoslash 8
- Texnik fikrlash uchun mini test
- Algoritmlar bo'yicha informatika bo'yicha test
- Kvartira, uy va boshqa ko'chmas mulkni sotish to'g'risida e'lonni bepul yuborish Uyni tez sotish to'g'risida e'lon yuborish
- Maktublarni o'qish orqali pul ishlash Xatlarni o'qish, lekin mukofot
- Kompyuter uchun maktab kundaligi dasturi
- Mavzu bo'yicha material: "Chun qalbim bilan" kontsert dasturi barcha epizodlari bilan butun qalbim bilan teleko'rsatuv
- Sovet akustikasi Amfiton 35ac 018 Stradivarius skripka kuchaytirgichi Corvette
- S90 ni takomillashtirish yoki ularni minimal xarajat bilan qanday qilib "qo'shiq" qilish kerak Radiotexnika s90 uchun yangi uy
- Matritsalar ustida amallarning ayrim xossalari
Reklama
Microsoft sql foydalanuvchi qo'shish. MS SQL ma'lumotlar bazasi foydalanuvchisini yaratish |
Microsoft SQL Serverda ma'lumotlar bazasi ma'muri hisoblarni SQL Server misoliga qo'shadi va bu hisoblar SQL Server misolida alohida ma'lumotlar bazalarida foydalanuvchilarga ko'rsatiladi. Jadvallar va ob'yektlar sinflarini yaratuvchi ma'lumotlar bazasi foydalanuvchilari ma'lumotlar bazasida ob'ektlarni va ushbu ob'ektlar yaratiladigan sxemani yaratish uchun tegishli ruxsatlarga ega bo'lishi kerak. ArcGIS-da foydalanilganda, sxema nomi ma'lumotlar bazasi foydalanuvchi nomiga mos kelishi kerak. Buning uchun geoprocessing vositasi yoki skriptdan foydalanishingiz mumkin Ma'lumotlar bazasi foydalanuvchisini yaratish quyidagi operatsiyalarni bajarish uchun:
Ma'lumot yarata oladigan foydalanuvchi qo'shing.Asbobni ArcGIS for Desktop’dan ishga tushirishingiz yoki jadvallar, xususiyat sinflari va ko‘rinishlarni yarata oladigan ma’lumotlar bazasi foydalanuvchisini yaratish uchun Python skriptida asbobni chaqirishingiz mumkin. Asbobni ishga tushirish uchun SQL Server misolida tizim administratori huquqlariga ega hisob qaydnomasi yordamida maʼlumotlar bazasiga ulanishingiz kerak Ma'lumotlar bazasi foydalanuvchisini yaratish asbob. Agar siz Windows hisob qaydnomasi bilan geoma'lumotlar bazasi foydalanuvchisini yaratmoqchi bo'lsangiz, vositani ishga tushirishdan oldin tegishli hisob allaqachon mavjud bo'lishi kerak. Asbobdan foydalanish Ma'lumotlar bazasi foydalanuvchisini yaratish
Python skriptini ishga tushiringSkript yordamida foydalanuvchi yaratish uchun quyidagi amallarni bajaring:
Sizning ma'lumotlar bazangiz endi jadval yaratishi mumkin bo'lgan foydalanuvchini o'z ichiga oladi. Ma'lumotlar egasi ma'lumotlar bazasida yoki geoma'lumotlar bazasida jadvallar yaratishning bir necha usullari mavjud. ArcGIS yordamida jadvallarni yaratish haqida ma'lumot olish uchun geoma'lumotlar bazasiga ma'lumotlar to'plamini qo'shishning umumiy ko'rinishiga qarang. Ma'lumotlar to'plami mavjudligi sababli uning egasi boshqa foydalanuvchilarga ma'lumotlarga kirish huquqini berishi mumkin. Ko'rsatmalar uchun Ma'lumotlar to'plamlariga kirish ruxsatlarini berish va bekor qilish bo'limiga qarang. SQL Server vositalari yordamida hisob qaydnomalari va foydalanuvchilarni yaratishAgar siz ushbu vosita tomonidan taqdim etilgan huquqlardan farq qiladigan foydalanuvchi yaratmoqchi bo'lsangiz Ma'lumotlar bazasi foydalanuvchisini yaratish, yoki unga to'g'ridan-to'g'ri berilgan huquqlarga ega bo'lmasa, buning uchun SQL Server vositalaridan foydalanishingiz mumkin. ArcGIS bilan foydalanish uchun shaxsiy hisoblaringizni va foydalanuvchilaringizni yaratishda bir nechta narsalarni yodda tutishingiz kerak:
Hisoblar, foydalanuvchilar va sxemalarni yaratish uchun SQL Server vositalaridan foydalanish bo'yicha ko'rsatmalar uchun Microsoft SQL Server hujjatlariga qarang. O'nlab yillar davomida ma'lumotlar bazasiga kirish uchun ruxsat berish jarayonini boshqarishga yordam berish uchun ma'lumotlar bazalarida foydalanuvchi rollarini aniqlash mumkin edi, ammo misol darajasida har doim to'qqizta sobit rol mavjud edi (yoki sakkizta, agar siz SQL Server 2000 dan oldingi versiyadan foydalansangiz - bulkadmin roli SQL Server 2005 da kiritilgan). Endi, SQL Server 2012-ning paydo bo'lishi bilan, nihoyat, maxsus yoki moslashtirilgan server rollarini yaratish mumkin. Ko'p yillar davomida ushbu funksiyaning mavjud emasligi SQL Server ma'murlari uchun bosh og'rig'i manbai bo'lib kelgan. Agar sizga misol darajasida bir nechta foydalanuvchi yoki guruhlarga huquqlar berish va bu huquqlarni sinxronlashtirish kerak bo'lsa, nima qilgan bo'lardingiz? Aytaylik, siz ko'p sonli foydalanuvchilarga tizim holatini ko'rish huquqini bermoqchisiz, shunda ular ishlab chiqish markazlarida blokirovka ma'lumotlarini ko'rishlari mumkin. Har bir foydalanuvchi yoki domen guruhiga alohida huquqlar berish kerak edi. Agar barcha loginlar domenga kirish bo'lsa, vaqtinchalik yechim bor edi: bunday huquqlarga muhtoj bo'lgan barcha foydalanuvchilarni o'z ichiga olish uchun domen guruhini yaratishingiz mumkin (agar siz bir nechta serverlarda huquqlar berishingiz kerak bo'lsa, har bir server uchun alohida guruhlar yaratishingiz kerak bo'ladi). Siz ushbu guruhga foydalanuvchilarni qo'shishingiz, ushbu domen guruhi bilan bog'langan login yaratishingiz va keyin guruhga serverda server holatini ko'rish huquqini berishingiz mumkin. Ammo buni juda ehtiyotkorlik bilan qilish kerak edi. Aks holda, ilgari bunday huquqlarga ega bo'lmagan foydalanuvchilarga kirish huquqini berish mumkin edi. Hatto foydalanuvchilarga ularga berilmasligi kerak bo'lgan huquqlarni berish mumkin edi. T/SQL yordamida rol yaratishT/SQL, SQL Server Management Studio va Windows PowerShell yordamida serverda maxsus rol yaratishning ko'plab usullari mavjud. Agar siz T/SQL yordamida maxsus server rolini yaratmoqchi bo'lsangiz, uchta buyruqdan foydalanishingiz kerak: "Server rolini yaratish" bayonoti maxsus server rolini yaratadi, Server rolini o'zgartirish iborasi foydalanuvchini rolga qo'shadi va nihoyat, Grant bayonoti rolga kerakli huquqlarni beradi. Ushbu uchta bayonotdan foydalanish ViewServerState nomli maxsus server rolini yaratadigan quyidagi kodda tasvirlangan. SomeFakeLogin foydalanuvchisi rolga qo'shiladi va rolga Server holatini ko'rish huquqi beriladi. Boshqa foydalanuvchilarga ushbu huquqni berish uchun ularni Alter Server Role bayonoti yordamida tayyor rolga qo'shing. GO FOYDALANISH SERVER ROLINI AVTORIZATSIYASINI CREATE CREATE GO SERVER ROLINI O‘ZGARTIRISH BO‘LGAN A’ZO QO‘SHISH GO BOSHLASH UCHUN SERVER DAVLATINI KO‘RING. Foydalanuvchini roldan olib tashlash uchun Server rolini o'zgartirish iborasidan foydalaning. Bunday holda, a'zo qo'shish va a'zoni tashlab yuborish parametrlari qo'llaniladi: SERVER ROLINI O'ZGARTIRISh SQL Serverning ko'p nusxalarida bir yoki bir nechta maxsus server rollarini o'rnatishingiz kerak bo'lganda, bir nechta variant mavjud. Siz har bir serverga alohida ulanishni va ularda maxsus server rollarini yaratishni yoqtirmasligingiz mumkin. Bitta variant - SQL Server Management Studio konsolidan foydalanish. Bu bir vaqtning o'zida bir nechta misollarda T/SQL skriptlarini ishga tushirish imkonini beradi. Tashkilotingizdagi barcha SQL Server misollariga yangi maxsus server rollarini o'rnatish uchun SQL Server Windows PowerShell komponentlaridan ham foydalanishingiz mumkin. (Ushbu vazifani bajarish uchun Windows PowerShell-dan foydalanishning ko'plab variantlari mavjud, ammo ular ushbu maqola doirasidan tashqarida.) SQL Server Management Studio konsoliVazifani SQL Server Management Studio GUI yordamida osongina bajarish mumkin. Maxsus server rolini yaratish uchun Object Explorer yordamida misolga ulaning. Object Explorer-da tugunga o'ting<misol_nomi>>Xavfsizlik/server rollari. Server rollarini o'ng tugmasini bosing va Yangi server rolini tanlang. Ochilgan yangi server roli oynasida Server roli nomi maydonida rol nomini, Egasi maydonida rol egasini belgilang, so'ngra a'zolarga berilishi kerak bo'lgan ob'ektlar va ruxsatlarni belgilang. roli ( guruch. 1). Guruch. 1. Rol taqdim etishi kerak bo'lgan huquqlarni belgilang Umumiy sahifada ish tugagach, aʼzolar sahifasiga oʻting ( guruch. 2) va ushbu maxsus server rolining bir qismi bo'lishi kerak bo'lgan SQL Server loginlarini belgilang. Guruch. 2. Rol a'zolarini aniqlash A'zolar sahifasida rol a'zolarini aniqlagandan so'ng, A'zolar sahifasiga o'ting. Bu maxsus server roli a'zo bo'lishi kerak bo'lgan server rollarini belgilaydi. Agar siz ushbu sahifada rolni tanlasangiz, siz yaratgan maxsus server roliga a'zo bo'lgan foydalanuvchilar ham tanlangan rol huquqlariga ega bo'ladilar. Agar siz maxsus rol yaratsangiz va uni serveradmin sobit server roliga a'zo qilsangiz ( guruch. 3), yangi yaratilgan foydalanuvchi rolining barcha a'zolari ham serveradmin roli huquqlariga ega bo'ladi. Domen guruhlari yoki ma'lumotlar bazasi rollarini joylashtirishda bo'lgani kabi, foydalanuvchilarga ular ega bo'lmasligi kerak bo'lgan huquqlarni bermaslik uchun rollarni joylashtirishda juda ehtiyot bo'lish kerak. Guruch. 3. Maxsus rollar boshqa server rollariga kiritilishi mumkin T/SQL-dan foydalangan holda rollarni joylashtirishni tashkil qilish uchun sizga Ro'yxatdan o'tishni qo'shish parametri bilan Server rolini o'zgartirish bayonoti kerak bo'ladi. Misol uchun, ViewServerState maxsus server rolini o'rnatish boshqaruvchisi sobit server rolining a'zosi qilish uchun sozlash boshqaruvchisi sobit server rolini tahrirlashingiz kerak. SERVER ROLINI O'ZGARTIRISh A'ZO QO'SHISH KETISH Maxsus server rollari ko'p foydalanuvchilarga ega bo'lishi mumkin. Ushbu huquqlarni boshqarishni osonlashtirish uchun maxsus server roliga berilishi mumkin bo'lgan o'nlab misol darajasidagi huquqlar mavjud. Bundan tashqari, kichik DBA uchun rol yaratishingiz mumkin, unga ma'mur huquqlarining hammasi emas, balki ba'zilari beriladi. Siz to'liq ma'muriy huquqlarni bermasdan AlwaysOn ma'lumotlar bazasiga o'tishni (SQL Server ichida amalga oshirilishi kerak) amalga oshirish huquqini beruvchi AlwaysOnAdmin guruhini yaratishingiz mumkin. Maxsus server rollari juda qulay bo'lgan ko'plab vaziyatlar mavjud. Ular ma'murning ishini sezilarli darajada osonlashtiradi. Ushbu guruhlar, shuningdek, foydalanuvchilarga tasodifan berilmasligi kerak bo'lgan huquqlarni berish ehtimolini kamaytirish orqali SQL Server nusxalaringiz xavfsizligini yaxshilashga yordam beradi. Eslatma, barcha tasvirlangan harakatlar serverda, huquqlar bilan bajarilishi kerak Administrator. Agar serverga jismoniy kirish imkoningiz bo'lmasa ( SQL Server), yoki masofaviy ish stoliga kirish yoki sizning hisobingiz ruxsatnomalari foydalanuvchilarni boshqarishga, jumladan, yangi foydalanuvchilarni yaratishga imkon bermasa, bu erda muhokama qilingan muammoni o'zingiz hal qila olmaysiz. Agar shunday bo'lsa, yordam uchun tizim administratoringizga murojaat qiling. Agar sizda muntazam virtual xosting bo'lsa, u holda hosting kompaniyangizning texnik yordamiga murojaat qilmasdan, ma'lumotlar bazasi foydalanuvchilarini mustaqil ravishda boshqara olmaysiz. Yugurish Microsoft SQL Server Management Studio va serverga ulaning. Ro'yxatda "Ob'ekt brauzeri"(agar ko'rsatilmasa, F8 tugmasini bosing) jildni oching "Xavfsizlik". Jildni o'ng tugmasini bosing "Kirish nomlari", paydo bo'lgan menyuda tanlang "Kirish yaratish...". Ko'rsatilgan oynada, maydonda "Kirish nomi" loginingizni kiriting. Masalan: "sariq" (tirnoqsiz). Keyin autentifikatsiya turini tanlang. Standart qiymat "Windows autentifikatsiyasi", bu degani ulanganda SQL Server hisobidan foydalaniladi Windows. Qoida tariqasida, bu usul uzoq serverlarda qo'llanilmaydi. Tanlang "SQL Server autentifikatsiyasi". Bobda "Parol", har qanday parolni kiriting, eng muhimi, keyinroq foydalanuvchiga o'tishi uchun uni yozib qo'ying. Agar parol yo'qolsa, uni istalgan vaqtda o'zgartirish mumkin. Variantni yoqilgan qoldirishni unutmang "Parol siyosatidan foydalanishni talab qilish". Boshqa variantlar: "Parolni cheklash muddatini o'rnatish" Va "Foydalanuvchi keyingi kirishda parolini o'zgartirishi kerak", sizning ixtiyoringiz bilan foydalaning, lekin serverga ulanishda keraksiz muammolarni yaratmaslik uchun ular odatda o'chirib qo'yiladi. Xuddi shu oynada, eng pastki qismida, tanlang standart ma'lumotlar bazasi. Aynan shu ma'lumotlar bazasi foydalanuvchi serverga ulangandan keyin ochiladi. bosing "Kelishdikmi" hisob yaratish uchun.
Hisobni ma'lum jadvallar bilan bog'lash va foydalanuvchi huquqlarini aniqlash uchun jildni kengaytiring "Kirish nomlari" Ob'ekt brauzerida. Ro'yxatda yaratilgan hisobni toping va ustiga sichqonchaning o'ng tugmachasini bosing, menyuni tanlang "Xususiyatlar".
12.07.2016 Tim Ford Ma'lumotlar bazasi ma'muri xavfsizlik to'g'risida nimani bilishi kerak: shartlar tushuntirishi va amaliyotdagi ob'ektlarning umumiy ko'rinishi SQL Server xavfsizligi va ishonchli autentifikatsiyaMicrosoft SQL Serverda ikki turdagi xavfsizlik sxemalari mavjud: SQL Server xavfsizligi va ishonchli autentifikatsiya (Windows autentifikatsiyasi deb ham ataladi). SQL Server xavfsizligi standart login foydalanuvchi nomi va parol birikmasidir va ishonchli autentifikatsiya SQL Server nusxasiga ulanishga urinayotgan qurilmaning domen autentifikatsiya protsedurasi tomonidan tasdiqlanganligini va bu tekshirish natijalari nusxasiga uzatilishini nazarda tutadi. SQL Server: domen SQL Server namunasi foydalanuvchi hisobiga ishonadigan xost sifatida qabul qilinadi - avval tekshirilgan. SQL Server xavfsizlik mexanizmi orqali SQL Serverga ulanishga urinayotgan foydalanuvchilar va ilovalar maqsadli SQL Serverda yaratilgan foydalanuvchi nomi va parolni taqdim etishi kerak. Ishonchli autentifikatsiya yordamida ulanishda siz faqat ishonchli autentifikatsiya ishlatilganligini bildirish uchun ulanish qatorida bayroqni o'rnatishingiz kerak. Bunday holda, oxirgi foydalanuvchi yoki ilova xizmati hisobi hisobga olish ma'lumotlari xavfsizlik belgisi sifatida yuboriladi. Agar SQL Serverda mos keladigan foydalanuvchi nomi mavjud bo'lsa, kirish huquqi beriladi. Ismlar va foydalanuvchilarSQL Server misoliga kirishning ikki darajasi mavjud: server (yoki misol) foydalanuvchi hisoblari va ma'lumotlar bazasi foydalanuvchilari. Hisob qaydnomalaridan foydalanib, serverlar tashqi foydalanuvchiga (ushbu maqolada "foydalanuvchi" atamasi SQL Serverga ulanishga urinayotgan har qanday dastur, xizmat, API va hokazolarni bildiradi) SQL Server nusxasiga dastlabki ulanishni amalga oshirish imkonini beradi. SQL-ga asoslangan xavfsizlik bilan bu foydalanuvchi nomi va parolni talab qiladi. Ishonchli autentifikatsiya holatida bu domen hisobi. Ushbu foydalanuvchi hisoblarini yaratishning ikkita usuli mavjud: Transact-SQL (https://msdn.microsoft.com/en-us/library/ms189751.aspx? f=255&MSPPError=-2147217396) yoki GUI orqali. Hisob qaydnomalarini yaratish uchun T-SQL-dan foydalanish tartibi yaxshi hujjatlashtirilgan va rasmiy Microsoft SQL Server hujjatlariga murojaat qilish yaxshidir. Hozircha, grafik interfeysda hisob qaydnomasini qanday yaratishni ko'rib chiqamiz. Foydalanuvchi hisoblarini yaratish uchun dialog oynasini ishga tushirish uchun Object Explorer-da SQL Server Management Studio (SSMS) da SQL Server misoliga ulaning va keyin Security\Logins tugunini kengaytiring. Kirish-ni o'ng tugmasini bosing va kontekst menyusidan Yangi kirish-ni tanlang (1-rasm). Siz 2-rasmda ko'rsatilgan hisob sozlamalari dialog oynasini ko'rasiz. Xuddi shu oynada foydalanuvchi nomingizni o'zgartirishingiz mumkin. Bu hisob sozlamalarini yaratish (va o'zgartirish) uchun Umumiy yorlig'i. U ilgari tasvirlangan ikkita xavfsizlik sxemasidan farq qiladi. Umumiy yorlig'ida siz quyidagilarni o'rnatishingiz mumkin:
3-rasmda ko'rsatilgan keyingi yorlig'iga o'tamiz Server rollari. Ushbu sahifada siz yangi foydalanuvchi uchun istalgan SQL Server (namuna) darajasidagi rollarni tanlashingiz mumkin. Server rollari huquqlar to'plami bo'lib, ular himoyalanuvchilar deb ham ataladi, ular to'plamga to'planadi, shuning uchun har bir himoyalanuvchiga alohida huquqlarni belgilashingiz shart emas. Odatiy bo'lib, har bir hisob umumiy rolning a'zosi bo'lib, u SQL Server nusxasiga asosiy ulanishni o'rnatish imkonini beradi. Maqolaning qolgan qismida Microsoft SQL Serverga kiritilgan har bir server roli ko'rib chiqiladi. SQL Server Management Studio'da Login yaratish dialog oynasining keyingi sahifasi foydalanuvchi hisobini xaritalash uchun mo'ljallangan. Har bir hisob bir yoki bir nechta ma'lumotlar bazasida foydalanuvchiga ega bo'lishi mumkin. Ushbu sahifada siz yangi hisob bilan bog'langan ma'lumotlar bazasi foydalanuvchilarini yaratishingiz mumkin. Buning uchun siz quyidagi ma'lumotlarni taqdim etishingiz kerak.
SQLCRUISE\skipper foydalanuvchi hisobi uchun misol dialog oynasini ko'rib chiqamiz (4-rasmga qarang). Ushbu misolda SQLCRUISE\skipper foydalanuvchisiga standart ma'lumotlar bazasiga (qutqaruv qayig'iga) huquqlar beriladi, bunda bog'langan foydalanuvchi nomi oddiygina skipper hisoblanadi. Standart sxema faqat skipper_only. Ushbu hisob qaydnomasi uchun foydalanuvchilar yaratiladigan boshqa ikkita ma'lumotlar bazasi foydalanuvchi nomidagi kabi bir xil foydalanuvchi nomidan foydalanadi (odatda identifikatsiya qilish qulayligi uchun) va standart sxema dbo bo'lib, u Microsoft SQL Serverda barcha foydalanuvchi tomonidan belgilangan standart hisoblanadi. ob'ektlar. Bu haqda batafsil ma'lumot keyingi bo'limda taqdim etiladi. Qutqaruv kemasi ma'lumotlar bazasida biz faqat umumiy ma'lumotlar bazasi roliga a'zolikni ta'minlaymiz, bu sizga ma'lumotlar bazasiga qo'shimcha ruxsatlarsiz ulanish imkonini beradi. Keyingi sahifa, Securables, server yoki misol darajasida himoyalanuvchilarni taqdim etadi. Yuqorida ta'kidlab o'tilganidek, himoyalanuvchilar ob'ektlarga berilgan ruxsatlardir. Xavfsiz ob'ektlar odatda quyidagi hollarda taqdim etiladi:
Bizning misolimizda men umumiy server rolida SQLCRUISE\skipper a'zoligini berdim va unga server darajasida mavjud bo'lgan har qanday ob'ekt ta'riflarini ko'rishga ruxsat berdim (5-rasmga qarang). Nihoyat, biz Status sahifasiga o'tamiz. Ushbu sahifada siz foydalanuvchiga kirishga ruxsat berishingiz yoki rad etishingiz mumkin (odatda Grant tanlangan - ruxsat berish). Shuning uchun siz hisob yaratishingiz, huquqlar berishingiz, bog'langan foydalanuvchilarni yaratishingiz va keyin kirishni bekor qilishingiz mumkin. Mavjud foydalanuvchi uchun ushbu oynaga qaytishingiz va SQL Server misoliga kirishni bekor qilishingiz mumkin. Hisobni yoqish va o'chirish xuddi shu tarzda sodir bo'ladi (6-ekranga qarang). Nihoyat, biz foydalanuvchining hisob holatini ko'rishimiz va noto'g'ri parol bilan kirish uchun juda ko'p muvaffaqiyatsiz urinishlar tufayli hisob bloklanganligini ko'rishimiz mumkin. SQL_Cruise ma'lumotlar bazasida tblFoo nomli faqat bitta jadval mavjud bo'lsa va joriy ma'lumotlar bazasi konteksti SQL_Cruise ma'lumotlar bazasi bo'lsa, har bir variant muvaffaqiyatli ishlaydi. Biroq, SQL_Cruise ma'lumotlar bazasini o'z ichiga olgan SQL Server nusxasida qaysi ma'lumotlar bazasiga ulanganligingizdan qat'i nazar, faqat birinchi variant to'g'ri ishlaydi. Ikkinchi variant, agar siz SQL_Cruise ma'lumotlar bazasiga ulangan bo'lsangiz, tblFoo-ga ega bo'lgan sxemalar sonidan qat'i nazar, amalga oshiriladi, chunki siz dbo sxemasini ko'rsatgansiz. Uchinchi variant xato xabarini hosil qiladi (8-rasmga qarang), agar SQL_Cruise ma'lumotlar bazasida tblFoo bilan bir nechta sxemalar mavjud bo'lsa, men dbo.tblFoo jadvalini va user.tblFoo jadvalini yaratgan 4-listda ko'rsatilganidek. Ha, bu to'g'ri - ob'ekt mavjud, lekin siz noto'g'ri ob'ekt nomi xato xabarini olasiz. Bunday nomdagi ob'ekt mavjud emasligiga hech qachon oldindan ishonch hosil qilmang. Xabar sintaksis muammosini ko'rsatishi mumkin. Ruxsat etilgan rollar Microsoft SQL Server bilan server va ma'lumotlar bazasi darajasida mavjud. Biroq, agar siz ko'p foydalanuvchilarga bir xil ruxsatlarni belgilashingiz kerak bo'lgan vaziyatlar yuzaga kelsa, o'zingizning rollaringizni yaratishingiz mumkin. Maxsus rollarni yaratish sizga ushbu huquqlarni faqat bir marta belgilash imkonini beradi: rolni yaratganingizda, har bir foydalanuvchi yoki har bir foydalanuvchi hisob qaydnomasi asosida emas (ma'lumotlar bazasi yoki server rollariga qarab). Vaqtni tejashga qo'shimcha ravishda, u bir nechta foydalanuvchi yoki hisob qaydnomalariga huquqlarni belgilashda nomuvofiqlikni yo'q qiladi. Microsoft tomonidan taqdim etilgan server rollari va ma'lumotlar bazasi rollarining to'liq ro'yxati bo'ylab harakatlanish uchun giperhavolalardan foydalaning. Kelgusi maqolalar, biz asosiy mavzulardan chuqurroq mavzularga o'tishni boshlaganimizda, rollarni qanday yaratish, ushbu rollarga foydalanuvchilar yoki hisoblarni qo'shish va server va ma'lumotlar bazasi darajasidagi rollar bilan huquqlarni qanday bog'lashni o'z ichiga oladi. Microsoft SQL Server xavfsizligi juda muhim mavzu. U o'zining teranligi, shuningdek, terminologiyasining o'ziga xosligi bilan ajralib turadi. Umid qilamanki, men turli atamalarni tushuntirish va amaliyotda qo'llaniladigan ob'ektlar haqida umumiy ma'lumot berish maqsadiga erishdim. Biz ushbu boshlang'ich darajadagi maqolalarda yana bir nechta mavzularni ko'rib chiqamiz, lekin men tez orada ushbu postdan kelib chiqadigan murakkabroq muammolarni ko'rib chiqaman. Har doimgidek, o'quvchilarga e'tiborlari uchun minnatdorchilik bildiraman va sharhlaringizni kutaman. Umid qilamanki, ushbu maqola yangi boshlanuvchilar ma'lumotlar bazasi ma'murlariga SQL sirlarini o'zlashtirishga yordam beradi. Listing 1. GUIda qilingan sozlamalarga mos keladigan kod FOYDALANISH GO DEFAULT_DATABASE BILAN WINDOWSDAN LOGIN YARATISH= FOYDALANISH GO KIRISH UCHUN FOYDALANUVCHI YARASH DEFAULT_SCHEMA BILAN FOYDALANUVCHI O‘GRISH= SCHEMA YARATISH AVTORIZASYONASINI KETISH FOYDALANING. KIRISH UCHUN FOYDALANUVCHI YARATISH FOYDALANUVCHINI DEFAULT_S CHEMA BILAN O‘ZGARTIRISh= GO GO GRANT KO'RISHNI KETISH uchun har qanday ta'rifni ishlating Listing 2. Tizim va ma'lumotlar bazasi foydalanuvchilari haqida ma'lumot ism , sid , principal_id , type_desc , default_ma'lumotlar bazasi_nomini sys.server_principals FROM TANGLASH QERDA nomi = "professor"; lifeboat.sys.database_principals FROM nomi , sid , principal_id , type_desc , default_schema_name NI TANLASH QERDA nomi = "professor"; Listing 3. Jadval ustunlari va satrlarini tanlash uchun so'rov namunasi 1-VARIANT: FQDN -============================================= ============ ============================== SQL_Cruise.dbo.tblFoo dan * TANLASH; -================================================== === ======================== - 2-VARIANT: ism sxema orqali aniqlangan -============= == ================================================ ===== ======= dbo.tblFoo dan * TANLASH; -================================================== === ======================== - 3-VARIANT: faqat ob'ekt nomi -============== === =============================================== ====== ===== tblFoo dan * TANLASH; Listing 4. Bir nechta sxemalar bilan jadvallar yaratish USE GO CREATE SCHEMA AVTORIZATION GO CREATE TABLE dbo.tblFoo (id INT); JADVAL YARATISH .tblFoo (id INT); tblFoo dan * TANLASH; SQL Server xavfsizligi asoslari 5 ta javob Savolingizga asoslanib, foydalanuvchi va login o'rtasidagi farq haqida biroz chalkashib ketgan bo'lishingiz mumkin deb o'ylayman. Login - bu umuman SQL Serverdagi hisob - serverga kirishi mumkin bo'lgan va parolga ega bo'lgan shaxs. Foydalanuvchi ma'lum bir ma'lumotlar bazasiga kirish huquqiga ega bo'lgan kirishdir. Login yaratish oson va ma'lum bir ma'lumotlar bazasiga kirish uchun foydalanuvchi hisobini yaratishdan oldin (aniq) bajarilishi kerak: PAROL BILAN NewAdminName LOGIN YARATING = "ABCD" GO Siz e'lon qilgan login yordamida db_owner imtiyozlariga ega foydalanuvchini shunday yaratasiz: Ma'lumotlar bazasidan foydalaning; AGAR MAVJUD BO'LMAGAN O'TISH (Sys.database_principals dan * TANLASH QERDA nomi = N"NewAdminName") LOGIN EXEC sp_addrolemember N"db_owner", N"NewAdminName" END UCHUN FOYDALANUVCHI YARATISHNI BOSHLASH; BOSH Endi loginlar men yuqoridagiga qaraganda bir oz ko'proq suyuqlikdir. Masalan, ma'lumotlar bazasi o'rnatilganda Windows Administrator hisobi uchun foydalanuvchi hisobi avtomatik ravishda yaratiladi (ko'pgina SQL Server o'rnatishlarida). Ko'pgina hollarda men ma'lumotlar bazasini boshqarayotganimda foydalanaman (u barcha imtiyozlarga ega). Biroq, agar siz SQL Serverga ilova orqali kirmoqchi bo'lsangiz, serverni "Aralash rejim" (Windows va SQL login) uchun sozlashingiz va yuqorida ko'rsatilgandek Login yaratishingiz kerak. Keyin ilovangiz uchun zarur bo'lgan narsaga asoslanib, ushbu SQL kiritish uchun "GRANT" imtiyozlarini olasiz. Qoʻshimcha maʼlumot olish uchun qarang. YANGILANISH: Aaron hisobingizga belgilangan rolni tayinlash uchun sp_addsrvrolemember dan foydalanishga ishora qiladi. Bu yaxshi fikr - imtiyozlarni qo'lda berishdan ko'ra tezroq va osonroq. Agar siz uni topsangiz, ko'plab havolalarni ko'rasiz. Biroq, siz hali ham login va foydalanuvchi o'rtasidagi farqni tushunishingiz kerak.
Butun server yoki ma'lum bir ma'lumotlar bazasi uchun to'liq administrator huquqlari? Menimcha, boshqalar ma'lumotlar bazasi uchun javob berishdi, lekin server uchun: FOYDALANISH; KETISH MyNewAdminUser PAROL BILAN LOGIN YARATISH = N"abcd", CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF; GO EXEC sp_addsrvrolemember @loginame = N"MyNewAdminUser", @rolename = N"sysadmin"; Siz foydalanayotgan SQL Server Express versiyasiga qarab CHECK_ parametrlarini qoldirishingiz kerak bo'lishi mumkin (bu ma'lumotni savolingizga kiritish deyarli har doim yaxshi fikr).
Agar siz umumiy skript yaratmoqchi bo'lsangiz, uni foydalanuvchi nomi va ma'lumotlar bazasi nomi bilan almashtirgan holda Execute bayonoti bilan qilishingiz mumkin. @userName ni varchar(50) sifatida e'lon qiling; @defaultDataBaseName ni varchar(50) sifatida e'lon qiling; @LoginCreationScript ni varchar(max) sifatida e'lon qiling; @UserCreationScript ni varchar(max) sifatida e'lon qiling; @TempUserCreationScript ni varchar(max) sifatida e'lon qiling; @defaultDataBaseName = "ma'lumotlar1" o'rnating; set @userName = "domen\userName"; set @LoginCreationScript ="DEFAULT_DATABASE BILAN WINDOWSDAN LOGIN [(userName)] YARATING =(dataBaseName)" @UserCreationScript =" FOYDALANISH (dataBaseName) LOGIN [(userEXtarName") uchun foydalanuvchini [(userName)] yaratish [;adlemeda spp." "", ""(foydalanuvchi nomi)""; EXEC sp_addrolemember ""db_datawriter"", ""(foydalanuvchi nomi)""; Sxema bo'yicha bajarishga ruxsat bering:: dbo TO [(userName)];" /*Login yaratish*/ set @LoginCreationScript=Oʻzgartirish(Almashtirish(@LoginCreationScript, "(userName)", @userName), "(dataBaseName)", @defaultDataBaseName) set @UserCreationScript =Replace(@UserCreationScript, "(userName)" , @userName) Execute(@LoginCreationScript) /*Foydalanuvchi yaratish va rollarni belgilash*/ set @TempUserCreationScript =Replace(@UserCreationScript, "(dataBaseName)", @defaultDataBaseName) Execute(@TempUserCreationScript) set @TempUserCreationScript(@TempUserCreationScript) @TempUserCreationCreplaceUset "(dataBaseName)", "db2") Execute(@TempUserCreationScript) set @TempUserCreationScript =Replace(@UserCreationScript, "(dataBaseName)", "db3") Execute(@TempUserCreationScript)
Siz foydalanishingiz mumkin: LOGIN YARATISH Siz ham foydalanishingiz mumkin: Ruxsat berish [ ,...n ] ON SCHEMA:: schema_name Siz foydalanuvchilarga tayinlagan sxema uchun ruxsatlarni sozlash uchun.
O'tgan hafta men o'z sahifamga Microsoft SQL Server 2014 Developer Edition-ni o'rnatdim va darhol ilgari hech qachon ko'rmagan muammoga duch keldim. Men SQL Serverning turli versiyalarini ko'p marta o'rnatdim va bu odatda og'riqsiz jarayon. Serverni o'rnating, boshqaruv konsolini ishga tushiring, bu juda oddiy. Biroq, ushbu o'rnatishni tugatgandan so'ng, SSMS yordamida serverga kirishga harakat qilganimda, quyidagiga o'xshash xatolik yuz berdi: SQL Serverga kirish xatosi 18456 "Foydalanuvchi uchun tizimga kirish amalga oshirilmadi... (Microsoft SQL Server, xato: 18456)" Agar tizimga kirishda noto'g'ri parol kiritgan bo'lsam, bu xatolikdan foydalandim - lekin bu faqat aralash rejimdan foydalanayotganimda ( Windows va SQL autentifikatsiyasi). Bunday holda, server faqat Windows autentifikatsiyasi bilan tuzilgan va foydalanuvchi hisobi meniki edi. O'rnatish vaqtida nega mening foydalanuvchini SYSADMIN roliga qo'shmaganiga hali ham ishonchim komil emas; Ehtimol, men bir qadamni o'tkazib yubordim va uni qo'shishni unutdim. Har holda, barcha umidlar yo'qolmadi. Agar SQL Serverda boshqa hisob qaydnomasi bilan tizimga kira olmasangiz, buni tuzatish usuli CLI orqali tarmoqqa kirishni qo'shishdir. Buning uchun siz tizimga kirgan shaxsiy kompyuteringiz uchun Windows administratori bo'lishingiz kerak. MSSQL xizmatini to'xtating. Administrator sifatida ishga tushirish buyrug'i yordamida buyruq satrini oching. SQL Server EXE fayli saqlanadigan papkaga o'ting; SQL Server 2014 uchun standart "C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Binn". Quyidagi buyruqni bajaring: "sqlservr.exe -m". Bu SQL Serverni bitta foydalanuvchi rejimida ishga tushiradi. Ushbu buyruq satridan chiqqaningizdan so'ng, boshqasini oching, 2 va 3-bosqichlarni takrorlang. Ikkinchi buyruq satri oynasida "SQLCMD -S Server_Name\Instance_Name" ni ishga tushiring. Ushbu oynada har biridan keyin Enter tugmasini bosing: 1
MSSQL xizmatini qayta ishga tushiring. Mana shu! Endi siz onlayn login yordamida tizimga kirishingiz mumkin. |
O'qing: |
---|
Yangi
- Texnik fikrlash uchun mini test
- Algoritmlar bo'yicha informatika bo'yicha test
- Kvartira, uy va boshqa ko'chmas mulkni sotish to'g'risida e'lonni bepul yuborish Uyni tez sotish to'g'risida e'lon yuborish
- Maktublarni o'qish orqali pul ishlash Xatlarni o'qish, lekin mukofot
- Kompyuter uchun maktab kundaligi dasturi
- Mavzu bo'yicha material: "Chun qalbim bilan" kontsert dasturi barcha epizodlari bilan butun qalbim bilan teleko'rsatuv
- Sovet akustikasi Amfiton 35ac 018 Stradivarius skripka kuchaytirgichi Corvette
- S90 ni takomillashtirish yoki ularni minimal xarajat bilan qanday qilib "qo'shiq" qilish kerak Radiotexnika s90 uchun yangi uy
- Matritsalar ustida amallarning ayrim xossalari
- "Skyrim": Oqsoqollar o'rami