1398-04-13 16:16 انتقال پایگاه داده SQL Server از نسخه بالاتر به نسخه های پائین تر
zahmah

 
سلام
نرم افزارم رو با SQL 2014 نوشته ام. اما سیستم کاربر SQL2008r2 هستش
روی سیستم خودم یک اسکریپت با SQL 2014 تهیه کردم اما توی سیستم کاربر نمیدونم چه جوری ازش استفاده کنم.
زبان برنامه نویسی ام هم سی شارپ 2013 هستش

ممنون میشم راهنمائی بفرمائین.
1398-04-14 10:15
حاجی شریفی
مؤسس سایت
 
سلام
در SSMS خودتان دیتابیس را انتخاب کنید
Right Click ->
Tasks ->
Generate Scripts ->
Next Click ->


تیک Script entire database and all database objects را انتخاب نکنید !
( بخش هایی می سازد که فعلا نبودش بهتر است )
بجای آن از Select specific database objects را انتخاب کنید.
جداول و View و اشیاء ای که میخواهید را انتخاب کنید.
Advanced Click ->
Script for Server Version : SQL Server 2008 R2
Types of data to script : Schema and data
Script Triggers : True
. . .
OK Click ->
Next Click ->
Next Click ->
Finish Click


در رایانه مقصد وارد SSMS شوید و یک دیتابیس خالی جدید بسازید.
فایل را در SSMS باز کنید.
اول فایل دوخط زیر را اضافه کنید ...
USE  [نام دیتابیس جدید] ;
GO

و سپس کل SQL را اجرا کنید.
( دقت کنید که متنی Select نباشد ، اگر Select باشد فقط آن بخش اجرا میشود نه کل دستورات )

موفق باشید.
1398-04-15 22:00
zahmah

 
سلام
بسیار عالی! جواب داد.
ممنون از راهنمائی های عالی تون.
1398-04-18 23:57
zahmah

 
سلام
ببخشید این دیتابیسی که یا اسکریپت ایجاد میشه آدرسش کجاست؟ یا چه جوری میشه ازش خروجی mdf گرفت؟
1398-04-19 09:29
حاجی شریفی
مؤسس سایت
 
سلام
مسیر فایل را در زمان ساخت دیتابیس میتوانید بدهید.
ولی الآن هم مشکل ندارد.
در برنامه SSMS فرامین و کلیک های زیر را پیگیری کنید:
Select Database ->
Right Click ->
Properties ->
Files Tab


در برگه Files میتوانید مسیر فایل های mdf و ldf را مشاهده کنید.
این مسیر به صورت پیش فرض چیزی شبیه این است:
C:\Program Files\Microsoft SQL Server\***\MSSQL\DATA\dbname.mdf


درضمن شما نمیتوانید دو فایل فوق را کپی کنید !
مگر آنکه قبلش دیتابیس را Offline یا Detach (یا ... !) کرده باشید.
Select Database ->
Right Click ->
Tasks -> Offline OR Detach


سپس می توانید فایل را کپی کنید.

اگر دیتابیس Offline یا Detach نشد و خطا داد، اغلب به دلیل درگیر بودن ( درحال استفاده بودن/InUse ) دیتابیس است.
برنامه های App متصل به دیتابیس و VisualStudio و حتی خود SSMS را بسته و مجدد عملیات Offline یا Detach را تکرار کنید.
موفق باشید.
1398-04-20 14:18
zahmah

 
سلام
بسیار ممنون حل شد