আপনি নীচের যে কোনও পদ্ধতি অনুসরণ করতে পারেন:
দ্রষ্টব্য: আপনি যদি নতুন কোনও ডেটা জাতীয় ইত্যাদির মতো কোনও নতুন বৈশিষ্ট্য ব্যবহার করে থাকেন তবে আপনাকে এটি পরীক্ষা করতে হবে কারণ এটি ত্রুটি ছুঁড়ে দেবে।
পদ্ধতি 1: নেটিভ সরঞ্জাম ব্যবহার করে
SCHEMA_ONLY ডাটাবেসটি স্ক্রিপ্ট করুন এবং গন্তব্য সার্ভারে একটি খালি ডাটাবেস পুনরায় তৈরি করুন। স্ক্রিনশটগুলি নীচে:
ডেটা toোকাতে বিসিপি আউট এবং বাল্ক ইনসার্ট ব্যবহার করুন।
নীচে স্ক্রিপ্ট যা আপনাকে পার্ট 2 নিয়ে সহায়তা করবে।
/************************************************************************************************************************************************
Author : KIN SHAH *********************************************************************************************************************
Purpose : Move data from one server to another*********************************************************************************************
DATE : 05-28-2013 *********************************************************************************************************************
Version : 1.0.0 *************************************************************************************************************************
RDBMS : MS SQL Server 2008R2 and 2012 *************************************************************************************************
*************************************************************************************************************************************************/
-- save below output in a bat file by executing below in SSMS in TEXT mode
-- clean up: create a bat file with this command --> del D:\BCP_OUT\*.dat
select '"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp.exe" '-- path to BCP.exe
+ QUOTENAME(DB_NAME())+ '.' -- Current Database
+ QUOTENAME(SCHEMA_NAME(SCHEMA_ID))+'.'
+ QUOTENAME(name)
+ ' out D:\BCP_OUT\' -- Path where BCP out files will be stored
+ REPLACE(SCHEMA_NAME(schema_id),' ','') + '_'
+ REPLACE(name,' ','')
+ '.dat -T -E -SSERVERNAME\INSTANCE -n' -- ServerName, -E will take care of Identity, -n is for Native Format
from sys.tables
where is_ms_shipped = 0 and name <> 'sysdiagrams' -- sysdiagrams is classified my MS as UserTable and we dont want it
and schema_name(schema_id) <> 'some_schema_exclude' -- Optional to exclude any schema
order by schema_name(schema_id)
--- Execute this on the destination server.database from SSMS.
--- Make sure the change the @Destdbname and the bcp out path as per your environment.
declare @Destdbname sysname
set @Destdbname = 'destination_database_Name' -- Destination Database Name where you want to Bulk Insert in
select 'BULK INSERT ' -- Remember Tables **must** be present on destination Database
+ QUOTENAME(@Destdbname)+ '.'
+ QUOTENAME(SCHEMA_NAME(SCHEMA_ID))+'.'
+ QUOTENAME(name)
+ ' from ''D:\BCP_OUT\' -- Change here for bcp out path
+ REPLACE(SCHEMA_NAME(schema_id),' ','') + '_'
+ REPLACE(name,' ','')
+'.dat''
with (
KEEPIDENTITY,
DATAFILETYPE = ''native'',
TABLOCK
)' + char(10)
+ 'print ''Bulk insert for '+REPLACE(SCHEMA_NAME(schema_id),' ','') + '_'+ REPLACE(name,' ','')+' is done... '''+ char(10)+'go'
from sys.tables
where is_ms_shipped = 0 and name <> 'sysdiagrams' -- sysdiagrams is classified my MS as UserTable and we dont want it
and schema_name(schema_id) <> 'some_schema_exclude' -- Optional to exclude any schema
order by schema_name(schema_id)
পদ্ধতি 2: তৃতীয় পক্ষের সরঞ্জাম ব্যবহার করা
গন্তব্য সার্ভারে একটি ফাঁকা ডাটাবেস তৈরি করুন। গন্তব্য সার্ভারে ডেটা তৈরি এবং লোড করতে রেডগেটের স্কিমা তুলনা এবং ডেটা তুলনা ব্যবহার করুন।
দ্রষ্টব্য: আমি রেডগেটের স্কিমা এবং ডেটা তুলনা ব্যবহার করেছি এবং এ জাতীয় কাজের জন্য এগুলি সেরা সরঞ্জাম এবং তাই আপনি যদি তৃতীয় পক্ষের সরঞ্জাম ব্যবহার করেন তবে আমার প্রস্তাবটি রেডগেট হবে would