1、打開(kāi)本地企業(yè)管理器,先創(chuàng)建一個(gè)SQL Server注冊(cè)來(lái)遠(yuǎn)程連接服務(wù)器端口SQL Server。
步驟如下圖:
圖1:

2、彈出窗口后輸入內(nèi)容。"總是提示輸入登陸名和密碼"可選可不選,如圖2。
圖2:

3、注冊(cè)好服務(wù)器后,點(diǎn)擊打開(kāi)。如果是選擇了"總是提示輸入登陸名和密碼"的話再點(diǎn)了確定后會(huì)提示輸入用戶(hù)密碼,如圖3。
圖3:

4、進(jìn)入后,選擇到您的數(shù)據(jù)庫(kù),如testdb。在上面點(diǎn)右鍵,"所有任務(wù)">>"導(dǎo)入數(shù)據(jù)",如圖4。
圖4:

5、進(jìn)入DTS導(dǎo)入/導(dǎo)出向?qū)Вc(diǎn)擊“下一步”按鈕繼續(xù)
圖5:

6、選擇數(shù)據(jù)源,輸入數(shù)據(jù)源所在的數(shù)據(jù)庫(kù)服務(wù)器名稱(chēng)、用戶(hù)名、密碼和要復(fù)制數(shù)據(jù)的源數(shù)據(jù)庫(kù),點(diǎn)擊“下一步”按鈕
圖6:

7、選擇“在SQL Server數(shù)據(jù)庫(kù)之間復(fù)制對(duì)象和數(shù)據(jù)”方式,點(diǎn)“下一步”繼續(xù)
圖7:

8、這一步可以把"包括擴(kuò)展屬性"和"排序規(guī)則"兩個(gè)選擇上。接著去掉左下的"使用默認(rèn)選項(xiàng)",點(diǎn)擊右下角的"選項(xiàng)"來(lái)進(jìn)行配置。
圖8:

9、圖8中點(diǎn)"選項(xiàng)"后會(huì)彈出圖9,把"復(fù)制數(shù)據(jù)庫(kù)用戶(hù)和數(shù)據(jù)庫(kù)角色"與"復(fù)制對(duì)象級(jí)權(quán)限"兩個(gè)選項(xiàng)去掉,
點(diǎn)確定回到圖8接著點(diǎn)"下一步"進(jìn)到圖10。
圖9:

10、設(shè)定調(diào)度方式,一般選“立即運(yùn)行”就可以,然后點(diǎn)“下一步”繼續(xù)
圖10:

11、點(diǎn)"完成"開(kāi)始執(zhí)行。
圖11:

12、正在進(jìn)行數(shù)據(jù)導(dǎo)入中
圖12:

13、如果一切正常,提示成功復(fù)制如圖13,那就大功告成了。
圖13:

SQL Server 導(dǎo)入/導(dǎo)出 錯(cuò)誤排查
如果提示導(dǎo)入失敗,出現(xiàn)圖14情況,這時(shí)不要急著點(diǎn)"完成"關(guān)閉窗口。雙擊中間的"出現(xiàn)錯(cuò)誤"會(huì)出現(xiàn)詳細(xì)的失敗原因。
圖14:

錯(cuò)誤原因一、沒(méi)安裝SP3補(bǔ)丁
如果是出現(xiàn)如圖15的報(bào)錯(cuò)原因,那么就很有可能是因?yàn)槟緳C(jī)的SQL Server還沒(méi)有打SP3補(bǔ)丁。
圖15:

如何查看是否已打了SP3補(bǔ)丁呢?右鍵點(diǎn)擊本地SQL Server屬性,彈出圖16窗口,查看"產(chǎn)品版本"一行。
像以下圖顯示8.00.760(SP3)說(shuō)明已經(jīng)打過(guò)補(bǔ)丁。如果您的企業(yè)管理器顯示的版本要比這個(gè)小,那就是沒(méi)打SP3補(bǔ)丁。
請(qǐng)安裝SQL Server SP3補(bǔ)丁后再重試。
圖16:

錯(cuò)誤原因二、對(duì)象屬性沖突
如果出現(xiàn)圖17情況,那么應(yīng)該就是您本地?cái)?shù)據(jù)庫(kù)的表/視圖/存儲(chǔ)過(guò)程的屬主和服務(wù)器上數(shù)據(jù)庫(kù)默認(rèn)用戶(hù)不一致。
服務(wù)器的用戶(hù)一般是:數(shù)據(jù)庫(kù)名+'_f',如我的數(shù)據(jù)庫(kù)名稱(chēng)是testdb,則我在服務(wù)器上使用的數(shù)據(jù)庫(kù)用戶(hù)名就是testdb_f。
如圖18,我本地的表屬主是testuser,與服務(wù)器數(shù)據(jù)庫(kù)用戶(hù)名不一致,因此導(dǎo)入過(guò)程出錯(cuò)。
圖17:

