PDA

View Full Version : سوال: دیتابیس تحت شبکه



group45
جمعه 28 شهریور 1393, 12:03 عصر
با سلام و وقت بخیر
آیا با sqlexpress میشه مدیریت دیتابیس تحت شبکه رو انجام داد یا حتما باید sqlserver باشه؟
چون یه برنامه نوشتم و حالا میخوام تحت شبکش کنم ولی با کانکشن اسرینگی که آی پی سرور داره برنامه ارور میده و حالت لوکال مشکلی نداره
ممنون از شما...

aminmousavi
شنبه 29 شهریور 1393, 19:54 عصر
سلام دوست عزیز . تا اونجایی که بنده اطلاع دارم با express نمیتونین همچین کاری انجام بدید .
حتما باید sql server نصب کنید و فایل دیتابیس رو attach کنید به sql srever

NasimBamdad
شنبه 29 شهریور 1393, 21:50 عصر
SQL که نسخه غیر سرور نداره عزیزم .

SQL Server Express Edtion
SQL Server Standard Edition
SQL Server Enterprise Edition
SQL Server DataCenter Edition


با Express هم می تونید تحت شبکه استفاده کنید . خود من دارم این کار رو می کنم

mohammad reza beizavi
شنبه 29 شهریور 1393, 23:14 عصر
SQL که نسخه غیر سرور نداره عزیزم .

جهت اطلاع دوستان باید عرض کنم که sqlce - sql server compact edition تحت شبکه نیست.
برای group25 هم بگم که بهتره پیام خطا رو بذارید تا ببینیم مشکل چیه. چون sqlexpress همینجور NasimBamdad گفتن تحت شبکه کار میکنه و مشکلی در این زمینه نداره

NasimBamdad
یک شنبه 30 شهریور 1393, 07:47 صبح
جهت اطلاع دوستان باید عرض کنم که sqlce - sql server compact edition تحت شبکه نیست.
برای group25 هم بگم که بهتره پیام خطا رو بذارید تا ببینیم مشکل چیه. چون sqlexpress همینجور NasimBamdad گفتن تحت شبکه کار میکنه و مشکلی در این زمینه نداره


درست می فرمایید . اون ورژن رو یادم نبود . زیاد کاربرد نداره مگر پروژه های خیلی کوچیک

مرسی

group45
چهارشنبه 02 مهر 1393, 20:03 عصر
با سلام
زمان باز کردن کانکشن بعد چند ثانیه مکث این exception میاد


A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

group45
چهارشنبه 02 مهر 1393, 20:04 عصر
نسخه دیتابیسمم sql express 2008 هست

محمد آشتیانی
چهارشنبه 02 مهر 1393, 20:54 عصر
سلام
پست شماره 6 این تاپیکو بخون احتمالا کمک میکنه
http://barnamenevis.org/showthread.php?470162-ایجاد-دیتابیس-عمومی

group45
چهارشنبه 02 مهر 1393, 21:36 عصر
با سلام
این پیغام خطای برنامه در زمان اجرا شدنش در سیستم کلاینته
123857
تنظیمات امنیتی و پرئتکلی رو هم قبلا ست کردم
اینم کانکشن استرینگم


@"Data Source=192.168.1.15\SQLEXPRESS;AttachDbFilename=C: \a\Db.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

کجای استرینگ اشتباست؟
برنامه با آی پی 127.0.0.1 رو سرور جواب میده

ممنون.....

محمد آشتیانی
چهارشنبه 02 مهر 1393, 21:52 عصر
شما وقتی داری از یه سیستم دیگه به دیتابیس انجین وصل میشی باید ازSqlServer Authentication استفاده کنی ، یعنی توی کانکشن استرینگت باید اطلاعات Login اسکیوال سرور رو هم وارد کنی که معمولا لاگین پیش فرض sa و رمزش هم رمزی هست که موقع نصب تعیین کردی.
اینی که شما نوشتی Windows Authentication هست و موقعی که لوکال کار میکنی جواب میده.
ضمن اینکه آدرس دیتابیس نیاز نیست تو کانکشن استرینگ بیاد (چون اون آدرس لوکال هست) و به جاش دیتابیس قبلا باید رو سیستم سرور اتچ شده باشه.

