PDA

View Full Version : چگونه جدول را از یک Instance به یک Instance دیگر کپی کنم



Babak-Aghili
یک شنبه 31 اردیبهشت 1385, 14:56 عصر
میخوام یک جدول را از یک دیتابیس به داخل یک دیتابیس دیگر ، کپی کنم . ( این دوتا دیتابیس ، روی دوتا Instance جداگونه از Sql Server قرار دارند که روی دوتا کامپیوتر متفاوت قرار دارند .)

راهش چیه ؟

با تشکر.

AminSobati
یک شنبه 31 اردیبهشت 1385, 21:11 عصر
راه اول استفاده Import/Export Wizard و یا مثلا DTS. راه دوم داشتن یک Linked Server و استفاده از Make Table Query یعنی:


SELECT * INTO NewTable FROM MyLink.MyDatabase.dbo.MyTable

Babak-Aghili
چهارشنبه 03 خرداد 1385, 09:56 صبح
سلام استاد امین http://qsmile.com/qsimages/282.gif

خب ، من راه دوم را انتخاب کردم
ولی به یک مشکل برخوردم :: http://qsmile.com/qsimages/286.gif

در دیتابیسی که میخواهم اون جدول را قرار دهم ، جدول از قبل وجود نداره ، و مساله دیگه هم اینکه از قبل مشخص نیست که چه جدولی قراره کپی بشه ، یعنی که حتی مشخص نیست که فیلدهای اون جدول چی هستند .

حالا سوال جدید:: چگونه میتونم اطلاعات مربوط به ساختار یک جدول را بدست بیارم ، به نحوی که بتونم از اونها در یک اسکریپت CREATE TABLE استفاده کنم ؟

http://qsmile.com/qsimages/281.gif مرسی مهندس ثباتی عزیز.

Kamyar.Kimiyabeigi
چهارشنبه 03 خرداد 1385, 11:41 صبح
سلام استاد امین http://qsmile.com/qsimages/282.gif

خب ، من راه دوم را انتخاب کردم
ولی به یک مشکل برخوردم :: http://qsmile.com/qsimages/286.gif

در دیتابیسی که میخواهم اون جدول را قرار دهم ، جدول از قبل وجود نداره ، و مساله دیگه هم اینکه از قبل مشخص نیست که چه جدولی قراره کپی بشه ، یعنی که حتی مشخص نیست که فیلدهای اون جدول چی هستند .

حالا سوال جدید:: چگونه میتونم اطلاعات مربوط به ساختار یک جدول را بدست بیارم ، به نحوی که بتونم از اونها در یک اسکریپت CREATE TABLE استفاده کنم ؟

http://qsmile.com/qsimages/281.gif مرسی مهندس ثباتی عزیز.
دوست عزیز Script ایی که آقای ثباتی گذاشتن خودش جدول رو میسازه و لازم نیست که از قبل وجود داشته باشه
در مورد سوالتونم باید بگم که sp_help کمکتون میکنه


execute sp_help 'dbo.Orders'

Babak-Aghili
چهارشنبه 03 خرداد 1385, 11:55 صبح
نساخت http://qsmile.com/qsimages/106.gif

این را اجرا کردم :


insert into [RENATO\WEB].TestDB.dbo.TBUSERS
SELECT * FROM RENATO.TESTDB.dbo.TBUSERS

که این خطا را داد :


Server: Msg 7314, Level 16, State 1, Line 11
OLE DB provider 'RENATO\WEB' does not contain table '"TestDB"."dbo"."TBUSERS"'. The table either does not exist or the current user does not have permissions on that table.

کمک کمک کمک

Kamyar.Kimiyabeigi
چهارشنبه 03 خرداد 1385, 13:08 عصر
نه دوست عزیز دقت کن کلمه into را باید بعد از فیلدهایی که select میکنی بزاری


SELECT * INTO NewTable FROM MyLink.MyDatabase.dbo.MyTable

در مثال بالا کلمه into بعد از * قرار داره

AminSobati
چهارشنبه 03 خرداد 1385, 15:09 عصر
بابک جان اصلا در دستور من Insert دیدی عزیزم؟!!
همونی که کامیار گفت!