عباس خودکاری - دی 1401
گاهی اوقات کپی و انتقال بانک اطلاعاتی از
طریق Script اجتناب ناپذیر است. مثلا
وقتی ناچارا باید بانک اطلاعاتی از نسخه بالاتر SQL
Server به نسخه پایین تر منتقل شود.
همچنین ممکن است نیاز به تغییر collation
بانک اطلاعاتی باشد. در اینصورت بهتر است با
collation جدید بانک اطلاعاتی ایجاد و
از طریق اسکریپت بانک اطلاعاتی و اطلاعات آنرا به بانک اطلاعی
ایجاد شده منتقل کرد.
برای کپی یا انتقال بانک اطلاعاتی به همراه
اطلاعات آن مراحل زیر را دنبال کنید
Tasks> generate Scrip
مسیر ذخیره فایل اسکریپت
برای انتقال اطلاعات
Type of data to script=schema and data
باز کردن فایل اسکریپت از طریق Open
file و اجرای Execute
در صورتی که یک بانک اطلاعاتی ایجاد کرده
باشیم و بخواهیم اسکریپت بانک اطلاعاتی را به آن منتقل کنیم
لازم است در فایل اسکریپت باز شده فایل های مربوط به ایجاد
بانک اطلاعاتی را حذف کنیم و سپس Execute
را اجرا کنیم
توجه: در این مثال بانک اطلاعاتی
به نام ChaparSystemDB_Test
را در
SQL Server
دیگری ایجاد
کردیم. توجه کنید که این بانک اطلاعاتی هیچ جدول و دیتایی
ندارد.
اگر پس از اجرای Execute
خطای زیر نمایش داده شد
TITLE: Microsoft SQL Server
Management Studio ------------------------------ Cannot execute
script. ------------------------------ ADDITIONAL INFORMATION:
Insufficient memory to continue the execution of the program. (mscorlib)
------------------------------ BUTTONS: OK
------------------------------
به این معنی ست که به دلایلی مثل حجم بالای
دیتای انتقالی امکان اجرای اسکریپت نیست
در اینصورت
Run CMD as Administrator
و کد زیر را وارد
(با توجه
به مثال ما)
و اجرا
کنید
SQLCMD -S CHAPARS5\CH -d
ChaparSystemDB_test -i "c:\Document\DBQuery.sql"
(راهنمایی:
CHAPARS5: computer Name
\CH: SQLServer Instance name
ChaparSystemDB_test: Dtabase name
c:\Document\DBQuery.sq: Script file path
)
در پایان اسکریپت بانک اطلاعاتی مثال (جدول ها
و رکودهای ثبت شده) به بانک اطلاعاتی جدید انتقال پیدا کرد.
|