کانکشن استرینگی که شما نیازداری چیزی شبیه اینه
(با اصلاح IP و لاگین و پسورد لاگین و همچنین نام دیتابیس)

Data Source=192.168.1.5\SQLEXPRESS,1433;Network Library=DBMSSOCN;Initial Catalog=dbase;User ID=sa;Password=password



ضمنا اگر محیط Management Studio رو نداری برای اینکه SqlServer Express رو روی حالت SqlServer Authentication قرار بدی کافیه کوئری زیر رو یکبار اجرا کنی

USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO

و برای ساخت لاگین هم این کوئری رو اجرا کن (این کوئری الان یه لاگین با اسم dblogin و پسورد 123 میسازه)

USE [master]
GO
CREATE LOGIN [dblogin] WITH PASSWORD=N'123', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
EXEC master..sp_addsrvrolemember @loginame = N'dblogin', @rolename = N'sysadmin'
GO




موفق باشید

NasimBamdad
چهارشنبه 02 مهر 1393, 22:33 عصر
Network Library=DBMSSOCN

این چیکار میکنه ؟

group45
چهارشنبه 02 مهر 1393, 22:40 عصر
با سلام
من از آدرس فایل استفاده کردم چون دیتابیسم اتچ نیست
راهی نیست که بدون یوزر و پس بشه کانکت شد؟
فک کنم اینجوری مجبور بشم sql server نصب کنم

group45
چهارشنبه 02 مهر 1393, 22:41 عصر
Network Library=DBMSSOCN

این چیکار میکنه ؟

یه دیتابیس هست که به sql server اتچ شده به نام DBMSSOCN و چون اتچ شده نیازی به نوشتن مسیرش نیست خود منیجمنت میدونه کجاست

winner1
چهارشنبه 02 مهر 1393, 22:42 عصر
اکثرا نصب میکنیم اینطوری مدیریت بهتر و راحت تری هم رو دیتا بیس داریم چون داری از موتو Sql استفاده میکنیم

group45
چهارشنبه 02 مهر 1393, 22:44 عصر
احساس میکنم اس کیو ال من قابلیت کانکت از طریق شبکه رو نداره



SQL Server Configuration Manager

Microsoft Corporation

Version: 2007.0100.1600.022

SQL Server Configuration Manager provides basic configuration management for SQL Server services, server protocols, client protocols and client aliases.

winner1
چهارشنبه 02 مهر 1393, 22:49 عصر
دادش بهت حق sql واقعا نرم افزار پر درد سریه من الان یه دیتا بیس و از فلشم که اتچ میکنم خیلی راحت اتچ میشه ولی وقتی کپیش میکنم رو هاردم اتچ انجام نمیشه :افسرده:

NasimBamdad
پنج شنبه 03 مهر 1393, 08:34 صبح
یه دیتابیس هست که به sql server اتچ شده به نام DBMSSOCN و چون اتچ شده نیازی به نوشتن مسیرش نیست خود منیجمنت میدونه کجاست

مگه Initial Catalog=dbase برای مشخص کردن اسم دیتابیس نیست ؟

یعنی اگه دیتابیسی که در قسمت Initial Catalog می نویسیم ، اتچ شده باشه ، نیاز نیست مسیر بهش بدیم و از DBMSSOCN استفاده می کنیم ؟

محمد آشتیانی
پنج شنبه 03 مهر 1393, 09:34 صبح
سلام
دوستان لطفا اطلاعات غلط ندید


یه دیتابیس هست که به sql server اتچ شده به نام DBMSSOCN و چون اتچ شده نیازی به نوشتن مسیرش نیست خود منیجمنت میدونه کجاست

اون پارامتر شبکه هست که مشخص میکنه توسط کدوم Network library به اسکیوال سرور وصل بشیم.

اطلاعات بیشتر در این لینک
http://support.microsoft.com/kb/238949



موفق باشید

