Home >Database >Mysql Tutorial >使用publishing转移MS SQL数据(1)[组图]_MySQL

使用publishing转移MS SQL数据(1)[组图]_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-01 14:01:49972browse

     最近,将网站从国内网站搬移到了Lunarpage,程序转移比较简单,使用cuteftp上传上去就可以了。但是数据库转移一直都是很棘手的一个问题。本文介绍数据库转移的方法。

数据库转移最简单的方法是使用DTS,但是Lunarpages数据库不支持远程数据库链接,所以无法使用DTS,因此只好使用publishing转移数据。

具体步骤如下:

Step1. 运行 SqlPubWiz.exe

Publishing类似MS SQL的一个插件,你可以到

http://www.microsoft.com/downloads/details.aspx?FamilyId=56E5B1C5-BF17-42E0-A410-371A838E570A

下载,运行后可以在tools下找到

使用publishing转移MS SQL数据(1)[组图]_MySQL

Step2 运行后,会出现运行向导,找到本地数据库

使用publishing转移MS SQL数据(1)[组图]_MySQL

Step3.选项要生成的类型,系统会自动检测可用内容,一般之选择“表”“存储过程”和“视图”,对于Users就不要让系统生成了

使用publishing转移MS SQL数据(1)[组图]_MySQL

点击Next,一直完成。

更改数据库拥有者

以下是核心,非常重要,否则不会成功。

在我们使用网站时,通常会使用SP给我们的账户,例如我原来的数据库叫做 “bf4190_”

当时网站供应商给我的账户为 bf419,则系统生成的数据表如下

使用publishing转移MS SQL数据(1)[组图]_MySQL

你可以看到,有的表前面有前缀bf419,有的有前缀dbo (db哦,是database owner),这很不同。因为在我们建立表时,脚本的写法略有区别。

写法一:

CREATE TABLE [dbo].[ads]  (

[id] [int] IDENTITY(1,1) NOT NULL,

[name] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

[img] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

}
 


写法二:

CREATE TABLE [ads]   (

[id] [int] IDENTITY(1,1) NOT NULL,

[name] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

[img] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

 

}
 


对于第一种,生成的表就是 dbo.ads, 而第二个表则是 bf419.ads,因为你的bf419其实就是dbo,所以系统可以运行。

但是,当你把数据库转移到新的服务商时,如果你的账户叫做XXXX,则上面建立bf419.ads则出现错误,而用 dbo.ads 则完全没有问题。

通常新旧服务商给用户开的用户名并不一样,所以我们需要更改一下数据库的所有者。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn