让我们假设我们在远程数据库服务器上有一个表。我想将整个表复制到本地计算机的sqlserver。 是否有任何SQL查询来执行此操作? 我是否必须在本地计算机上创建表模式,然后将表内容从远程服务器复制到本地计算机,或者有没有办法将表及其模式完全复制到本地计算机上?
答案 0 :(得分:0)
您可以使用链接服务器,然后可以使用select * into。但是之后需要在表上创建约束/索引。
或者您首先创建表并创建任何其他约束。您可能不想立即创建索引。这本身就是一个很大的话题,它通常取决于表的大小和数据的方式。但是如果你要复制相同的数据。我建议您至少创建聚簇索引(如果远程表具有聚簇索引)并在填充表后创建NC索引。
然后你可以做以下
1.使用链接服务器插入。在聚簇索引列上使用order by。 2.如果由于某种原因无法使用链接服务器。使用BCP输出到远程服务器的文件使用order by by bcp'ing out然后批量插入或BCP到本地系统并再次使用order子句。
如果在加载表之前尚未在表上创建聚簇索引,则不需要使用order子句。 然后,您可以创建表格所需的索引。