programer1389
پنج شنبه 03 مهر 1393, 11:34 صبح
شما وقتی داری از یه سیستم دیگه به دیتابیس انجین وصل میشی باید ازSqlServer Authentication استفاده کنی ، یعنی توی کانکشن استرینگت باید اطلاعات Login اسکیوال سرور رو هم وارد کنی که معمولا لاگین پیش فرض sa و رمزش هم رمزی هست که موقع نصب تعیین کردی.
اینی که شما نوشتی Windows Authentication هست و موقعی که لوکال کار میکنی جواب میده.
ضمن اینکه آدرس دیتابیس نیاز نیست تو کانکشن استرینگ بیاد (چون اون آدرس لوکال هست) و به جاش دیتابیس قبلا باید رو سیستم سرور اتچ شده باشه.

کانکشن استرینگی که شما نیازداری چیزی شبیه اینه
(با اصلاح IP و لاگین و پسورد لاگین و همچنین نام دیتابیس)

Data Source=192.168.1.5\SQLEXPRESS,1433;Network Library=DBMSSOCN;Initial Catalog=dbase;User ID=sa;Password=password



ضمنا اگر محیط Management Studio رو نداری برای اینکه SqlServer Express رو روی حالت SqlServer Authentication قرار بدی کافیه کوئری زیر رو یکبار اجرا کنی

USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO

و برای ساخت لاگین هم این کوئری رو اجرا کن (این کوئری الان یه لاگین با اسم dblogin و پسورد 123 میسازه)

USE [master]
GO
CREATE LOGIN [dblogin] WITH PASSWORD=N'123', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
EXEC master..sp_addsrvrolemember @loginame = N'dblogin', @rolename = N'sysadmin'
GO




موفق باشید

بهتر نبود POLICY را اف نميکرديد تا رمز بهتري بوجود بياد



شما وقتی داری از یه سیستم دیگه به دیتابیس انجین وصل میشی باید ازSqlServer Authentication استفاده کنی ، یعنی توی کانکشن استرینگت باید اطلاعات Login اسکیوال سرور رو هم وارد کنی که معمولا لاگین پیش فرض sa و رمزش هم رمزی هست که موقع نصب تعیین کردی.
اینی که شما نوشتی Windows Authentication هست و موقعی که لوکال کار میکنی جواب میده.

اين را هم فکر کنم ميکروسافت خيلي تاييد نميکنه و برعکسش رو ميگه چون مجوز دسترسي به سرور توسط win server چک ميشه و نيازي به کدينگ conn نيست

محمد آشتیانی
پنج شنبه 03 مهر 1393, 12:25 عصر
سلام
بنده کاملا میدونم چکار کردم ، الان وقتی دارم خدمت شما مثال میزنم با پسورد 123 مجبورم که اینکارو بکنم (اگر مطلع باشید وقتی پسورد شما strong نیست با روشن بودن password policy لاگین ایجاد نمیشه)
ضمن اینکه من صحبتی از کدینگ کانکشن استرینگ نکردم و صحبت از SqlServer Authenticationهست، و اینکه فکر شما با چیزی که مایکروسافت تائید میکنه و یا نمیکنه لزوما یکی نیست دوست عزیز
و نهایتا اگر شما مطلب بهتری بلدید خب بفرمائید


موفق باشید

programer1389
پنج شنبه 03 مهر 1393, 17:25 عصر
سلام
بنده کاملا میدونم چکار کردم ، الان وقتی دارم خدمت شما مثال میزنم با پسورد 123 مجبورم که اینکارو بکنم (اگر مطلع باشید وقتی پسورد شما strong نیست با روشن بودن password policy لاگین ایجاد نمیشه)
موفق باشید
شما میفرمایید برای مثال زدن فقط با پسورد 123 قابل انجام هست؟

ضمن اینکه من صحبتی از کدینگ کانکشن استرینگ نکردم و صحبت از SqlServer Authenticationهست، و اینکه فکر شما با چیزی که مایکروسافت تائید میکنه و یا نمیکنه لزوما یکی نیست دوست عزیز

ایا SqlServer Authentication بدون کانکشن استرینگ معنایی داره؟وکانکشن استرینگ بدوندکدینگ؟
این را قبول دارم که
فکر شما با چیزی که مایکروسافت تائید میکنه و یا نمیکنه لزوما یکی نیست
اما این چیزی هست که میکروسافت قبولش داره

در ضمن من احساس کردم باعث ناراحتی شما شدم اینجوریه؟

محمد آشتیانی
پنج شنبه 03 مهر 1393, 18:05 عصر
سلام
خیر قربان ناراحتی چرا
ولی مطلب اینجاست که اتفاقا کانکت شدن به دیتابیس با SqlServer Authentication خیلی مطمئن تر از حالت Windows Authentication هست و البته کاربردی تر ، چرا؟
چون شما میتونید جزئی ترین دسترسی ها رو به دیتابیس های متفاوت با این نوع اعتبار سنجی اعمال کنید و دسترسی های مختلف رو در هر سطحی به لاگین مورد نظر بدید و یا بالعکس.
و اصولا برای کارکرد و اتصال تحت شبکه روش Windows Authentication کاربرد نداره




ایا SqlServer Authentication بدون کانکشن استرینگ معنایی داره؟وکانکشن استرینگ بدوندکدینگ؟


خب اینا چه ارتباطی به بحث داره؟ واضحه که شما نوع اعتبار سنجی رو توی کانکشن استرینگ مشخص میکنی و اما نقش کدینگ رو این وسط متوجه نمیشم
اگر منظور شما انکریپت کردن خود کانکشن استرینگ هست که خب باز هم ربطی به بحث نداره و اگر منظور شما مطلب دیگری هست که بنده متوجه منظور شما نشدم.

و در ارتباط با پسورد 123 ، کافیه تو محیط Management Studio و در حالتی که Enforce Password Policy فعال هست و همچنین در بخش Local Security Policy ویندوز ، در قسمت Account Policies برای تعریف پسورد قواعدی تعریف شده باشه (مثلا رعایت حداقل طول پسورد 5 کاراکتر) ، سعی کنید همین پسورد رو برای یک لاگین که دارید میسازید انتخاب کنید و نتیجه رو مشاهده کنید تا به علت عرض بنده پی ببرید.
واضحه که بنده از Policy های سیستمی که اون کوئری ایجاد لاگین قراره توش اجرا بشه مطلع نیستم و به همین علت مجبورم Enforce Password Policy رو غیر فعال کنم.


موفق باشید

group45
پنج شنبه 03 مهر 1393, 21:29 عصر
با سلام
همه تنظیمات شبکه ای انجام شدن. یه برنامه نوشتم که کانکشن استرینگ رو تو یه تکست باکس وارد میکنیم و اون وضعیت کانکت شدن رو تست میکنه
با virtualbox برنامه رو تست که میکنم پیام زیر میاد

123893

پینگ که میگیرم مشکلی نیست ولی برنامه ارور لاگین میده.
نظرتون چیه؟؟؟؟؟؟؟؟؟؟؟؟؟

محمد آشتیانی
پنج شنبه 03 مهر 1393, 21:48 عصر
با چه کانکشن استرینگی داری کانکت میشی؟

group45
پنج شنبه 03 مهر 1393, 23:01 عصر
اس کیو الی که رو سیستم سرور نصبه همونیه که موقع نصب c# 2010 express نصب شده پس باید نسخه اکسپرس باشه
اینم کانکشن استرینگم :



Data Source=192.168.56.1\SQLEXPRESS;AttachDbFilename=C: \db-test\Db.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

باید چکار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

danialafshari
پنج شنبه 03 مهر 1393, 23:31 عصر
اس کیو الی که رو سیستم سرور نصبه همونیه که موقع نصب C#‎‎‎‎ 2010 express نصب شده پس باید نسخه اکسپرس باشه
اینم کانکشن استرینگم :



Data Source=192.168.56.1\SQLEXPRESS;AttachDbFilename=C: \db-test\Db.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

باید چکار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
درون سایت آموزش تصویری قدم به قدم SQL تحت شبکه وجود داره

http://barnamenevis.org/showthread.php?413328-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%87%D8%A7%DB%8C-%D9%88%DB%8C%D8%AF%DB%8C%D9%88%DB%8C%DB%8C-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE-%D9%88-%D8%AA%DA%A9%D9%86%D9%88%D9%84%D9%88%DA%98%DB%8C-%D9%87%D8%A7%DB%8C-%D9%85%D8%B1%D8%AA%D8%A8%D8%B7-%D8%A8%D8%A7-%D8%A2%D9%86&p=1900837&viewfull=1#post1900837