میخوام یک جدول را از یک دیتابیس به داخل یک دیتابیس دیگر ، کپی کنم . ( این دوتا دیتابیس ، روی دوتا Instance جداگونه از Sql Server قرار دارند که روی دوتا کامپیوتر متفاوت قرار دارند .)
راهش چیه ؟
با تشکر.
میخوام یک جدول را از یک دیتابیس به داخل یک دیتابیس دیگر ، کپی کنم . ( این دوتا دیتابیس ، روی دوتا Instance جداگونه از Sql Server قرار دارند که روی دوتا کامپیوتر متفاوت قرار دارند .)
راهش چیه ؟
با تشکر.
راه اول استفاده Import/Export Wizard و یا مثلا DTS. راه دوم داشتن یک Linked Server و استفاده از Make Table Query یعنی:
SELECT * INTO NewTable FROM MyLink.MyDatabase.dbo.MyTable
سلام استاد امین
خب ، من راه دوم را انتخاب کردم
ولی به یک مشکل برخوردم ::
در دیتابیسی که میخواهم اون جدول را قرار دهم ، جدول از قبل وجود نداره ، و مساله دیگه هم اینکه از قبل مشخص نیست که چه جدولی قراره کپی بشه ، یعنی که حتی مشخص نیست که فیلدهای اون جدول چی هستند .
حالا سوال جدید:: چگونه میتونم اطلاعات مربوط به ساختار یک جدول را بدست بیارم ، به نحوی که بتونم از اونها در یک اسکریپت CREATE TABLE استفاده کنم ؟
مرسی مهندس ثباتی عزیز.
آخرین ویرایش به وسیله Babak-Aghili : چهارشنبه 03 خرداد 1385 در 10:14 صبح
دوست عزیز Script ایی که آقای ثباتی گذاشتن خودش جدول رو میسازه و لازم نیست که از قبل وجود داشته باشهنوشته شده توسط Babak-Aghili
در مورد سوالتونم باید بگم که sp_help کمکتون میکنه
execute sp_help 'dbo.Orders'
آخرین ویرایش به وسیله Kamyar.Kimiyabeigi : چهارشنبه 03 خرداد 1385 در 12:00 عصر
نساخت
این را اجرا کردم :
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.
کمک کمک کمک
نه دوست عزیز دقت کن کلمه into را باید بعد از فیلدهایی که select میکنی بزاری
SELECT * INTO NewTable FROM MyLink.MyDatabase.dbo.MyTable
در مثال بالا کلمه into بعد از * قرار داره
بابک جان اصلا در دستور من Insert دیدی عزیزم؟!!
همونی که کامیار گفت!