MSDE

با سلام

در این پست قصد دارم که مروری بر MSDE داشته باشم , امیدوارم که مفید واقع بشه .


## MSDE چیست ؟
MSDE یه ورژن کوچولو و نقلی از Sql server2000 می باشد , که البته مجانی می باشد و که می تونه روی Application شما Embed بشه و مشتری شما
نیازی به نصب MS SqlServer2000 رو نداره . اما محدودیت هایی هم شامل این می شود , مثلا : اندازه بانک نمی تونه از 2 GB بیشتر بشه . این موتور بیشتر 
برای سایت ها و یا برنامه های کوچولو که بیشتر از 25 کاربر ندارند به درد میخوره .


## به چه دردی میخوره ؟

اگر شما تا حالا برنامه کاربردی نوشته باشین ,  حتما با این مشکل برخورد کردین که ,  چطوری مشتری بدون اینکه مجبور باشه SqlSever نصب کنه بتونه با برنامه کار کنه ,  شما می تونید با اضافه کردن MSDE به برنامه خودتون مثل یه کامپیونننت ,  این کار رو انجام بدید .


## نصب 
برای نصب باید از سی دی Sqlserver2000 پوشه مربوط به MSDE رو پیدا کنید و اون رو به یه جایی از هاردتون انتقال بدید . مثلا آدرس ما C:\MSDE هستش .
بعد از اون Command prompt رو باز کنید . و به شکل زیر عمل نمایید .

  کد:

C:\MSDE\>Setup.exe SAPWD="password " INSTANCENAME="Sirasad"


SAPWD : رمز عبوری است که برای کاربر SA تعریف می نمایید .
INSTANCENAME : نامی است که به صورت اختیاری می باشد که به سرورتون میدین .


بعد از اون مراحل نصب شروع میشه و بعدش هم تموم میشه !
بعد از مراحل نصب , اسم سرور شما برای دسترسی بدین گونه میباشید : ComputerName/Instancename مثال : TAKGAM-A1BB6878\Sirasad



## اضافه کردن دیتابیس 
  کد:

C:\> osql –E –S TAKGAM-A1BB6878\Sirasad
1> use master
2:> go
1> CREATE DATABASE Books
2> go
The CREATE DATABASE process is allocating 0.63 MB on disk 'Books'.
The CREATE DATABASE process is allocating 0.49 MB on disk 'Books_log'.


خط اول برای لاگین به سرور می باشد 
خط دوم , سوم برای استفاده از مدل master می باشد .
خط چهار و پنجم هم برای ساخت DB می باشد .
خط ششم و هفتم هم خودکار ایجاد میشن و اطلاعتی درباره DB ساخته شده میدن .


## حذف یک دیتابیس
  کد:

1> use master
2:> go
1> DROP DATABASE Books
2> go
Deleting database file 'C:\Program Files\Microsoft SQL
Server\MSSQL$MYINSTANCE\Data\Books_log.LDF'.
Deleting database file 'C:\Program Files\Microsoft SQL
Server\MSSQL$MYINSTANCE\Data\Books.mdf'.




## لیست کردن دیتابیس های موجود 
  کد:

C:\> osql –E –S TAKGAM-A1BB6878\Sirasad
1> use master
2> go
1> select name from sysdatabases
2> go
name
------------------------------------
master
tempdb
model
msdb
test
Books
(6 rows affected)


## ملحق کردن Attach کردن 
  کد:

1> exec sp_attach_db @dbname = 'MyDB',
2> @filename1 = 
      'C:\Program Files\Microsoft SQL Server\MSSQL$LITBASE\Data\MyDB.mdf',
3> @filename2 = 
      'C:\Program Files\Microsoft SQL Server\MSSQL$LITBASE\Data\MyDB_log.LDF'
4> go


## جدا کردن Detach 
  کد:

1> exec sp_detach_db 'MyDB'
2> go


## لیست کردن جدول های یک DB
  کد:

C:\> osql –E –S TAKGAM-A1BB6878\Sirasad
1> use MyDB
2> go
1> select name from sysobjects where type = 'U'


دقت نمایید که در مثال بالا در مقابل type مقدار U گذاشته شده است و این بدین معنی می باشد که جدول های User رو نشون بده و اگر این مقدار رو به S تغییر 
بدیم , جدول های سیستم رو نشون میده .

## ایجاد کاربر جدید با SQL authentication
  کد:

1> use master
2> go
1> EXEC sp_addlogin 'Sirasad', 'pass', 'MyDB'
2> go
New login created.


در مثال بالا کاربری با نام Sirasad با پسورد pass که برای دیتابیس MyDB , ست شده است , ایجاد میشه !

## لیست کردن کاربران و Role های موجود در DB
  کد:

1> use MyDB
2> go
1> select name from sysusers
2> go



##حذف کاربر از DB
  کد:

1> use MyDB
2> go
1> exec sp_revokedbaccess 'SirAsad'
2> go




برای خروج از خط دستور MSDE , مقدار Quit رو وارد نمایید .

ترجمه شده از سایت :  CodeProject
ترجمه به فارسی : توسط Sirasad
موفق باشید.