الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

محاولة إنشاء مستخدم جديد

مغلق
بدأه mina في 7 أبريل 2003 · 4 رد · 2,648 مشاهدة · في أرشيف قسم SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ما هو الخطأ في هذا الـ Procedure

CREATE PROCEDURE [dbo].[Creating_User] 

AS

Declare @UserName varchar(50)

Declare @Passward varchar (50)



If ( @userName is not Null) and (@Passward is not Null )

   Create user @UserName Identified by @Passward



Go

أليس من صلاحيات dbo إنشاء مستخدم ؟ و إن كان كذلك فما هي الصلاحيات التي يجب أن أمنحه إياها كي يتمكن من إنشاءه؟

أم أن المشكلة في الكود السابق يعني كود خطأ

شكراً لكم

#2

أتوقع أنه تحاول عمل Stored Procedure يضيف مستخدم إلى جدول user ..

حاول التالي :

CREATE PROCEDURE [dbo].[Creating_User] 

(

   @UserName varchar(50),

   @Passward varchar (50)

)

AS

If ( @userName is not Null) and (@Passward is not Null )

   INSERT INTO [user] (user_name, password) 

            VALUES(@UserName, @Passward)

Go

لاحظ أي يتم تعريف بارامترات التابع وكيف يتم استدعاء INSERT .. ويجب وضع user داخل أقواس لأنها معرفة مسبقا ..

ويتم استدعائه كالتالي:

EXEC Creating_User 'name', 'pass'

Coding on the Cloud and for the Cloud!

My Blog

#3

شكراً لك ، و لكن هل يصبح مستخدماً يسمح له الدخول إلى الجداول بحسب الصلاحيات التي أمنحها له فيما بعد أم هناك طريقة أخرى ، ففي الأوراكل كنا ندخل باسم system manager و ننشأ المستخدمين ثم نعطيهم الصلاحيات ، فكيف يتم ذلك من خارج الـ SQL Server أي ما هي العبارة المستخدمة لإنشاء مستخدم جديد ، ثم إعطائه الصلاحيات عن طريق Grant .

شكراً مرة ثانية على مساعدتك

#4

أفهم الآن أنك تريد اضافة مستخدم للجداول بشكل عام .. أي SQL Server login ..

يمكن ذلك عن طريق استخدام الدالة sp_addlogin .. وهي على الصيغة التالية:

sp_addlogin [ @loginame = ] 'login' 

    [ , [ @passwd = ] 'password' ] 

    [ , [ @defdb = ] 'database' ] 

    [ , [ @deflanguage = ] 'language' ] 

    [ , [ @sid = ] sid ] 

    [ , [ @encryptopt = ] 'encryption_option' ]

وهذا مثال على انشاء مستخدم باسم mina وباسورد 123 واعطائه قاعدة البيانات الافتراضية mydb

EXEC sp_addlogin 'mina', '123', 'mydb'

Coding on the Cloud and for the Cloud!

My Blog

#5

أعجز عن شكرك حقاً (f)(f)(f)(f)(f)(f)(f)(f)

هذا الموضوع مغلق.

مواضيع مشابهة