CREATE DATABASE AS COPY 不适用于 Azure

set*_*voy 5 sql-server azure-sql-database azure

我是 T-SQL 和 MSSQL 的新手,但需要将 Azure SQL 数据库从一台服务器复制到另一台服务器。

正如我在这里搜索的那样- 它可以通过CREATE DATABASE Database1_copy AS COPY OF server1.Database1;查询来完成,但在我的 Ubuntu Linux 上的 Vusial Studio 代码编辑器中使用vscode-mssql扩展名 - 我有一个错误:

消息 156,级别 15,状态 1,第 1 行:关键字“数据库”附近的语法不正确。

我的完整查询如下:

CREATE DATABASE Database1_copy AS COPY OF oldserver.database.windows.net.olddatabasenamehere;
Run Code Online (Sandbox Code Playgroud)

额外的谷歌搜索引导我找到相同的解决方案(是我发现的另一个例子)。

我在这里做错了什么?

我知道即使是在 Azure 资源 (azure.microsoft.com) 上发布的第一个链接 - 它也不一定是 Azure SQL 的有效解决方案。

PS Idea 是自动将 DEV 环境推出(使用 ARM 模板)作为当前 Live 环境的副本,并创建数据库作为 Live 数据库的副本。

Kin*_*hah 6

来自BOL

AS COPY OF 参数不支持完全限定的唯一域名。换句话说,如果您的服务器的完全限定域名是serverName.database.windows.net,则serverName在数据库复制期间使用。

所以你的命令应该是

CREATE DATABASE Database1_copy AS COPY OF oldserver.olddatabasenamehere;
Run Code Online (Sandbox Code Playgroud)