圖18:
解決方法是:
應(yīng)該先把本地的所有表/視圖/存儲(chǔ)過(guò)程屬主都改為dbo或testdb_f(后者需要在本地創(chuàng)建起相應(yīng)用戶(hù)。
建議創(chuàng)建,否則以后想從服務(wù)器上導(dǎo)出數(shù)據(jù)時(shí)同樣會(huì)因?yàn)檫@個(gè)問(wèn)題導(dǎo)出錯(cuò)誤),再重新進(jìn)行導(dǎo)入/導(dǎo)出。
打開(kāi)SQL查詢(xún)分析器,運(yùn)行以下命令進(jìn)行批量修改表屬主為dbo:
exec sp_MSForEachTable 'sp_changeobjectowner "?", "dbo"'
運(yùn)行成功后表屬主會(huì)改變成如圖19:
圖19:

如果需要修改視圖/存儲(chǔ)過(guò)程,則麻煩了點(diǎn)。
下面有個(gè)方法可以實(shí)現(xiàn):
一、先在master創(chuàng)建一個(gè)sp_MSforeachObject存儲(chǔ)過(guò)程,命令如下:
USE MASTER
GO
CREATE proc sp_MSforeachObject
@objectType int=1,
@command1 nvarchar(2000),
@replacechar nchar(1) = N'?',
@command2 nvarchar(2000) = null,
@command3 nvarchar(2000) = null,
@whereand nvarchar(2000) = null,
@precommand nvarchar(2000) = null,
@postcommand nvarchar(2000) = null
as
/* This proc returns one or more rows for each table (optionally, matching @where), with each table defaulting to its
own result set */
/* @precommand and @postcommand may be used to force a single result set via a temp table. */
/* Preprocessor won't replace within quotes so have to use str(). */
declare @mscat nvarchar(12)
select @mscat = ltrim(str(convert(int, 0x0002)))
if (@precommand is not null)
exec(@precommand)
/* Defined @isobject for save object type */
Declare @isobject varchar(256)
select @isobject= case @objectType when 1 then 'IsUserTable'
when 2 then 'IsView'
when 3 then 'IsTrigger'
when 4 then 'IsProcedure'
when 5 then 'IsDefault'
when 6 then 'IsForeignKey'
when 7 then 'IsScalarFunction'
when 8 then 'IsInlineFunction'
when 9 then 'IsPrimaryKey'
when 10 then 'IsExtendedProc'
when 11 then 'IsReplProc'
when 12 then 'IsRule'
end
/* Create the select */
/* Use @isobject variable isstead of IsUserTable string */
EXEC(N'declare hCForEach cursor global for select ''['' + REPLACE(user_name(uid), N'']'', N'']]'') + '']'' + ''.'' + ''['' +
REPLACE(object_name(id), N'']'', N'']]'') + '']'' from dbo.sysobjects o '
+ N' where OBJECTPROPERTY(o.id, N'''+@isobject+''') = 1 '+N' and o.category ' + @mscat + N' = 0 '
+ @whereand)
declare @retval int
select @retval = @@error
if (@retval = 0)
exec @retval = sp_MSforeach_worker @command1, @replacechar, @command2, @command3
if (@retval = 0 and @postcommand is not null)
exec(@postcommand)
return @retval
GO
二、再運(yùn)行以下命令批量修改表、觸發(fā)器、視圖、存儲(chǔ)過(guò)程的屬主(需要先在master創(chuàng)建sp_MSforeachObject存儲(chǔ)過(guò)程) EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=1
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=2
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=3
EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=4
此時(shí)再重新進(jìn)行導(dǎo)入應(yīng)該就能一切順利了。
您可能感興趣的文章:- SQLSERVER簡(jiǎn)單創(chuàng)建DBLINK操作遠(yuǎn)程服務(wù)器數(shù)據(jù)庫(kù)的方法
- MSSQLSERVER跨服務(wù)器連接(遠(yuǎn)程登錄)的示例代碼
- 遠(yuǎn)程連接SQLSERVER 2000服務(wù)器方法
- sqlserver 2000 遠(yuǎn)程連接 服務(wù)器的解決方案
- SQL Server 遠(yuǎn)程連接服務(wù)器詳細(xì)配置(sp_addlinkedserver)