国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

2024-08-31 00:58:13
字體:
來源:轉載
供稿:網友

1、打開本地企業管理器,先創建一個SQL Server注冊來遠程連接服務器端口SQL Server。
步驟如下圖:

圖1:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享



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

圖2:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享



3、注冊好服務器后,點擊打開。如果是選擇了"總是提示輸入登陸名和密碼"的話再點了確定后會提示輸入用戶密碼,如圖3。

圖3:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享



4、進入后,選擇到您的數據庫,如testdb。在上面點右鍵,"所有任務">>"導入數據",如圖4。

圖4:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

5、進入DTS導入/導出向導,點擊“下一步”按鈕繼續

圖5:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

6、選擇數據源,輸入數據源所在的數據庫服務器名稱、用戶名、密碼和要復制數據的源數據庫,點擊“下一步”按鈕

圖6:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

7、選擇“在SQL Server數據庫之間復制對象和數據”方式,點“下一步”繼續

圖7:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

8、這一步可以把"包括擴展屬性"和"排序規則"兩個選擇上。接著去掉左下的"使用默認選項",點擊右下角的"選項"來進行配置。

圖8:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

9、圖8中點"選項"后會彈出圖9,把"復制數據庫用戶和數據庫角色"與"復制對象級權限"兩個選項去掉,
點確定回到圖8接著點"下一步"進到圖10。

圖9:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

10、設定調度方式,一般選“立即運行”就可以,然后點“下一步”繼續

圖10:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

11、點"完成"開始執行。

圖11:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

12、正在進行數據導入中

圖12:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

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

圖13:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

 

SQL Server 導入/導出 錯誤排查 如果提示導入失敗,出現圖14情況,這時不要急著點"完成"關閉窗口。雙擊中間的"出現錯誤"會出現詳細的失敗原因。圖14:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

錯誤原因一、沒安裝SP3補丁如果是出現如圖15的報錯原因,那么就很有可能是因為您本機的SQL Server還沒有打SP3補丁。圖15:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

如何查看是否已打了SP3補丁呢?右鍵點擊本地SQL Server屬性,彈出圖16窗口,查看"產品版本"一行。
像以下圖顯示8.00.760(SP3)說明已經打過補丁。如果您的企業管理器顯示的版本要比這個小,那就是沒打SP3補丁。
請安裝SQL Server SP3補丁后再重試。圖16:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

錯誤原因二、對象屬性沖突如果出現圖17情況,那么應該就是您本地數據庫的表/視圖/存儲過程的屬主和服務器上數據庫默認用戶不一致。
服務器的用戶一般是:數據庫名+'_f',如我的數據庫名稱是testdb,則我在服務器上使用的數據庫用戶名就是testdb_f。
如圖18,我本地的表屬主是testuser,與服務器數據庫用戶名不一致,因此導入過程出錯。

圖17:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

圖18:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

解決方法是:
應該先把本地的所有表/視圖/存儲過程屬主都改為dbo或testdb_f(后者需要在本地創建起相應用戶。
建議創建,否則以后想從服務器上導出數據時同樣會因為這個問題導出錯誤),再重新進行導入/導出。打開SQL查詢分析器,運行以下命令進行批量修改表屬主為dbo:exec sp_MSForEachTable 'sp_changeobjectowner "?", "dbo"' 運行成功后表屬主會改變成如圖19:圖19:

將MSSQL Server 導入/導出到遠程服務器教程的圖文方法分享

如果需要修改視圖/存儲過程,則麻煩了點。
下面有個方法可以實現:一、先在master創建一個sp_MSforeachObject存儲過程,命令如下: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 二、再運行以下命令批量修改表、觸發器、視圖、存儲過程的屬主(需要先在master創建sp_MSforeachObject存儲過程) 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 此時再重新進行導入應該就能一切順利了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莎车县| 金阳县| 八宿县| 连江县| 通州区| 嘉鱼县| 洪洞县| 太康县| 喀喇沁旗| 全南县| 瑞金市| 民勤县| 神池县| 岢岚县| 子长县| 武胜县| 安庆市| 抚宁县| 井研县| 莱州市| 南涧| 扶风县| 广河县| 沂南县| 珲春市| 佛坪县| 涿州市| 通榆县| 安吉县| 东兰县| 顺平县| 台安县| 连城县| 龙门县| 肃北| 司法| 搜索| 丰顺县| 杭锦后旗| 沿河| 陆良县|