no9*_*no9 59 sql sql-server export sql-server-2005
我有两个SQL Server(都是2005版).
我想将几个表从一个表迁移到另一个表.
我试过了:
在源服务器上,我右键单击了所选的数据库Tasks/Generate scripts.问题是Table/View options没有Script data选择.
然后我用来Script Table As/Create script生成SQL文件,以便在我的目标服务器上创建表.但我仍然需要所有的数据.
然后我尝试使用:
SELECT *
INTO [destination server].[destination database].[dbo].[destination table]
FROM [source server].[source database].[dbo].[source table]
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
对象包含的前缀数量超过最大数量.最大值为2.
有人可以指出我解决问题的正确方法吗?
mar*_*c_s 62
试试这个:
使用Script Table As / Create Script步骤中的脚本在目标服务器上创建表
然后,在目标服务器上,您可以发出T-SQL语句:
INSERT INTO dbo.YourTableNameHere
SELECT *
FROM [SourceServer].[SourceDatabase].dbo.YourTableNameHere
Run Code Online (Sandbox Code Playgroud)这应该工作得很好.
Kon*_*tin 43
只是为了显示另一个选项(适用于SQL Server 2008及更高版本):
如果您没有链接服务器的权限,以下是使用 Sql Server 导入/导出向导将表从一台服务器导入到另一台服务器的步骤:
如果已经使用脚本创建了表,那么通过使用BCP命令将所有数据从源服务器复制到目标服务器,还有另一种复制数据的方法
要将表数据导出到源服务器上的文本文件中:
bcp <database name>.<schema name>.<table name> OUT C:\FILE.TXT -c -t -T -S <server_name[ \instance_name]> -U <username> -P <Password>
Run Code Online (Sandbox Code Playgroud)
要从目标服务器上的文本文件导入表数据:
bcp <database name>.<schema name>.<table name> IN C:\FILE.TXT -c -t -T -S <server_name[ \instance_name]> -U <username> -P <Password>
Run Code Online (Sandbox Code Playgroud)